Stap 4: Arduino Code: bevat de belangrijkste concepten
Er zijn een paar belangrijke begrippen in de code van de Arduino.1. Activeer een LED als de sensor is aangeraakt.
Om dat te doen moeten we de vertraging (total1) te meten en te vergelijken met een drempelwaarde BV
=============
VOID Setup void loop
{
… Sommige setup spullen...
}
{
total1 = cs_9_6.capacitiveSensor(30); Meten van de GLB-zin-waarde van de Sensor
Als (total1 > drempel) {}
digitalWrite (LedPin, hoge);
}
else {}
digitalWrite(LedPin,LOW);
}
}
=======
Dat is vrij eenvoudig. Maar wat moet de drempelwaarde?
De waarde van de total1 van vertraging we terug lezen varieert van dag tot dag, omdat het is zeer gevoelig voor capaciteit (dat is het hele idee), maar het betekent dat we kunnen niet zomaar in een vaste drempelwaarde omdat het anders onder verschillende omstandigheden zal zijn.
Om ervoor te zorgen hebben we een passende drempelwaarde, moeten we de drempelwaarde meten tijdens een reeks kalibratie aan het begin van de code.
We doen dit als volgt. We initialiseren ik = 0 tijdens Setup en kalibreren voor de eerste 50 iteraties van loop. De LED knippert tijdens de kalibratie en we hoeven om te raken van de sensor om te bepalen van de juiste waarde van de drempel.
=======
void loop Aanraken van de Sensor, terwijl de LED is hoog om te kalibreren van de TOUCH-waarde
{
total1 = cs_9_6.capacitiveSensor(30); / / Meten van de GLB-zin-waarde van de Sensor
als (ik < 50) { / / Sensor kalibreren basislijn start
digitalWrite (LedPin, hoge);
calVal1 = 0.1*float(total1) + 0,9 * calVal1;
Serial.println(calVal1); / / calibartion waarde afdrukken tijdens kalibratie-cyclus
delay(50);
digitalWrite (LedPin, laag);
delay(50);
i ++;
}
}
=======
De code:
calVal1 = 0.1*float(total1) + 0,9 * calVal1;
implementeert een digitaal filter. Het werkt door te wegen het heeft output 90% ten behoeve van oude outputs; nieuwe gegevens slechts goed voor een 10% weging. Dit geeft ons een betrouwbare kalibratie-waarde, calVal1 door het uitfilteren van storing op de lezingen.
Wij drukken in de code de calVal1 naar de seriële Monitor. Neem een kijkje op het te zien hoe groter het vlot naar de waarde van de total1 .
De Volgende stap toont de volledige Code van de Arduino voor dit Experiment