Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry Pi | Raspberry Pi Pico

Menu
  • Smarthome
  • Arduino
  • ESP32 & Co.
  • Raspberry Pi & Pico
  • Solo Mining
  • Über mich
  • Deutsch
  • English
Menu

Arduino Lektion 92: kapazitiver Touch Sensor

Posted on 17. Juni 20196. März 2024 by Stefan Draeger

Was ein kapazitiver Touch Sensor ist und wie dieser am Arduino programmiert wirst, erfährst du hier im Beitrag auf meinem Technikblog.

kapazitiver Touch Sensor

Im Tutorial Arduino Lektion 86: kapazitives Touchpad MPR121 habe ich bereits ein Board mit kapazitivem Touch Sensoren vorgestellt, dieses kleine Board funktioniert jedoch über einen digitalen Pin statt mit I2C (hat ja auch nur eine „Schaltfläche“).

  • Bezug
    • Lieferumfang
  • Technische Daten
  • Anschluss & Schaltung
  • Empfindlichkeit des Sensors
  • Quellcode
  • Video
  • Unterbringen in ein Gehäuse

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).

Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!

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 Mikrocontroller anschließen möchte. Diese Stiftleisten kann man aber in 40Pin Streifen auch auf ebay.de erwerben.

Stiftleiste 2,54mm, männlich - männlich
Stiftleiste 2,54 mm, männlich – männlich

Technische Daten

  • Betriebsspannung 5V
  • Abmaße (LxB) 10,5 mm x 5 mm

Anschluss & Schaltung

Der Sensor verfügt über 3 Pins welche mit „VCC“, „I/O“ und „GND“ beschriftet sind.

kapazitiver Touch Sensor - Rückseite
kapazitiver Touch Sensor – Rückseite

Der Anschluss an einen Arduino UNO kompatiblen Mikrocontroller ist denkbar einfach.

kap. Touch SensorArduino UNO
GNDGND
I/Odigitaler Pin 3
VCC5V

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. dass man nicht direkt auf diesen Tippen muss, um ein Signal zu senden, sondern es reicht, aus wenn man ca. 3-5 mm über dem Sensor seinen Finger hält.

Empfindlichkeit des kapazitiven Touch Sensors
Empfindlichkeit des kapazitiven Touch Sensors

Quellcode

Im Nachfolgenden möchte ich ein kleines Beispiel zeigen, wie man mit 5 Touch-Sensoren jeweils eine LED steuern kann. Dieses Beispiel 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

Unterbringen in ein Gehäuse

Möchte man den kapazitiven Touch Sensor in einem Gehäuse unterbringen, so muss man auf das Material achten. Im Beitrag Arduino Lektion #92: kapazitiver Touch Sensor – Test mit einer Aluminiumplatte habe ich einmal getestet wie dieser Sensor sich unter einer Aluminiumplatte verhält. Im Allgemeinen wird das Gehäuse jedoch aus Plastik sein.

Man erkennt hier recht deutlich, dass der Abstand zwischen dem Sensor und dem Finger (zum Aktivieren der LED) durch eine kleine Plastikplatte verdeckt ist. Wenn der Finger sich über den verdeckten Sensor bewegt, wird trotzdem die LED aktiviert.

