TTP223B digitaler, kapazitiver Touch Sensor über den GPIO-Port des Raspberry Pi mit Python verwenden

Veröffenticht am 13.08.2023    von     in der Kategorie Raspberry Pi, Sensoren     bisher keine Reaktionen    Zuletzt überarbeitet am 13.09.2023


In diesem Beitrag zeige ich dir, wie du einen TTP223B Touch Sensor über den GPIO-Port des Raspberry Pi mit Python verwenden kannst. Um nicht nur eine Aktion bei Berührung des Sensors mittels Textausgabe zu erzeugen, steuere ich in diesem Testaufbau noch zwei LEDs zur besseren visuellen Darstellung.

 

Aufbau TTP223B Touch Sensor zur Steuerung von LEDs
 

Was ist ein digitaler, kapazitiver Sensor?

Ein digitaler kapazitiver Sensor ist ein elektronisches Bauteil, das merkt, wie nah oder wie fest du etwas berührst. Der Sensor macht aus dieser Information ein digitales Signal, das er über die Signalleitung ausgibt.

Wie funktioniert ein digitaler, kapazitiver Sensor?

Ein digitaler, kapazitiver Sensor speichert die elektrische Ladung, die sich zwischen zwei leitenden Platten bildet. Diese Ladung verändert sich, wenn du etwas berührst oder dich etwas näherst. Diese Veränderung misst der Sensor und macht daraus ein digitales Signal.

 

Vorteil des digitalen, kapazitiven Sensors gegenüber eines Tasters?

Ein Taster ist ein mechanischer Schalter, der durch Druck oder Berührung ausgelöst wird. Ein digitaler, kapazitiver Sensor ist ein elektronisches Bauteil, das die Kapazität eines elektrischen Feldes misst. Ein Vorteil des Sensors gegenüber eines Tasters ist, dass er berührungslos arbeiten kann.

 

Funktionsweise des Projektaufbaus

Mit dem Projektaufbau zeige ich dir wie du einen TTP223B Touch Sensor über den GPIO-Port des Raspberry Pi mit Python zur Steuerung einer grünen und einer roten LED.
Das Python-Programm schaltet zu Beginn die rote LED ein und wartet auf den Signaleingang vom TTP223B Touch Sensor.

TTP223B Touch Sensor ohne Berührung - rote LED leuchtet
 

Wenn der digitale kapazitive TTP223B Touch Sensor eine Berührung über den GPIO-Port des Raspberry Pi meldet, schaltet das Programm die rote LED ab und die grüne LED an.

TTP223B Touch Sensor mit Berührung - grüne LED leuchtet
 

 

Voraussetzung und Vorbereitung

Für den hier beschriebenen Aufbau benutzte ich folgende Hardware/Bauteile

 

Wenn du noch keinen Raspberry Pi eingerichtet hast, dann schaue dir doch einmal meinen Beitrag “Ersteinrichtung eines Raspberry Pi mit Raspberry Pi OS” an. Solltest du mit dem Begriff Headless-Betrieb nichts anfangen können oder mehr darüber wissen wollen, dann schau dir einmal meinen Beitrag “Raspberry Pi für den Headless-Betrieb ohne Monitor, Tastatur und Maus installieren” an.

Wenn du die empfohlene Version des Raspberry Pi OS verwendest, sollte bereits das RPI.GPIO-Paket enthalten sein. Ansonsten kannst du es über den Befehl „sudo apt install python3-rpi.gpio“ installieren.

Wie immer solltest du dein System auf den neusten Stand halten. Dies machst du, indem du über das Terminal folgenden Befehl ausführst:

 

Eine Übersicht über wichtige und häufig verwendete Befehle stelle ich dir auf einem kleinen Spickzettel für Raspberry Pi OS Befehle zur Verfügung.

 

Anschluss des TTP223B Touch Sensors

Der TTP223 Touch Sensor ist mit verlöteten Board (B-Modell) und ohne dieses erhältlich. Ich habe mich für den Testaufbau für die B-Variante entschieden.

Anschlussbelegung des TTP223B Touch Sensors
 

Wie du siehst, der Anschluss des TTP223B Touch Sensors ist einfach und mit keinen Problemen verbunden. Drei Kabel, davon zwei die Spannungsversorgung (Vcc und GND) und eines als Signalleitung zum Rechner, in meinem Fall ein Raspberry Pi.

 

Projektaufbau mit einem TTP223B Touch Sensor und 2 LEDs

Der Anschluss des TTP223B Touch Sensors ist, wie oben schon gezeigt, mit drei Kabeln erledigt. Für den Projektaufbau auf dem Breadboard, benötigst du ein je ein Kabel zur Verbindung für die 5V Betriebsspannung (Pin2), den Ground (Pin6) und die Signalleitung (Pin36) des Raspberry Pi’s mit dem Breadboard.

 

