
Arduino uno: http://ali.ski/gC_mOa
Диоды и резисторы: http://fas.st/KK7DwjyF
Контактные провода: http://ali.ski/Exjr3
Макетная плата: http://ali.ski/rq8wz8
Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.
Данный пример я нашел на официальном сайте Arduino.cc. Собственно там же и взял схему. Мне кажется очень полезная вещь, если у Вас много конденсаторов, если вы работаете с электроникой и непонятно вздулся ли конденсатор или нет, то проверить это легко с помощью данного прибора.
Принципиальная схема приведена в начале статьи. А визуально понятная для новичка схема показана в видео в конце статьи.
Необходимо скопировать программный код приведенный ниже и вставить его в программу Arduino IDE и загрузить этот программный код в саму плату Arduino.
/* RCTiming_capacitance_meter
* Paul Badger 2008
* Demonstrates use of RC time constants to measure the value of a capacitor
*
* Theory A capcitor will charge, through a resistor, in one time constant, defined as T seconds where
* TC = R * C
*
* TC = time constant period in seconds
* R = resistance in ohms
* C = capacitance in farads (1 microfarad (ufd) = .0000001 farad = 10^-6 farads )
*
* The capacitor's voltage at one time constant is defined as 63.2% of the charging voltage.
*
* Hardware setup:
* Test Capacitor between common point and ground (positive side of an electrolytic capacitor to common)
* Test Resistor between chargePin and common point
* 220 ohm resistor between dischargePin and common point
* Wire between common point and analogPin (A/D input)
*/
#define analogPin 0 // analog pin for measuring capacitor voltage
#define chargePin 13 // pin to charge the capacitor - connected to one end of the charging resistor
#define dischargePin 11 // pin to discharge the capacitor
#define resistorValue 10000.0F // change this to whatever resistor value you are using
// F formatter tells compliler it's a floating point value
unsignedlong startTime;
unsignedlong elapsedTime;
float microFarads; // floating point variable to preserve precision, make calculations
float nanoFarads;
voidsetup(){
pinMode(chargePin,OUTPUT); // set chargePin to output
digitalWrite(chargePin,LOW);
Serial.begin(9600); // initialize serial transmission for debugging
}
voidloop(){
digitalWrite(chargePin,HIGH); // set chargePin HIGH and capacitor charging
startTime =millis();
while(analogRead(analogPin)<648){ // 647 is 63.2% of 1023, which corresponds to full-scale voltage
}
elapsedTime=millis()- startTime;
// convert milliseconds to seconds ( 10^-3 ) and Farads to microFarads ( 10^6 ), net 10^3 (1000)
microFarads =((float)elapsedTime / resistorValue)*1000;
Serial.print(elapsedTime); // print the value to serial port
Serial.print(" mS "); // print units and carriage return
if(microFarads >1){
Serial.print((long)microFarads); // print the value to serial port
Serial.println(" microFarads"); // print units and carriage return
}
else
{
// if value is smaller than one microFarad, convert to nanoFarads (10^-9 Farad).
// This is a workaround because Serial.print will not print floats
nanoFarads = microFarads *1000.0; // multiply by 1000 to convert to nanoFarads (10^-9 Farads)
Serial.print((long)nanoFarads); // print the value to serial port
Serial.println(" nanoFarads"); // print units and carriage return
}
/* dicharge the capacitor */
digitalWrite(chargePin,LOW); // set charge pin to LOW
pinMode(dischargePin,OUTPUT); // set discharge pin to output
digitalWrite(dischargePin,LOW); // set discharge pin LOW
while(analogRead(analogPin)>0){ // wait until capacitor is completely discharged
}
pinMode(dischargePin,INPUT); // set discharge pin back to input
}
Ссылочка на скетч ардуино: https://www.arduino.cc/en/Tutorial/CapacitanceMeter#
Ссылчока на проэкт на русском: http://cxem.net/arduino/arduino165.php
Демонстрация работы данной программы можно увидеть в видео приведенном в конце статьи.