Stap 5: Upload Code & Test
Nadat alles correct is aangesloten, uploaden de onderstaande code naar je Arduino. De code is toegelicht dat voor beter begrip van het proces achter de meting.
// Initialize Pinsint analogPin = 0; int chargePin = 13; int dischargePin = 11; //speeds up discharging process, not necessary though// Initialize Resistor int resistorValue = 10000;// Initialize Timer unsigned long startTime; unsigned long elapsedTime;// Initialize Capacitance Variables float microFarads; float nanoFarads;void setup() { pinMode(chargePin, OUTPUT); digitalWrite(chargePin, LOW); Serial.begin(9600); // Necessary to print data to serial monitor over USB }void loop() { digitalWrite(chargePin, HIGH); // Begins charging the capacitor startTime = millis(); // Begins the timer while(analogRead(analogPin) < 648) { // Does nothing until capacitor reaches 63.2% of total voltage } elapsedTime= millis() - startTime; // Determines how much time it took to charge capacitor microFarads = ((float)elapsedTime / resistorValue) * 1000; Serial.print(elapsedTime); Serial.print(" mS "); if (microFarads > 1) // Determines if units should be micro or nano and prints accordingly { Serial.print((long)microFarads); Serial.println(" microFarads"); } else { nanoFarads = microFarads * 1000.0; Serial.print((long)nanoFarads); Serial.println(" nanoFarads"); delay(500); } digitalWrite(chargePin, LOW); // Stops charging capacitor pinMode(dischargePin, OUTPUT); digitalWrite(dischargePin, LOW); // Allows capacitor to discharge while(analogRead(analogPin) > 0) { // Do nothing until capacitor is discharged } pinMode(dischargePin, INPUT); // Prevents capacitor from discharging }
Nadat de code is gedaan uploaden, open de seriële Monitor (Tools > seriële Monitor) om weer te geven van de meting van de onbekende condensator.
De eerste waarde is hoe lang het duurde de condensator te bereiken 63,2% van de totale kosten. De tweede waarde is de berekende capaciteit in "nano" of "micro" Farad.
Het programma zal herhaaldelijk de condensator test en waarden kunnen lichtjes variëren. Het is het beste te nemen van het gemiddelde van deze waarden.
Opmerking: Deze sensor is meest accurate voor precisiecapaciteit waarden tussen 1 μF tot 3500 μF.