A07|03 Der Kollisionssensor
Collision Sensor
Sensorwerte / Einfache Eingabe
Ein Kollisionssensor ist nichts anderes als ein Schalter und gleicht in seiner Funktion dem digitalen Momentanschalter. Die Ansteuerung ist identisch. Der Unterschied liegt in der Mechanik. Der digitale push button ist für Eingaben mit den Fingern gedacht. Kollisionssensoren werden häufig in 3D-Druckern verbaut: Es sind pro Achse ein oder zwei dieser Sensoren an den Enden positioniert. Diese braucht der Drucker um zu wissen, wo der Druckerkopf sich befindet. Zunächst fährt der Drucker die Endpositionen (Kollisionssensor) an und referenziert von da ab jede weitere Bewegung.
Spezifikationen
- Signalart: digital
- Spannung: 3v – 12v
- Pinabstand: 2,54mm
Der Kollisionssensor ist weitaus robuster als ein digitaler Pushbutton und verträgt Kollisionen besser. Aus diesem Grund eignet er sich hervorragend, um Zusammenstöße mit gewisser Krafteinwirkung zu detektieren. In der Front eines mobilen Roboters montiert, wird er häufig zur Objekterkennung benutzt und ist in diesem Fall bestimmt eine bessere Wahl als ein Standard-Push-Button.
Zudem ist ein Pushbutton anfälliger gegenüber Bouncing. Dies ist eine Fehleingabe, die auf die Button-Mechanik zurückzuführen ist. Das einmalige Drücken kann multiple Micro-Ein- und Ausschaltsignale hervorrufen. Das liegt daran, dass die Kontaktflächen innerhalb des Pushbuttons nicht sauber anliegen. Dieses Phänomen kann durch ein sogenanntes Debouncing im Programm wieder korrigiert werden.
Um das Bouncing-Problem brauchen wir uns beim Kollisionssensor keine Sorgen zu machen. Das verdanken wir der internen Mechanik: Wird beim Betätigen der Schaltpunkt erreicht, schnappt die mechanische Feder schlagartig in die Schaltstellung und wird von der Betätigungskraft weitgehend unabhängig. Bei Rücknahme der Belastung schnappt der Schalter durch eine Rückstellfeder schlagartig wieder in die Ausgangsstellung. Durch das Schnappen besteht immer ein eindeutiger Zustand.
Der Aufbau
Verbinde dein Arduino mithilfe der Jumper Wire mit dem Modul:
Der minimal Sketch
Der Test-Sketch für den Kollisionssensor ist denkbar einfach. Folgender Sketch liest den Zustand des Reedschalters 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 buttonPin = 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(buttonPin, INPUT); //Taster als Eingang deklarieren
}
void loop()
{
//Variable um den Tasterzustand abzufragen
int buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) //Prüfen, ob Taster gedrückt wurde
{
//Dieser Teil wird ausgeführt, wenn buttonState HIGH ist
digitalWrite(ledPin, HIGH); //LED einschalten
}
else
{
//Dieser Teil wird ausgeführt, wenn buttonState 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.