Stap 1: Capaciteit meten met de Arduino Uno
Er zijn tal van voorbeelden van hoe dit te doen op het internet, maar I 'm gonna een ongelooflijk eenvoudige manier om het te suggereren. Laten we beginnen met de theorie.
Arduino code
Const int OUT_PIN = A2;
Const int IN_PIN = A0;
Capaciteit tussen IN_PIN en grond //Stray capaciteit is altijd aanwezig. Extra capaciteit kan worden toegevoegd aan de hogere capaciteit van de //allow te meten. Const float IN_STRAY_CAP_TO_GND = 24,48; Aanvankelijk was dit 30,00 const float IN_EXTRA_CAP_TO_GND = 0,0; Const float IN_CAP_TO_GND = IN_STRAY_CAP_TO_GND + IN_EXTRA_CAP_TO_GND; Const int MAX_ADC_VALUE = 1023;
void setup {pinMode (OUT_PIN, OUTPUT); //digitalWrite (OUT_PIN, laag); //This is de standaardstatus voor uitgangen pinMode (IN_PIN, OUTPUT); //digitalWrite (IN_PIN, laag);
Serial.begin(9600); }
void loop {//Capacitor beproeven tussen OUT_PIN en IN_PIN digitalWrite (OUT_PIN, hoog), de hoge rand //Rising op OUT_PIN pinMode (IN_PIN, INPUT); int val = analogRead(IN_PIN);
Schakel alles voor volgende meting digitalWrite (OUT_PIN, laag); pinMode (IN_PIN, uitvoer);
Berekenen en afdrukken van resultaat
zweven capaciteit = (float) val * IN_CAP_TO_GND / (float) (MAX_ADC_VALUE - val);
Serial.Print (F ("precisiecapaciteit waarde =")); Serial.Print (capaciteit, 3); Serial.Print (F ("pF (")); Serial.Print(val); Serial.println(F(")"));
terwijl (millis() % 500! = 0); }
Dank u