Project 13 Touchy-feely Lamp blz 137. terug naar de inleiding
Door op het metal foil te drukken vormt je lichaam een capaciteit in serie met een weerstand
De capaciteit zal zich, door de spanning op de zender pin, in een bepaalde tijd laden dit resulteerd in afnemende spanning over de weerstand.
De sensor zal de laadtijd meten, als die tijd boven een bepaalde drempelwaarde komt zal de led gaan branden.
Zie ook de schets "aanraakverlichting"
Zie de CapacitiveSensor lib. De lib installeren via Hulpmiddelen --> bibliotheken beheren --> in het zoekvenster Capacitive sensor invoeren
Als de lib gevonden in op installeren klikken.
Er zijn vele experimenten met de capacitive sensor mogelijk
// De lib importeren
#include <CapacitiveSensor.h>
// Het object capSensor declareren en initieren
// Eerste argument is pin 4, de zender pin via 1M Ohm verbonden met de condensator
// Tweede argument is pin 2 de ontvanger pin
CapacitiveSensor capSensor = CapacitiveSensor(4, 2);
// drempel waarbij de led gaat branden
int drempelwaarde = 1000;
// pin 12 is de led pin
const int ledPin = 12;
void setup() {
// de serieele verbinding openen
Serial.begin(9600);
// van de ledpin een outputpin maken
pinMode(ledPin, OUTPUT);
}
void loop() {
// De sensorwaarde in de variabele stoppen
// De sensorwaarde is afgeleid van de RC tijd (de tijd om de condensator voor 64 procent op te laden)
// als argument is 60 gekozen waardoor de sensor nog gevoeliger is
long sensorwaarde = capSensor.capacitiveSensor(60);
// De sensorwaarde printen
Serial.println(sensorwaarde);
// De led gaat branden als de sensorwaarde groter is dan de drempelwaarde
if (sensorwaarde > drempelwaarde) {
digitalWrite(ledPin, HIGH);
}
// De led gaat uit als de sensorwaarden onder de drempelwaarde komt
else {
digitalWrite(ledPin, LOW);
}
//Pauze zodat de seriele monitor beter is uit te lezen
delay(10);
}