Ihr Webbrowser (Internet Explorer) ist veraltet. Aktualisieren Sie Ihren Browser für mehr Sicherheit, Geschwindigkeit und den besten Komfort auf dieser Seite: http://outdatedbrowser.com

Kapazitive SensorenAnschließen und verwenden

Beyond the Screen Keyvisual – Kapazitive Sensoren

Kapazitive Sensoren sind einfach verwendbare Berührungssensoren, die aus einer beliebig großen, beliebig geformten Fläche eines leitenden Materials (z.B. Aluminium oder Kupfer) bestehen. Mit ihnen lassen sich problemlos sehr freie Interface-Elemente wie spielbare Klaviertasten umsetzen!

Das brauchst Du

  • 1 x leitende Fläche (z.B. Alufolie in beliebiger Form/Größe, Kupferplatte, leitender Faden, Klammer…)
  • 1 x Arduino-Board
  • 3 x Kabel
  • 1 x Widerstand (möglichst groß, z.B. 1 Mio Ohm)
  • 1 x Breadboard

How To

Beyond the screen Slider Image – Um den kapazitiven Sensor als Trigger im Arduino erkennen zu können, muss er richtig mit diesem verbunden werden. So geht’s:  Verbinde ein Kabel fest mit der leitenden Fläche (dem eigentlichen Sensor). Dazu kann es z.B. mit Heißkleber festgeklebt werden. Aber Achtung: Beim Befestigen muss das nicht isolierte Kabel direkt die Fläche berühren, pass also auf, dass keine Klebeschicht dazwischen gerät! In unserem Beispiel nutzen wir eine einfache Klammer.

Um den kapazitiven Sensor als Trigger im Arduino erkennen zu können, muss er richtig mit diesem verbunden werden. So geht’s: Verbinde ein Kabel fest mit der leitenden Fläche (dem eigentlichen Sensor). Dazu kann es z.B. mit Heißkleber festgeklebt werden. Aber Achtung: Beim Befestigen muss das nicht isolierte Kabel direkt die Fläche berühren, pass also auf, dass keine Klebeschicht dazwischen gerät! In unserem Beispiel nutzen wir eine einfache Klammer.

Beyond the screen Slider Image – Stecke das noch offene Ende des Kabels in das Breadboard, und verbinde es mit dem Stromkreis, der in unserem Beispiel von Port 2 über einen Widerstand zu Port 4 geht. (Schaue dir die Grafik am Ende dieses Sliders an, wenn du nicht sicher bist.) Voilà, damit ist der kapazitive Sensor bereits korrekt angeschlossen und kann nun verwendet werden, um Berührungen auf der leitenden Fläche zu erkennen!

Stecke das noch offene Ende des Kabels in das Breadboard, und verbinde es mit dem Stromkreis, der in unserem Beispiel von Port 2 über einen Widerstand zu Port 4 geht. (Schaue dir die Grafik am Ende dieses Sliders an, wenn du nicht sicher bist.) Voilà, damit ist der kapazitive Sensor bereits korrekt angeschlossen und kann nun verwendet werden, um Berührungen auf der leitenden Fläche zu erkennen!

Beyond the screen Slider Image – Ein kleiner Tipp: Es ist wichtig, dass Du einen möglichst großen Widerstand verbaust, da der Sensor so viel genauer wird bzw. Du im Code genauer auslesen kannst, wie groß die Spannungsunterschiede sind.

Ein kleiner Tipp: Es ist wichtig, dass Du einen möglichst großen Widerstand verbaust, da der Sensor so viel genauer wird bzw. Du im Code genauer auslesen kannst, wie groß die Spannungsunterschiede sind.

Beyond the screen Slider Image – Und hier findest Du noch mal die Schaltungen übersichtlich in einer Grafik, falls Dir das jetzt eben doch etwas zu schnell ging.

Und hier findest Du noch mal die Schaltungen übersichtlich in einer Grafik, falls Dir das jetzt eben doch etwas zu schnell ging.

Der Code

Nun geht es ans Coden! Damit Du nun den kapazitiven Sensor auch wirklich nutzen kannst, musst Du zunächst die Library <CapacitiveSensor.h> importieren („#include <CapacitiveSensor.h>“). Nun weiß Dein Code, was ein kapazitiver Sensor ist, weiß aber leider nicht automatisch, ob und wo gerade einer an den Arduino angeschlossen ist. Ändern wir das! Mit dem Befehl

CapacitiveSensor cs = CapacitiveSensor(4,2);

sagen wir dem Code, dass ein kapazitiver Sensor namens cs (der Name kann beliebig gewählt werden) mit den Pins 4 und 2 verbunden ist. Dabei ist zu beachten, dass bei den beiden Zahlen zuerst die übergeben werden muss, die über den Widerstand verbunden ist. Würde der Widerstand also in Pin 4 führen und das andere Kabel in 2, lautete der Befehl

CapacitiveSensor cs = CapacitiveSensor(4,2);.

Nun können wir einfach abfragen, ob der Sensor gerade berührt wird. Dazu kannst Du folgenden Befehl verwenden:

long total1 =  cs_4_2.capacitiveSensor(30);

Hier wird eine Variable des Typs long (ein Zahlenwert) namens „input“ erstellt, der den Wert zugewiesen bekommt, den der Sensor in diesem Moment erfasst. Wird der Sensor nicht berührt, ist dieser Wert 0, anderenfalls steigt er in die Höhe und kann je nach Berührungsfläche stark fluktuieren. Fügst Du diesen Befehl in der Update-Funktion ein und fügst noch die Abfrage

if(input > 0){

hinzu, kannst Du ganz einfach abfragen, ob der Sensor in jedem beliebigen Moment gerade berührt wird!
 

lernen

LED-Streifen