Berührungs-Sensormodul

../_images/17_touch_sensor_moudle.png

Einführung

Der Berührungsschalter (auch Touch-Button oder Touch-Schalter genannt) findet breite Anwendung in verschiedenen Geräten, wie beispielsweise berührungsempfindlichen Lampen. Er übernimmt dieselben Funktionen wie ein herkömmlicher Knopf, verleiht dem Produkt jedoch ein sauberes, modernes Erscheinungsbild.

Funktionsprinzip

Das Modul basiert auf einem Berührungssensor-IC (TTP223B) und fungiert als kapazitiver Touch-Schalter. Im Ruhezustand gibt das Modul ein niedriges Signal bei geringem Stromverbrauch aus. Bei Berührung wechselt das Ausgangssignal auf ein hohes Niveau und kehrt nach Loslassen des Fingers wieder auf ein niedriges Niveau zurück.

Funktionsweise des kapazitiven Touch-Schalters:

Der kapazitive Touch-Schalter besteht aus verschiedenen Schichten – einer oberen Isolierschicht, gefolgt von der Berührungsplatte, einer weiteren Isolierschicht und schließlich einer Erdungsplatte.

../_images/17_touch_sensor_moudle_principle.jpeg

In der Praxis kann ein kapazitiver Sensor auf einer doppelseitigen Leiterplatte realisiert werden, wobei eine Seite als Sensorfläche und die gegenüberliegende Seite als Erdungsplatte dient. Bei angelegter Spannung laden sich beide Platten auf. Im Gleichgewicht entspricht die Spannung der Platten der des Stromnetzes.

Der Detektorschaltkreis beinhaltet einen Oszillator, dessen Frequenz von der Kapazität der Sensorfläche abhängt. Nähert sich ein Finger der Sensorfläche, verändert die zusätzliche Kapazität die Frequenz des internen Oszillators. Der Detektorschaltkreis überwacht in festgelegten Intervallen die Oszillatorfrequenz und löst bei Überschreiten eines bestimmten Schwellenwerts ein Tastendruckereignis aus.

Anwendungsbeispiele

Hardware-Komponenten

  • Arduino Uno R4 oder R3 Board * 1

  • Berührungs-Sensormodul * 1

  • Jumperkabel

Schaltungsaufbau

../_images/17_touch_sensor_moudle_circuit.png

Programmcode



Code-Erklärung

  1. Definition der benötigten Variablen. Zunächst wird die Pinnummer definiert, an die der Berührungssensor angeschlossen ist.

    const int sensorPin = 7;
    
  2. Initialisierung in der setup()-Funktion. Hier legen wir fest, dass der Sensor-Pin für den Eingang und die integrierte LED für den Ausgang genutzt werden. Zudem wird die serielle Kommunikation gestartet, um Nachrichten an den seriellen Monitor zu senden.

    void setup() {
      pinMode(sensorPin, INPUT);
      pinMode(LED_BUILTIN, OUTPUT);
      Serial.begin(9600);
    }
    
  3. Kontinuierlich überprüft das Arduino, ob der Berührungssensor aktiviert ist. Bei Berührung leuchtet die LED auf und eine Meldung „Touch detected!“ wird ausgegeben. Ist keine Berührung vorhanden, wird die LED ausgeschaltet und die Meldung „No touch detected…“ erscheint. Eine Verzögerung verhindert, dass der Sensor zu schnell abgefragt wird.

    void loop() {
      if (digitalRead(sensorPin) == 1) {
        digitalWrite(LED_BUILTIN, HIGH);
        Serial.println("Touch detected!");
      } else {
        digitalWrite(LED_BUILTIN, LOW);
        Serial.println("No touch detected...");
      }
      delay(100);
    }
    

Weitere Ideen

  • Verwendung unterschiedlicher LED-Farben zur Anzeige einer Berührung

  • Der Berührungssensor könnte auch zur Steuerung komplexerer Elemente wie einem Motor oder einem Relais verwendet werden.

Weitere Projekte