TTP223B Touch Sensor am GPIO Raspberry Pi Model B mit zwei LEDs_Steckplatine
Die grüne LED verbindest du auf dem Breadboard mit der Anode (Plus-Pol / längeres Beinchen) mit dem 150 Ohm Widerstand und diesen einmal mit den 5V. Die Kathode der LED (Minus-Pol / kürzeres Beinchen) verbindest du mit dem Emitter (drittes Beinchen) des BC547 Transistors. Den Kollektor (erstes Beinchen) des BC547 Transistors verbindest du mit GND (Ground) und das mittlere Beinchen (Basis) verbindest du mit dem Pin35 (GPIO19) des Raspberry Pis.

Die rote LED verbindest du auf dem Breadboard mit der Anode (Plus-Pol / längeres Beinchen) mit dem 150 Ohm Widerstand und diesen einmal mit den 5V. Die Kathode der LED (Minus-Pol / kürzeres Beinchen) verbindest du mit dem Emitter (drittes Beinchen) des BC547 Transistors. Den Kollektor (erstes Beinchen) des BC547 Transistors verbindest du mit GND (Ground) und das mittlere Beinchen (Basis) verbindest du mit dem Pin37 (GPIO26) des Raspberry Pis.

 

Das Python-Programm für den TTP223B Touch Sensor

Um die Funktion nicht nur am Code zu zeigen, habe ich noch zwei LEDs in den Aufbau eingebaut. Solltest du nur den Touch Sensor nutzen oder testen wollen, lässt du im Code einfach die entsprechenden Zeilen weg.

 

Um den TP223B-Sensor am Raspberry Pi unter Python zu verwenden, werden keine speziellen Pakete benötigt.

 

Die einzelnen Programmschritte habe ich versucht, mit entsprechenden Kommentierungen im Programmcode zu erklären.

Der Ablauf lässt sich wie folgt zusammen fassen:

  1. Laden der notwendigen Python-Bibliotheken
  2. Konfiguration der verwendeten Pin’s – wenn du andere Pins verwendest, kannst du diese hier angeben (die Kommentierung müsste ggf. angepasst werden)
  3. Konfiguration der GPIO Ports
  4. Start des Programms in einer Dauerschleife in einem try – Block
  5. except – Block für die Bereinigung des GPIO-Status nach Drücken der STRG-C auf der Tastatur

 

Bereitgestellte Dateien

Die Fritzing Projektdatei steht auch auf meiner Fritzing Projektseite auf diesem Blog zum Download zur Verfügung.

Wenn du dir das Abtippen oder Kopieren des Codes sparen möchtest, steht dir der Code als Textdatei zum Download bereit.

Gib im Terminal folgenden Befehl ein, dieser lädt die Textdatei herunter und speichert diese als Python-Datei ab.

 

Diesen Beitrag habe ich auch in einem Video zusammengefasst und auf YouTube hochgeladen.

 


Transparenz-Hinweis:

Die auf dieser Seite verwendeten Produktlinks sind sogenannte Affiliate-Links zu einem Partnerprogramm. Für dich entstehen dadurch keine Mehrkosten, ich erhalte durch deinen Kauf über den Link eine kleine Provision.


Wolfgang Raab – Betreiber von webnist.de

Mein Name ist Wolfgang, ich beschäftige mich nun schon seit 1985 mit der EDV und im Besonderen mit der Software- und Webentwicklung.

Auf diesem Blog schreibe ich über Dinge, die mich begeistern, beschäftigen und ich der Meinung bin, es könnte für andere interessant und hilfreich sein.

Als großer Fan des Raspberry Pi finde ich es spannend, wie man den kleinen Computer in Verbindung mit dem IoT und Smart Home nutzen kann. Deshalb behandeln viele Beiträge auch genau dieses Thema.

Ich bin ein leidenschaftlicher Leser und Fotograf. Wenn ich nicht gerade in einem spannenden Roman versinke, bin ich oft unterwegs, um die Schönheit der Welt mit meiner Kamera einzufangen und zu teilen.

Weitere Infos und Fotos findest du auf einem der folgenden Plattformen.






Mehr erfahren?

Besuche die "About"-Seite meines Blogs und finde heraus, wie du mit mir in den Bereichen Web- und Mobile-Programmierung und Raspberry Pi zusammenarbeiten kannst. Hier beginnt deine digitale Reise.


Unterstützen

Dieser Beitrag hat dir gefallen und konnte dir bei deinem Projekt oder Problem behilflich sein? Dann würde ich mich sehr freuen, wenn du dich mit einer noch so kleinen Spende erkenntlich zeigen möchtest.


Schreibe einen Kommentar

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

 

Kleiner Hinweis, alle Kommentare werden moderiert.

Dies bedeutet, der Kommentar wird vor der Veröffentlichung durchgelesen und von mir geprüft. Auch behalte ich mir vor, jeden Kommentar zu löschen, der nicht direkt auf das Thema abzielt oder nur den Zweck hat, Leser oder Autoren herabzuwürdigen.

Entdecke die Welt von Webnist.de

Erfahre mehr über die Hintergründe meines Blogs und wie ich dich bei deinen digitalen Projekten unterstützen kann.

Aktuelles Video auf YouTube

Beschreibung der Verwendung eines TTP223B Touch Sensors am GPIO Port des Raspberry Pi mit Python.