Arduino capacitane meter with LCD screen

Поделиться
HTML-код
  • Опубликовано: 28 авг 2024
  • A simple capacitance meter using the arduino. The schematic is for Arduino UNO/NANO and all the the breadboard tests are made using the UNO. For different scales I've used a rotary switch to change between scales. There is also a bit of capacitance theory on the video and each part is explained.
    See more details on my www.electronoob...
    my Q&A page: electronoobs.co...
    Help me on Patreon: www.patreon.co...
    Capacitance meter: electronoobs.co...
    Resistance meter: electronoobs.co...
    Current meter: electronoobs.co...
    Inductance meter: electronoobs.co...
    ______________________________________________
    10pF - 4.7nF Code: electronoobs.co...
    1nF - 4F Code: electronoobs.co...
    All in one Code: electronoobs.co...
    ______________________________________________
    Schematic 1: electronoobs.co...
    Schematic 2: electronoobs.co...
    Schematic 3: electronoobs.co...
    ______________________________________________
    Like share and subscribe to motivate me. Thank you

Комментарии • 116

  • @scottmorgan5370
    @scottmorgan5370 Год назад +2

    These Arduino based meters you are doing is just what I've been looking for as my next projects.

  • @WagonLoads
    @WagonLoads 3 года назад +4

    I did something similar using just 2 (555 timers). First timer was a constant frequency and the second one(controlled by unknown cap) was used as a gate time. The larger the cap, the longer the gate time. The number of clock pulses counted going through the gate was equal to the value of the capacitor.

  • @BioRobotics
    @BioRobotics 6 лет назад +6

    Great video. I wasn't expecting all the different types of measuring capacitance. A short summary of what the video was about in the beginning would have been useful.

  • @shffleo6932
    @shffleo6932 Год назад +2

    I watched so many of your videos and you are too helpful, thanks for the high quality contents!

  • @ThuanDuong-pv3xu
    @ThuanDuong-pv3xu 6 лет назад +2

    to: Electronoobs ; ; Your project is the best and careful but the connections between the jumps of ardruino module , jumps of test board, the male jumps of wires, they will be able to make more capacitance and more resistance . I think and I like your project to examine and study . Thank you so much !

  • @starinstrument8548
    @starinstrument8548 10 месяцев назад +2

    Please help me on the code. I use codevision to write the code for atmega328p microcontroller and protuse to see simulation but it read adc value of 961 for 10pf which is not the same with arduino adc value which is 296.

  • @user-he3wh6ub8d
    @user-he3wh6ub8d 8 месяцев назад +1

    Best knowledge ever ❤

  • @Paes64
    @Paes64 5 лет назад +2

    Much better is to measure voltage to 3*RC (threshold = 973) because voltage there changes slower (relative to frequency of measurements) and the measurement will be more accurate.

  •  4 года назад +2

    Thank your explenations. But I think you upload the same code for "low and "high"

  • @syedumarjunaid5499
    @syedumarjunaid5499 6 лет назад +3

    please recheck Cu calculation i think Cu = Va0xC1/Va2-Va0.

  • @michaeljosephkoziol4576
    @michaeljosephkoziol4576 6 лет назад +4

    Great video, but when I tried uploading the sketch to my arduino, I got this error message:
    exit status 1
    Error compiling for board Arduino/Genuino Uno
    Any ideas on what I need to do in order to upload it?

  • @shaikabdulrahim3319
    @shaikabdulrahim3319 Год назад +1

    Hi sir, Is it possible to measure the capacitance when the circuit is working condition.Any suggestions or methods sirs. Thank you sir

  • @namanpassi2584
    @namanpassi2584 6 лет назад +2

    What's the accuracy , precision and error?
    It's important

  • @AlienRelics
    @AlienRelics Год назад +1

    The problem with using the internal pullup is that it is approximate, varies from chip to chip, and changes with temperature and voltage.

  • @hernanmarcucci7500
    @hernanmarcucci7500 4 года назад +1

    just perfect, i will try to built it !!

  • @sarmad3
    @sarmad3 3 года назад +1

    Hi , thank you for your video, I enjoy new information, one question is there any Arduino CCT for testing Supercapacitors?

  • @SQERS3
    @SQERS3 5 лет назад +1

    In capacitance meter from 1pF to 1nF how do you get ADC read value? i have precice value from a know capacitor and max value is always 1023 but where does it show the *ADC real value* ? please help. wish you a nice day

  • @MrWasim100100
    @MrWasim100100 3 года назад +1

    nicely explained

  • @jurgenmartinez6281
    @jurgenmartinez6281 7 лет назад +4

    Is the code you shared for all 4 projects? Inductance, capacitance, current and resistance?
    If that's what I've been looking for, thank you very much and a very good project
    I liked

    • @ELECTRONOOBS
      @ELECTRONOOBS  7 лет назад

      jurgen martinez there is a code for each meter. If you want you could merge them together and use a rotary switch to change between modes. O haven't done that yet. But I'll do it in the future so till then maybe you could try... Keep up!

    • @devashishlahariya5161
      @devashishlahariya5161 7 лет назад

      Electronoobs I do not have a lcd and i just want to use serial monitor of arduino ide please help me

    • @ELECTRONOOBS
      @ELECTRONOOBS  7 лет назад +1

      Just use Serial.println() instead of lcd.print

    • @devashishlahariya5161
      @devashishlahariya5161 7 лет назад

      Electronoobs I tried it but it is not working

    • @rooster443
      @rooster443 5 лет назад

      @@devashishlahariya5161 convert them to a string, send all of them together so it can be done

  • @cameronsays
    @cameronsays 4 года назад +1

    Great video.

  • @narayanbhonsle7544
    @narayanbhonsle7544 4 года назад +1

    How did u get ADC value of 801 on arduino?? Can anyone pls explain? i thought ADC value at 63% is 684... how 801??

  • @FalconXA
    @FalconXA 6 лет назад +1

    Great! I tried to do it, for the first and second circuit, it working perfectly. But I I got the problem when you use Arduino nano for the third circuit. Can you do it using Arduino uno for the third circuit?

  • @techs5564
    @techs5564 6 лет назад +1

    all the time great work

  • @NeonblueIndustries
    @NeonblueIndustries 4 года назад +1

    Fantastico! Grazie!

  • @devashishlahariya5161
    @devashishlahariya5161 7 лет назад +1

    can you make a all in one component tester

  • @lucasospina1365
    @lucasospina1365 7 лет назад +3

    Thanks for this excellent video!
    You can make a tutorial about how to make a frequency meter?
    Regards.

    • @ELECTRONOOBS
      @ELECTRONOOBS  7 лет назад +2

      I will but not soon. My agenda is full!!! Thanks for your support, means a lot to me!!!!

    • @lucasospina1365
      @lucasospina1365 7 лет назад +2

      ELECTRONOOBS I like your videos. I learn too much. Where are you fron?

    • @ELECTRONOOBS
      @ELECTRONOOBS  7 лет назад +1

      lucas ospina I'm from Transilvania but living in Spain

    • @lucasospina1365
      @lucasospina1365 7 лет назад +1

      Ok, ¿entonces te puedo seguir haciendo preguntas en español?

    • @ELECTRONOOBS
      @ELECTRONOOBS  7 лет назад

      lucas ospina por supuesto :)

  • @rolandosalgado1552
    @rolandosalgado1552 6 лет назад +1

    great proyect, thanks for share !!!!

  • @LLyra-vp1od
    @LLyra-vp1od 6 лет назад +1

    Works with arduino leonardo?

  • @TOMTOM-nh3nl
    @TOMTOM-nh3nl 4 года назад +1

    Thank You

  • @omsingharjit
    @omsingharjit 4 года назад

    But i need rang from 1pf to any nf

  • @tunahankaratay1523
    @tunahankaratay1523 5 лет назад +1

    Can you make a capacitor esr/esl meter?

  • @user-fg4zu3lk3d
    @user-fg4zu3lk3d 6 лет назад

    Tell me why when the capacitor is not connected shows 12 nano farads?

  • @MrTigger015
    @MrTigger015 6 лет назад +1

    Arduino_capacitance_meter_high:27: error: within this context
    lcd.init();
    ^
    exit status 1
    within this context
    help

  • @ELECTROGYAN
    @ELECTROGYAN 4 года назад

    Can anybody tell me how DMM(multimeter) measures the Capacitance

  • @DuroLabs85
    @DuroLabs85 3 года назад

    Hey nice I liked this meter but only one thing how can I use the lcd directly with arduino because I don't have any I2C modules can you pls tell ?

  • @rafatkhashan6079
    @rafatkhashan6079 7 лет назад +2

    great works bro

    • @ELECTRONOOBS
      @ELECTRONOOBS  7 лет назад

      Rafat Khashan thank you very much :) your support motivates me:)

  • @dariodelacruz5598
    @dariodelacruz5598 5 лет назад +1

    De casualidad tienes el tutorial en español ?

  • @syedumarjunaid5499
    @syedumarjunaid5499 6 лет назад +1

    in final code you define charge pin to 5 but 10k resistor end is connected to a6 then you define discharge pin 6 but connect 220 ohm resistor end to a1.please correct this mistakes and make one more video and implement all in one capacitance meter and show us its working

  • @naumanhafeez6794
    @naumanhafeez6794 6 лет назад +1

    What frequency it is measuring capacitance at?

    • @martinmartinmartin2996
      @martinmartinmartin2996 6 лет назад

      measuring capacitance at various frequencies is far more sophisticated.
      explanation:
      A capacitor has leads and internal conductors that give rise to Resistive and Inductive
      elements: permanently connected to the capacitive element !
      Hence at sufficiently high frequencies these elements create resistance that varies with frequency
      and resonance due to the inductive reactance that becomes equal to the reactance of the capaciticitor.

  • @filmitech8605
    @filmitech8605 Год назад

    Hello bro i am from India i want to need high precise capacitance meter for diffrent liquids what to do

  • @jerryocrow1
    @jerryocrow1 5 лет назад

    I'm confused. E.g. at 3:30, I simply log the tie it took to reach 63.2% of unknown time which equals 100%. Does that mean Test No1 to log when the voltage stops rising and record as 100% then Test No 2 and stop counting when 63.2%of X is reached?

    • @jerryocrow1
      @jerryocrow1 5 лет назад

      Like: From Los Anggeles, drive 63.2% to New York without knowing the distance between them. So, must know 100% first, then calculate 63.2% of 100%. Right?

  • @atheist_happie
    @atheist_happie Месяц назад

    brother can you provide me code for capacitor meter which doesn't require components like you made i want to test capacitor range 1pf to 1nf thanks time stamp 8.54 i want same meter

  • @ThuanDuong-pv3xu
    @ThuanDuong-pv3xu 6 лет назад

    P/s the latency of OUTPUT, INPUT and cycle of comand (Us_Micro seconds)....so we will have ( + - %) ođ number

  • @syedumarjunaid5499
    @syedumarjunaid5499 6 лет назад +5

    All in one capacitance meter schematic is wrong

  • @bulbulbrahma
    @bulbulbrahma 5 лет назад

    Y the capacitance value is fluctuating?

  • @xooxmars495
    @xooxmars495 3 года назад +1

    Amazing...

  • @Chems7308
    @Chems7308 Месяц назад

    The code is not opening,help me

  • @hernanmarcucci7500
    @hernanmarcucci7500 4 года назад

    why the arduino discharge the capacitor ??

  • @ashadalmahmud7832
    @ashadalmahmud7832 9 месяцев назад

    Site for code is not opening.Please fix it.

  • @carlosmd6669
    @carlosmd6669 3 года назад

    Hola amigo los enlaces de los codigos estan rotos igual es sencillo el codigo, la genialidad de lo simple...te dejo un merecido like

  • @digitaldata-surveying
    @digitaldata-surveying 6 лет назад

    Can I add all modules in one arduino chip and how
    I’m an arduino beginner

  • @hansdegroot652
    @hansdegroot652 4 года назад

    Hi, great video but I realy do not understand how you would know when a capacitor is charged 100%. You get 63.2% of what? IN this case you use the 5 volt of the arduino and you wait until you reach 3.6 volt (63.2% of 5 volt) and see how long it took to get there. But what if you do this at 3.3 volt? do you that wait until you reach 2.0856 volts? (63.2% of 3.3) and get the same answer? Does it work that way? It has just been something I have been wondering about. They say you need a capacitor of x Farad in a certain example. But my projects never match the voltages and that alway makes me wonder if I should use a different cap or not. (yes I know about the volt limit on the cap and to stay well below it) but for eaxmaple: suppose you have a 1uf 160 volt cap and a 1uf 16 volt cap and you use it at max 5 volts would they behave the same?

  • @xsoul6838
    @xsoul6838 5 лет назад

    How to combine all projects in one arduino please share code like for resistance capacitance and currant

  • @jugalmistry1726
    @jugalmistry1726 7 лет назад

    We can also use inductance meter as capacitance meter also,then why this ?

  • @ahmedbenamor4849
    @ahmedbenamor4849 4 года назад

    Can this measure the human body capacitance ?

  • @ivolol
    @ivolol 2 года назад

    You misspelled capacitance in the title

  • @DaleIsWigging
    @DaleIsWigging 7 лет назад

    In your code you say "remember to check out my youtube channel, but there is no mention of your name or any links", you might want to add some for people who may find the code elsewhere....
    ...or you might not want to do that, just bringing it up just in case.

    • @ELECTRONOOBS
      @ELECTRONOOBS  7 лет назад

      Thanks, but I think the channel link is shared! It's shared in the downloaded ZIP code not on my webpage, since my webpage is full of RUclips links and all. Keep up!

  • @isprithul
    @isprithul 7 лет назад +1

    Very nice an accurate measurement, but I can not make this because I don't have a oscilloscope. So I can't calibrate it. :(

    • @ELECTRONOOBS
      @ELECTRONOOBS  7 лет назад

      Use any other capacitance meter or a capacitor that you know its value to test the meter.

  • @khurramshahzad2475
    @khurramshahzad2475 2 года назад

    hellow sir how are you please make the battery impedance meter at home

  • @syed905
    @syed905 3 года назад

    Bro plz make a multimeter with capacitor and inductive meter with Arduino...

  • @michaeljoshuamanallo1742
    @michaeljoshuamanallo1742 2 года назад

    Bro I want it to be an oled please

  • @itzalu
    @itzalu 4 года назад

    This code is not work..
    I use a arduino nano and 16x2 i2c display....
    But I think this code is for 20x4 i2c display.. Please help me🙏🙏

    • @ELECTRONOOBS
      @ELECTRONOOBS  4 года назад

      That doesn't matter. Try different i2c address sometimes is 0x3f and sometimes is 0x27. In the first lines of code also change from 20, 4 to 16, 2. Good day!

    • @itzalu
      @itzalu 4 года назад

      But when i upload the code the display show noting..
      What's the problem?

    • @ELECTRONOOBS
      @ELECTRONOOBS  4 года назад

      @@itzalu did you tried both i2c addresses?

    • @itzalu
      @itzalu 4 года назад

      I try my i2c code and its 0x23

    • @aadisingh5086
      @aadisingh5086 3 года назад

      1st test your display under liquid display hellow word example with matching add setting

  • @anilgayakwad6433
    @anilgayakwad6433 Год назад

    Does Anyone tried with ESP32 please let me know

  • @hacksci4fun439
    @hacksci4fun439 7 лет назад

    how to modify i2c skech to parral lcd

    • @pache2410
      @pache2410 7 лет назад

      //LCD config
      // include the library code:
      #include
      // initialize the library with the numbers of the interface pins
      LiquidCrystal lcd(13, 12, 11, 10, 9, 8);
      #define analogPin 0
      #define chargePin 7
      #define dischargePin 6
      #define resistorValue 10000.0F //Remember, we've used a 10K resistor to charge the capacitor
      unsigned long startTime;
      unsigned long elapsedTime;
      float microFarads;
      float nanoFarads;
      void setup(){
      lcd.begin(16, 2);
      pinMode(chargePin, OUTPUT);
      digitalWrite(chargePin, LOW);
      }
      void loop(){
      digitalWrite(chargePin, HIGH);
      startTime = micros();
      while(analogRead(analogPin) < 648){
      }
      elapsedTime= micros() - startTime;
      microFarads = ((float)elapsedTime / resistorValue) ;

      if (microFarads > 1){
      lcd.clear();
      lcd.setCursor(0,0);
      lcd.print("SCALE: 0.1uF-4F");
      lcd.setCursor(0,1);
      lcd.print(microFarads);
      lcd.setCursor(14,1);
      lcd.print("uF");
      delay(500);
      }
      else{
      nanoFarads = microFarads * 1000.0;
      lcd.clear();
      lcd.setCursor(0,0);
      lcd.print("SCALE: 0.1uF-4F");
      lcd.setCursor(0,1);
      lcd.print(nanoFarads);
      lcd.setCursor(14,1);
      lcd.print("nF");
      delay(500);
      }
      digitalWrite(chargePin, LOW);
      pinMode(dischargePin, OUTPUT);
      digitalWrite(dischargePin, LOW); //discharging the capacitor
      while(analogRead(analogPin) > 0){
      }//This while waits till the capaccitor is discharged
      pinMode(dischargePin, INPUT); //this sets the pin to high impedance
      lcd.setCursor(0,0);
      lcd.print("DISCHARGING.....");
      lcd.setCursor(0,1);

      }

    • @hacksci4fun439
      @hacksci4fun439 7 лет назад

      Is it for parrlal lcd lc meter :) ?

    • @hacksci4fun439
      @hacksci4fun439 7 лет назад

      Oohhh how Manny times I need to replace it with ????

    • @pache2410
      @pache2410 7 лет назад +1

      pin 6 discharge pin 7 charge
      rest of pins
      11 10 9 8= D4 D5 D6 D7 In LCD
      13 RS 12 E

    • @pache2410
      @pache2410 7 лет назад +1

      //scale 10pf to 4,7 nano
      // include the library code:
      #include
      // initialize the library with the numbers of the interface pins
      LiquidCrystal lcd(13, 12, 11, 10, 9, 8);
      const int OUT_PIN = A2;
      const int IN_PIN = A0;
      const float IN_STRAY_CAP_TO_GND = 24.48;
      const float IN_CAP_TO_GND = IN_STRAY_CAP_TO_GND;
      const float R_PULLUP = 34.8;
      const int MAX_ADC_VALUE = 1023;
      void setup() {
      // set up the LCD's number of columns and rows:
      lcd.begin(16, 2);
      pinMode(OUT_PIN, OUTPUT);
      pinMode(IN_PIN, OUTPUT);
      }
      void loop()
      {
      pinMode(IN_PIN, INPUT);
      digitalWrite(OUT_PIN, HIGH);
      int val = analogRead(IN_PIN);
      digitalWrite(OUT_PIN, LOW);
      if (val < 1000)
      {
      pinMode(IN_PIN, OUTPUT);
      float capacitance = (float)val * IN_CAP_TO_GND / (float)(MAX_ADC_VALUE -
      val);
      lcd.setCursor(0,0);
      lcd.print("Scale: 1pF-1nF");
      lcd.setCursor(0,1);
      lcd.print(capacitance,3);
      lcd.setCursor(14,1);
      lcd.print("pF");
      }
      else
      {
      pinMode(IN_PIN, OUTPUT);
      delay(1);
      pinMode(OUT_PIN, INPUT_PULLUP);
      unsigned long u1 = micros();
      unsigned long t;
      int digVal;
      do
      {
      digVal = digitalRead(OUT_PIN);
      unsigned long u2 = micros();
      t = u2 > u1 ? u2 - u1 : u1 - u2;
      }
      while ((digVal < 1) && (t < 400000L));
      pinMode(OUT_PIN, INPUT);
      val = analogRead(OUT_PIN);
      digitalWrite(IN_PIN, HIGH);
      int dischargeTime = (int)(t / 1000L) * 5;
      delay(dischargeTime);
      pinMode(OUT_PIN, OUTPUT);
      digitalWrite(OUT_PIN, LOW);
      digitalWrite(IN_PIN, LOW);
      float capacitance = -(float)t / R_PULLUP / log(1.0 - (float)val / (float)MAX_ADC_VALUE);
      lcd.setCursor(0,0);
      lcd.print("Scale: 1pF-1nF");
      if (capacitance > 1000.0)
      {
      lcd.setCursor(0,1);
      lcd.print(capacitance / 1000.0, 2);
      lcd.setCursor(14,1);
      lcd.print("uF ");
      }
      else
      {
      lcd.setCursor(0,1);
      lcd.print(capacitance);
      lcd.setCursor(14,1);
      lcd.print("nF");
      }
      }
      while (micros() % 1000 != 0);
      }

  • @Milkex
    @Milkex 5 лет назад

    your voice is fucking amazing, make some jokes. Hell, make some jokes in your little info-tainment banners

  • @abdulshaffay1706
    @abdulshaffay1706 7 лет назад

    thanks for helping me but i haven't i2c bus

    • @pache2410
      @pache2410 7 лет назад

      Tell me your email and I'll send you the schemetic and code

    • @abdullahalrumon4267
      @abdullahalrumon4267 7 лет назад

      i also have no i2c bus.... email rumon31416@gmal.com .. pls send me the code...would b so grateful

  • @ChickenPermissionOG
    @ChickenPermissionOG 4 года назад

    Why do you say these words so weird?

  • @yoramstein
    @yoramstein 5 лет назад

    Nice video. "Current" you pronouns it ïn English "Karent" not current. Always "U" in the beginning becomes A. Capitol of Irelannd you write it "Dublin" but speak it "Dablin". "Lumber"(wood) you speak it "Lamber"

  • @dariodelacruz5598
    @dariodelacruz5598 5 лет назад

    De casualidad tienes el tutorial en español ?