const int analogPin = A0; const int chargePin = 7 ; const int dischargePin = 6; float resistorValue = 1000 // Value of known resistor in ohm unsigned long startTime; unsigned long elapsedTime; float microFarads; void setup() { Serial.begin(9600); pinMode(chargePin, OUTPUT); digitalWrite(chargePin, LOW); } void loop() { digitalWrite(chargePin, HIGH); startTime = millis(); while(analogRead(analogPin) < 648){} elapsedTime = millis() - startTime; microFarads = ((float)elapsedTime / resistorValue) * 1000; if (microFarads > 1) { Serial.print("Value = "); Serial.print((long)microFarads); Serial.println(" microFarads"); Serial.print("Elapsed Time = "); Serial.print(elapsedTime); Serial.println("mS"); Serial.println("--------------------------------"); } else { Serial.println("Please connect Capacitor!"); delay(1000); } digitalWrite(chargePin, LOW); pinMode(dischargePin, OUTPUT); digitalWrite(dischargePin, LOW); while(analogRead(analogPin) > 0) {} pinMode(dischargePin, INPUT); }