Heute habe ich mein lang ersehntes Arduino Starter-Kit erhalten das mir die Firma RS Components freundlicherweise zur Verfügung gestellt hat. Dieses Starter-Kit beinhaltet alles was man für den einfachen Einstieg in das Thema Arduino und Elektronik braucht. Mit diesem Kit ist es möglich, selbst wenn man noch nie etwas mit Arduino zu tun gehabt hat, schon nach wenigen Minuten brauchbare Ergebnisse zu erzielen.
Arduino Alarmanlage
In diesem kleinen Beitrag möchte ich euch nun zeigen, wie man mit einem Arduino und nur 3 Komponenten, die allesamt im Starter-Kit von RS Components enthalten sind, eine kleine Alarmanlage auf Basis eines Kippsensors aufbaut. Ziel ist es für ca. 5 Sekunden einen pulsierenden Alarmton über einen Piezo buzzer (Summer) auszugeben, sobald eine Erschütterung über den Tiltsensor (Kippsensor) registriert wird.






benötigte Hardware
- Breadboard
- Piezo buzzer (Summer)
- Tiltsensor (Kippsensor)
- 2 x 330kOhm Widerstand
Aufbau
Wir nehmen uns das Breadboard und verbinden +5V und GND vom Arduino mit der entsprechenden Reihe auf dem Breadboard. Also die rote Reihe mit +5V und die blaue Reihe mit GND.
Der mitgelieferte Kippsensor löst bereits bei kleinen Erschütterungen aus, wobei die vier Bewegungsrichtungen Vorwärts, Rückwärts, links und rechts erkannt werden. Ein horizontales Kippen wird also genauso detektiert wie ein Kippen oder eben Erschütterungen in vertikaler Richtung.
Der Kippsensor verfügt über 4 Beinchen, wobei jeweils zwei intern verbunden sind. Wir benutzen die zwei Beinchen links und rechts von der im Gehäuse des Sensors eingearbeiteten Nut. Das linke Beinchen verbinden wir direkt mit GND. Das rechte Beinchen wird mit dem digitalen Pin 8 am Arduino und zusätzlich über einen 330kOhm Widerstand mit +5V verbunden.
Nun benötigen wir ein Gerät das uns anzeigt dass eine Erschütterung stattgefunden hat. Dazu könnte man eine LED, ein Display oder irgendein anderes Ausgabegeräte nutzen. In unserem Fall werden wir einen Piezo buzzer verwenden. Dieser ist, wie bereits angesprochen, im Starter Kit enthalten und äußerst einfach zu verwenden.
Der Piezo buzzer verfügt über zwei Beinchen. Eins verbinden wir mit dem digitalen Port 6 am Arduino und das andere mit einem 330kOhm-Widerstand direkt an GND. Kaum zu glauben, aber das war schon alles. Nun geht es ans programmieren des Arduino.
Arduino-Sketch
/* Autor: Enrico Sadlowski Projekt: Tiltsensor-Alarmanlage Beschreibung: Kleine Alarmanlage auf Basis eines Tiltsensors (Kippsensor) Ein Kippsensor wird bei Bewegung ausgelöst woraufhin für ein paar Sekunden ein Alarmton ertönt. */ int buzzer = 6; // Digital Pin Piezo buzzer (Summer) int tiltsensor = 8; // Digital Pin Tiltsensor (Kippsensor) int tiltvalue = 0; // Wert des Tiltsensors void setup() { pinMode(buzzer, OUTPUT); // Summer als Ausgang deklarieren pinMode(tiltsensor, INPUT); // Kippsensors als Eingang deklarieren } void loop() { tiltvalue = digitalRead(tiltsensor); // Wert des Kippsensors auslesen if (tiltvalue == HIGH) // Kippsensor hat ausgelöst { for (int a=0; a<10; a++) //Tonfolge 10 mal abspielen { for (int i=0; i<500; i++) // Schleife für ansteigenden Ton { digitalWrite(buzzer, HIGH); delayMicroseconds(i * 2); digitalWrite(buzzer, LOW); delayMicroseconds(150); } } } }
Bemerkungen zum Arduino Sketch
- void setup() wird einmalig aufgerufen wenn der Arduino an die Stromversorgung angeschlossen oder der Reset-Knopf gedrückt wird.
- In void setup() werden als erstes der Piezo buzzer als Ausgang und der Tieltsensor als Eingang deklariert.
- Darüber wurden den beiden Komponenten die digitalen Pins zugewiesen, mit denen sie am Arduino verbunden wurden.
- Die Variable titlvalue ändert sich immer dann wenn sich der Wert des tiltsensors ändert. Das heißt, wenn der Tiltsensor auslöst, ist der Wert von tiltvalue HIGH sonst LOW. Ausgelesen wird der Wert des tiltsensors mit digitalRead.
- void loop() wird nach void setup() so lange aufgerufen bis der Arduino von der Stromversorgung getrennt wird.
- Es wird ständig der Status des Tiltsensors geprüft und in tiltvalue gespeichert.
- Wenn der Tiltsensor eine Bewegung registriert, ändert sich der Wert von tiltvalue zu HIGH, womit die nächste Abfrage zutrifft und die nachfolgenden Anweisungen ausgeführt werden.
- In der inneren Schleife wird einmalig ein ansteigender Ton abgespielt. Dabei kann die Frequenz des Tones über delayMicroseconds angepasst werden. In meinem Fall nehme ich einfach den Wert von i der aufsteigend einen Wert von 0 bis 500 annimmt und multipliziere diesen mit 2. Das bedeutet, dass die Frequenz in 500 Schritten kontinuierlich ansteigt und mit digitalWrite(buzzer, HIGH) ausgegeben wird.
- Diese Schleife wird durch die äußere Schleife 10 mal hintereinander abgespielt.
- Um den Alarmton bei erkannter Erschütterung nun kürzer oder länger ertönen zu lassen, muss man lediglich die Zahl 10 in der Zeile “for (int a=0; a<10; a++)” an seine Bedürfnisse anpassen.
Fazit
Ihr seht wie einfach es ist mit nur wenigen Mitteln tolle Ergebnisse zu erzielen. Wer als Anfänger einen schnellen Einstieg finden will, ist mit dem Arduino-Starter-Kit von RS Components bestens bedient.
The post Wir basteln uns eine kleine Arduino Alarmanlage appeared first on Fluuux - TechBlog.