DIY Rucksack-Alarmanlage mit Arduino & LSM303 Kompass
Komponenten und Zubehör
| Komponente | Menge |
|---|---|
| Arduino UNO | 1 |
| Adafruit LSM303DLHC (Beschleunigungs- + Magnetometer/Compass) | 1 |
| Großer Piezo-Summer (3 kHz, z. B. SparkFun) | 1 |
| 9 V Blockbatterie + Clip auf Hohlstecker | 1 |
| 6,35 mm Klinkenbuchse (geschaltet) + Stecker (optional, als „Schlüssel“) | 1 |
| Jumper-Kabel (Male/Female) | 1 Set |
Software
- Arduino IDE
- Bibliotheken:
Adafruit_Sensor,Adafruit_LSM303DLHC(beide als ZIP importieren)
Projektbeschreibung
Eine kompakte Alarmanlage für Rucksäcke: Wird der Rucksack bewegt (Orientierungsänderung > 10°), löst ein lauter Piezo-Summer Alarm aus. Der LSM303 misst das Erdmagnetfeld als Kompass; Bewegung ändert den Kompasswert. Ein 6,35 mm Klinkenstecker dient als „Schlüssel“ zum Scharf/Unscharf-Schalten (sicherer als 3,5 mm, da seltener).
Schritt 1: Verdrahtung
- LSM303: SDA → A4 (SDA), SCL → A5 (SCL), VIN → 5 V, GND → GND
- Piezo: + → Pin 13, – → GND
Schritt 2: Bibliotheken installieren
- ZIPs herunterladen (Adafruit GitHub).
- Arduino IDE: Sketch → Bibliothek einbinden → .ZIP-Bibliothek hinzufügen.
Schritt 3: Code hochladen
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_LSM303_U.h>
#include <Adafruit_LSM303.h>
const int sens = 10; // Empfindlichkeit in Grad
Adafruit_LSM303_Mag_Unified mag = Adafruit_LSM303_Mag_Unified(12345);
void setup() {
pinMode(13, OUTPUT);
if (!mag.begin()) {
// Fehler: LED blinkt schnell
while (1) {
digitalWrite(13, HIGH); delay(500);
digitalWrite(13, LOW); delay(500);
}
}
delay(5000); // 5 s Zeit zum Positionieren
digitalWrite(13, HIGH); delay(500); digitalWrite(13, LOW); // Start-Signal
}
int getDeg() {
sensors_event_t event;
mag.getEvent(&event);
float heading = atan2(event.magnetic.y, event.magnetic.x) * 180 / PI;
if (heading < 0) heading += 360;
return (int)heading;
}
void loop() {
int oldDeg = getDeg();
delay(1000);
int newDeg = getDeg();
if ((newDeg < oldDeg - sens || newDeg > oldDeg + sens) && oldDeg != 0 && newDeg != 0) {
digitalWrite(13, HIGH); // Alarm an
// Serial.println("Triggered");
}
// Serial.print("New:"); Serial.println(newDeg);
// Serial.print("Old:"); Serial.println(oldDeg);
}
Schritt 4: Testen
Nach Reset: 3× kurzer Piep, 3 s Pause, 1× langer Piep = bereit. LSM303 drehen → Alarm. Empfindlichkeit über sens anpassen (kleiner = empfindlicher). 2× langer Piep am Start = Verdrahtungsfehler. Störfelder (Magnete, Netzteile) vermeiden, Sensor waagerecht halten.
Schritt 5: „Schlüssel“ einbauen (optional)
6,35 mm Klinkenbuchse in die Batteriezuleitung schalten. Stecker gezogen = stromlos (unscharf), gesteckt = scharf. Alternativ: Reed-Kontakt + Magnet, RFID, Taster.
Schritt 6: Einbau in Rucksack
Löcher für Summer (Schall austreten lassen) und Klinkenbuchse bohren. Mit Kabelbindern oder fest verschrauben. Sensor waagerecht ausrichten.
Weiterführende Ideen
Nicht nur für Rucksäcke: Türüberwachung, Keksdose, Kühlschrank, Wertsachenbox – überall, wo Bewegung erkannt werden soll.
Schaltplan
Kompass: Blau=SDA, Gelb=SCL, Schwarz=GND, Rot=VIN
Herstellungsprozess
- Fehlersichere Steuersysteme designen für Sicherheit und Zuverlässigkeit
- Sicheres Home Monitoring mit Home Assistant auf Raspberry Pi: Bewegung, Alarm & Video-Capture
- Headless Raspberry Pi 2 Wasser-Alarm mit Adafruit T‑Cobbler Plus bauen
- Bewegungsmelder-Alarmsystem mit Java & Reactive Blocks – Auf Raspberry Pi deployen & SMS senden
- Rolling Alarm Robot: Intelligentes, mobiles Wecksystem mit Raspberry Pi und Google Kalender
- Smart Thirst Alert: DIY Pflanzen-Alarm für optimale Bewässerung
- SERENA: Eigenes Arduino Mega 2560 Alarmsystem mit TFT-LCD-Touchscreen
- Sicherheit von Alarmanlagen mit Arduino und 433-MHz-RF-Modulen testen
- Arduino Ultraschall-Distanz & Temperatur-Monitor mit LCD-Alarmsystem
- Zuverlässigen Wecker mit DS1302 RTC und Arduino UNO bauen