Arduino Lektion 92: kapazitiver Touch Sensor
In diesem Beitrag möchte ich den kapazitiven Touch Sensor vorstellen.

Im Tutorial Arduino Lektion 86: kapazitives Touchpad MPR121 habe ich bereits ein Board mit kapazitiven Touch Sensoren vorgestellt, dieses kleine Board funktioniert jedoch über einen digitalen Pin statt mit I2C (hat ja auch nur eine „Schaltfläche“).
Inhaltsverzeichnis
Bezug
Diesen Sensor gibt es für wenig Geld bei zbsp. MakerShop auf ebay.de kaufen. Dieser Shop hat seinen Sitz in Deutschland und somit hat man in diesem Fall nicht nur den günstigsten Preis sondern auch den schnellsten Versand (dauer ca. 3 Tage).
Lieferumfang
Der Sensor wird in einer antistatischen Folie versendet und wenn man mehrere bestellt sind die Platinen verbunden. Jedoch durch eine Sollbruchstelle kann man diese leicht trennen.
Leider gehört nicht zum Lieferumfang eine 3 Pin Stiftleiste, diese benötigt man wenn man den Sensor mit Breadboardkabeln an einen Microcontroller anschließen möchte. Diese Stiftleisten kann man aber in 40Pin Streifen auch auf ebay.de erwerben.

Technische Daten
- Betriebsspannung 5V
- Abmaße (LxB) 10,5mm x 5mm
Anschluss & Schaltung
Der Sensor verfügt über 3 Pins welche mit „VCC“, „I/O“ und „GND“ beschriftet sind.

Der Anschluß an einen Arduino UNO kompatiblen Microcontroller ist denkbar einfach.
kap. Touch Sensor | Arduino UNO |
---|---|
GND | GND |
I/O | digitaler Pin 3 |
VCC | 5V |
Der Sensor verfügt zusätzlich über eine leuchtstarke, rote SMD LED welche den Zustand anzeigt.
Empfindlichkeit des Sensors
Der Sensor ist sehr empfindlich, d.h. das man nicht direkt auf diesen Tippen muss um ein Signal zu senden sondern es reicht aus wenn man ca. 3-5mm über dem Sensor seinen Finger hält.

Quellcode
Im nachfolgenden möchte ich ein kleines Beispiel zeigen wie man mit 5 Touch Sensoren jeweils eine LED steuern kann. Dieses bespiel ist sehr einfach aber der kapazitive Touch Sensor ist ja jetzt nicht der aufwendige Sensor.
//definieren der angeschlossenen kapazitiven Touch Sensoren #define cap_touch_sensor_1 3 #define cap_touch_sensor_2 4 #define cap_touch_sensor_3 5 #define cap_touch_sensor_4 6 #define cap_touch_sensor_5 7 //definieren der LEDs #define led_1 8 #define led_2 9 #define led_3 10 #define led_4 11 #define led_5 12 //Variablen für den Status der LEDs int led_state_1 = LOW; int led_state_2 = LOW; int led_state_3 = LOW; int led_state_4 = LOW; int led_state_5 = LOW; void setup() { //setzen der digitalen Pins der kapazitiven Touch Sensoren als Eingang pinMode(cap_touch_sensor_1, INPUT); pinMode(cap_touch_sensor_2, INPUT); pinMode(cap_touch_sensor_3, INPUT); pinMode(cap_touch_sensor_4, INPUT); pinMode(cap_touch_sensor_5, INPUT); //setzen der digitalen Pins der LED als Ausgang pinMode(led_1, OUTPUT); pinMode(led_2, OUTPUT); pinMode(led_3, OUTPUT); pinMode(led_4, OUTPUT); pinMode(led_5, OUTPUT); //setzen der initial Werte für die LEDs digitalWrite(led_1, led_state_1); digitalWrite(led_2, led_state_2); digitalWrite(led_3, led_state_3); digitalWrite(led_4, led_state_4); digitalWrite(led_5, led_state_5); } void loop() { //lesen der Status des kapazitiven Touch Sensors Nr.1 //(der Status kann HIGH (1) oder LOW (0) sein) led_state_1 = digitalRead(cap_touch_sensor_1); //schreiben des gelesenen Wertes auf den Pin der LED digitalWrite(led_1, led_state_1); led_state_2 = digitalRead(cap_touch_sensor_2); digitalWrite(led_2, led_state_2); led_state_3 = digitalRead(cap_touch_sensor_3); digitalWrite(led_3, led_state_3); led_state_4 = digitalRead(cap_touch_sensor_4); digitalWrite(led_4, led_state_4); led_state_5 = digitalRead(cap_touch_sensor_5); digitalWrite(led_5, led_state_5); }
Damit dieser Sketch ordentlich arbeiten kann darf kein „delay“ eingesetzt werden.
Video
Danke für die super Beschreibung,
Wissen sie ob der Sensor unter einer Messingplakete funktioniert?
Wir würden gerne für unseren Escape Room unter einer Messingplakete einen solchen Touch Sensor anbringen.
Hi Stephanie,
danke für dein Kommentar.
Das ist eine sehr gute Frage, ich habe leider keine Messingplatte da. Aber ich probiere das mal mit einer Aluminiumplatte aus.
Gruß,
Stefan
Hallo Stephanie,
ich habe mir mal die Zeit gerade genommen und was aufgebaut.
In dem Beitrag https://draeger-it.blog/arduino-lektion-92-kapazitiver-touch-sensor-test-mit-einer-aluminiumplatte/ findest du das Ergebnis zu deiner Frage.
Gruß,
Stefan Draeger
Pingback:Arduino Lektion #92: kapazitiver Touch Sensor - Test mit einer Aluminiumplatte - Technik Blog