18 thoughts on “Arduino Lektion 92: kapazitiver Touch Sensor”

  1. Stephanie sagt:
    7. April 2020 um 10:59 Uhr

    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.

    Antworten
    1. Stefan Draeger sagt:
      7. April 2020 um 19:19 Uhr

      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

      Antworten
      1. Stefan Draeger sagt:
        7. April 2020 um 19:53 Uhr

        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

        Antworten
  2. topaolo sagt:
    10. Februar 2021 um 10:59 Uhr

    Hallo,
    ich möchte diese Sensor in Aussenanlage benutzten, zum Beispiel innerhalb eine plastik schachtel. Wenn Benutzer die Schachtel berühren dann das soll das Signal weitergeben.
    Ist das möglich ?

    Antworten
    1. Stefan Draeger sagt:
      10. Februar 2021 um 11:38 Uhr

      Hi,

      vielen Dank für dein Kommentar. Ich habe das einmal getestet und das Ergebnis im Beitrag hinterlegt.

      Gruß,

      Stefan Draeger

      Antworten
  3. thorsten sagt:
    4. Juni 2021 um 16:31 Uhr

    Man kann die Touchfläche auch „verlängern“. Tesafilmstreifen auf Alufolie kleben, und mit der Aluseite auf die Metallfläche des Sensors kleben. So bekommt man bei Türen z. B. eine Touchfläche außen und kann das Modul innen lassen.

    Antworten
    1. Stefan Draeger sagt:
      5. Juni 2021 um 16:13 Uhr

      Hi Thorsten,

      das klingt sehr interessant. Muss ich glatt mal probieren.

      Gruß,

      Stefan

      Antworten
  4. Linus sagt:
    2. Juni 2022 um 19:09 Uhr

    Hi,
    ist es möglich den Sensor mit einem Lautsprecher zu verbinden anstelle von einer LED?
    Und muss ich dafür das Programm groß umschreiben?

    Antworten
    1. Stefan Draeger sagt:
      2. Juni 2022 um 19:44 Uhr

      Hi,

      der Lautsprecher wird dann aber nur knacksen, also einen richtigen Ton wirst du da nicht herausbekommen.
      Wenn du einen Ton erzeugen möchtest, dann müsstest du einen Piezo Buzzer verwenden.

      Gruß,

      Stefan

      Antworten
  5. Daniel sagt:
    14. Januar 2023 um 18:04 Uhr

    Hi,

    Funktioniert das nur mit einem Finger ?
    Löst der Sensor auch aus wenn man ein Pingpong ball drauf fällt ?

    mfg

    Daniel

    Antworten
    1. Stefan Draeger sagt:
      14. Januar 2023 um 19:11 Uhr

      Hi Daniel,

      ich denke, das wird nicht funktionieren, denn der Sensor reagiert auf eine Potenzialänderung, d.h. wenn du mit dem Finger gegen drückst und
      geerdet bist, dann löst dieser aus.

      Gruß

      Stefan

      Antworten
  6. Jupp sagt:
    26. Februar 2023 um 22:37 Uhr

    Hallo gibt es eine Möglichkeit den Sensor mit 12 volt zu betreiben?
    Ich möchte gerne LED-Streifen verwenden und steuern
    Schöne Grüße

    Antworten
    1. Stefan Draeger sagt:
      27. Februar 2023 um 07:58 Uhr

      Hi,

      der Sensor kann nur maximal 5V als Betriebsspannung erhalten.
      Wenn du die LED-Streifen steuern möchtest, dann kannst du einen Mikrocontroller wie den Arduino UNO nutzen, dieser kann mit 12V betrieben werden.
      Die 5V kommen dann vom Mikrocontroller und das Programm ist recht einfach geschrieben.

      Gruß,

      Stefan

      Antworten
  7. Pingback: Arduino Lektion #92: kapazitiver Touch Sensor - Test mit einer Aluminiumplatte - Technik Blog
  8. Daniel Stockmann sagt:
    3. Juni 2023 um 18:49 Uhr

    Super Beitrag 🙂
    Wie müsste man den code umschreiben damit die LED anbleibt auch wenn man den Finger wieder wegnimmt? Ohne delay wird das schwierig. Weil eine Variable die bestimmt ob die LED’s läuchten oder nicht, sich all paar milisekunden (oder wie schnell auch immer gemessen wird) ändern würde.

    Liebe Grüsse
    Daniel

    Antworten
    1. Stefan Draeger sagt:
      4. Juni 2023 um 08:05 Uhr

      Hi,

      du bräuchtest quasi eine Variable für den Status und dieser ändert sich durch das betätigen.

      Ich bereite da mal was vor.

      Gruß, Stefan

      Antworten
  9. Pingback: Arduino und kapazitive Touchsensoren: Eine spannende Kombination - Technik Blog
  10. Christian sagt:
    17. September 2023 um 09:51 Uhr

    Hallo

    Danke für den Beitrag. Hast du einen Tip wie man am besten eine große Anzahl von diesen Schaltern an einem Arduino mit nur begrenzter Anzahl an Eingängen nutzt?

    Gruß Christian

    Antworten

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Fragen oder Feedback?

Du hast eine Idee, brauchst Hilfe oder möchtest Feedback loswerden?
Support-Ticket erstellen

Newsletter abonnieren

Bleib auf dem Laufenden: Erhalte regelmäßig Updates zu neuen Projekten, Tutorials und Tipps rund um Arduino, ESP32 und mehr – direkt in dein Postfach.

Jetzt Newsletter abonnieren

Unterstütze meinen Blog

Wenn dir meine Inhalte gefallen, freue ich mich über deine Unterstützung auf Tipeee.
So hilfst du mit, den Blog am Leben zu halten und neue Beiträge zu ermöglichen.

draeger-it.blog auf Tipeee unterstützen

Vielen Dank für deinen Support!
– Stefan Draeger

Kategorien

Tools

  • Unix-Zeitstempel-Rechner
  • ASCII Tabelle
  • Spannung, Strom, Widerstand und Leistung berechnen
  • Widerstandsrechner
  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator

Links

Blogverzeichnis Bloggerei.de TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com

Stefan Draeger
Königsberger Str. 13
38364 Schöningen

Tel.: 01778501273
E-Mail: info@draeger-it.blog

Folge mir auf

  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Cookie-Richtlinie (EU)
©2025 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb
Cookie-Zustimmung verwalten
Wir verwenden Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wir tun dies, um das Surferlebnis zu verbessern und um personalisierte Werbung anzuzeigen. Wenn Sie diesen Technologien zustimmen, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn Sie Ihre Zustimmung nicht erteilen oder zurückziehen, können bestimmte Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Optionen verwalten Dienste verwalten Verwalten von {vendor_count}-Lieferanten Lese mehr über diese Zwecke
Einstellungen anzeigen
{title} {title} {title}