#include LiquidCrystal lcd(12, 11, 5, 4, 3, 2);// RS,E,D4,D5,D6,D7 void setup(){ lcd.begin(16, 2);// LCD 16X2 pinMode(A0,INPUT); } unsigned long time0,time1,time2; float c,null0; byte kn,mk,i; void loop(){ lcd.setCursor(15,0); lcd.print("*"); if(mk==0){ pinMode(8,OUTPUT); pinMode(7,INPUT); digitalWrite(8,HIGH); } if(mk==1){ pinMode(7,OUTPUT); pinMode(8,INPUT); digitalWrite(7,HIGH); } time0=micros(); while(analogRead(A0)<644){ time2=micros()-time0; if(time2>=1000000 && mk==0){ mk=1; time0=100000000; break; } } time1=micros()-time0; while(analogRead(A0)>0){ pinMode(7,OUTPUT); pinMode(8,OUTPUT); digitalWrite(7,LOW); digitalWrite(8,LOW); } if(mk==1&&time1<1000){ mk=0; } lcd.setCursor(1,0); c=time1; c=c/1000-null0; c=abs(c); if(time1>=10000000){ lcd.setCursor(1,0); lcd.print(" TEST uF "); } else{ lcd.print(c); if(mk==0){ lcd.print(" nF "); } if(mk==1){ lcd.print(" uF "); } } if(i==0){ i++; null0=c+0.02; } delay(100); }