A08|01 Der Klopfsensor
Knock Sensor

Sensorwerte / Neigung oder Erschütterungen messen

Der Name verrät es schon: dieses Modul detektiert Stöße. Der Sensor kann eingesetzt werden, um z.B. ein Zusammenstoß eines mobilen Roboters mit einem Objekt zu detektieren. Oder wie wäre es ein elektrisches Schloss aufzusperren, in dem man auf gewisse Weise auf die Tür klopft?

Die Positionierung des Sensors zum Aktionsbereich ist wichtig. Im Allgemeinen sollte der Sensor physisch so nah wie möglich an dem zu überwachenden Bereich montiert werden, sonst werden die Schwingungen gedämpft. Andererseits kann es sein, dass der Sensor zu empfindlich reagiert. In diesem Fall kann es hilfreich sein, den Klopfsensor aus dem Aktionsbereich zu verschieben.

 

Spezifikationen
- Betriebsspannung: 5V
- Signalart: Digital
- Pinabstand: 2.54mm

Der interne Aufbau ist genial einfach. Der Schalter besteht in erster Linie aus einer Klemme, die einen Mittelpfosten bildet, und einer zweiten Klemme, bei der es sich um eine Feder handelt, die den Mittelpfosten umgibt. Wenn eine ausreichende Kraft auf den Schalter übertragen wird, bewegt sich die Klemme, die aus der Feder besteht, und schließt beide Klemmen miteinander kurz.

 
 
 

Der Aufbau

Verbinde dein Arduino mithilfe der Jumper Wire mit dem Modul:

1400px-Ks0024-.png
 
 

Der minimal Sketch

Der Test-Sketch für den Klopfsensor ist denkbar einfach. Folgender Sketch liest den Zustand des Sensors und lässt entsprechend eine LED ein- oder ausschalten. Dieser Sketch ist in seinem Aufbau identisch mit dem Code aus dem Kapitel für den digitalen Momentanschalter - bis auf die Variablennamen. Siehe für nähere Erläuterungen des Sketches in A07|01 Der digitale Momentanschalter nach. Kopiere den unteren Sketch, füge ihn in die Arduino IDE ein und lade ihn auf das Arduino-Board rauf.

/********************************************************
A07|03 Kollisionssensor
Mr Robot UXSD / www.mrrobotuxsd.com
*********************************************************/

int knockPin = 3; //Pin für den Taster
int ledPin = 13;   //Pin für die LED


void setup()
{ 
  pinMode(ledPin, OUTPUT);  //LED-Pin als Ausgang deklarieren
  pinMode(knockPin, INPUT); //Klopfsensor als Eingang deklarieren
}


void loop()
{
  //Variable um den Klopfsensor abzufragen
  int knockState = digitalRead(knockPin); 
                                            
  if (knockState == HIGH) //Prüfen, ob Klopfsensor ausgelöst wurde
  {
    //Dieser Teil wird ausgeführt, wenn knockState HIGH ist
    digitalWrite(ledPin, HIGH); //LED einschalten 
  }

  else
  {
    //Dieser Teil wird ausgeführt, wenn knockState LOW ist
    digitalWrite(ledPin, LOW); //LED ausschalten }
  }
}
 
 

Falls du die hier beschriebenen Elektronik-Module nicht hast kannst du sie in meiner Einkaufsliste finden. Warum ich selber hauptsächlich mit Modulen der Marke Keyestudio arbeite erläutere ich unter diesem Blog-Artikel.

In dieser Übersicht äußere ich Empfehlungen aller Art.

Hier kommst du wieder zur Übersicht aller Module.