Capacitieve Touch LED Schakelaar met Arduino UNO – Eenvoudig DIY Project
Onderdelen en Benodigdheden
| Onderdeel | Aantal |
|---|---|
| Arduino UNO | 1 |
| LED (standaard) | 1 |
| Jumper wires | 4 |
| Weerstand 1 MΩ | 1 |
| Aluminiumfolie of muntstuk (sensor) | 1 |
Over dit Project
We maken een aanraaksensor met een muntstuk die werkt op basis van de Arduino CapacitiveSensor-bibliotheek. De sensor schakelt een LED in/uit bij aanraking. Capacitieve sensoren detecteren geleidende objecten (zoals de menselijke hand) of materialen met een andere permitiviteit dan lucht.
De bibliotheek zet twee of meer Arduino-pinnen om in een capacitieve sensor. Alles wat je nodig hebt is een hoge weerstand, een draadje en een stuk aluminiumfolie aan het eind. Op maximale gevoeligheid reageert de sensor al op een hand op enkele centimeters afstand.
Schakeling en Werking
Het is een eenvoudig RC-circuit (Weerstand-Condensator). Door de tijd te meten die het duurt om van de ene toestand in de andere over te gaan, krijg je een benadering van de afstand (we weten de capaciteit van het menselijk lichaam, de hoge weerstand en de sensor). De hoge weerstand zorgt voor een lage ontlaadtijd.
Als sensormateriaal kun je elk metaalobject gebruiken: een munt, aluminiumfolie, een schroef, etc.
Software
De aan/uit-functie wordt bestuurd door de sketch in de Arduino. Installeer eerst de CapacitiveSensor-bibliotheek via de Library Manager of vanaf GitHub.
Hardware-opstelling
- Plaats de 1 MΩ weerstand tussen pin 2 en pin 4 van de Arduino.
- Pin 4 is de ontvangstpin (sensor) – Verbind de munt/folie hiermee.
- Sluit de LED aan tussen GND en pin 8 (met een 220Ω weerstand in serie).
Testen
Bij aanraking van de sensor wisselt de LED van toestand. Een grotere weerstand maakt de sensor gevoeliger en werkt als nabijheidssensor.
Code
#include <CapacitiveSensor.h>
CapacitiveSensor cs_2_4 = CapacitiveSensor(2, 4); // 1M tussen pin 2 & 4, pin 4 = sensor
const int ledPin = 8;
bool state = HIGH;
bool prevReading = LOW;
unsigned long lastToggle = 0;
const unsigned long debounce = 200;
void setup() {
pinMode(4, INPUT);
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, state);
}
void loop() {
long sensorValue = cs_2_4.capacitiveSensor(30); // 30 samples
bool reading = (sensorValue > 500); // drempelwaarde aanpassen naar behoefte
if (reading == HIGH && prevReading == LOW && millis() - lastToggle > debounce) {
state = !state;
digitalWrite(ledPin, state);
lastToggle = millis();
}
prevReading = reading;
}
Schema
Zie de bijgevoegde schematische tekening voor de exacte bedrading.
Productieproces
- Een LED Besturen met een PIR-bewegingssensor op Raspberry Pi
- Een Multi-sensor Temperatuur- & Lichtmonitoringssysteem Bouwen met Raspberry Pi & DS18B20
- Raspberry Pi-gebaseerde badkamerbezet-sensor met spraak- en SMS-waarschuwingen via Twilio
- Digitale Lichtsensor – LED Aansturen met Omgevingslicht via Windows 10 IoT Core
- Temperatuur- en vochtigheidsdata overdragen tussen twee Arduinos via Firebase
- Gebarenbestuurde RGB-tafellamp – Interactief, Handvrij Verlichten
- Arduino Uno Gebaseerde Mensendetectie Robot: Stap-voor-stap Sensorintegratie
- Bouw een betrouwbare infrarode hartslagsensor met Arduino: stapsgewijze handleiding
- Bouw een Android-bestuurd extern voertuig met Raspberry Pi Motor Shield
- Bouw een Slimme IoT Pot met ESP8266, Arduino & Ultrasonische Sensor – Real-time Monitoring
- Bouw een Sensor Toren met Arduino Cloud: Temperatuur, Beweging & Gas Monitoring