Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Rucksackalarm

Komponenten und Verbrauchsmaterialien

Arduino UNO
× 1
Adafruit Dreiachsen-Beschleunigungsmesser+Magnetometer (Kompass)-Platine - LSM303
× 1
SparkFun Großer Piezo-Alarm - 3kHz
× 1
9-V-Batterie (generisch)
× 1
6,35-mm-Audiobuchse (umgeschaltet)
Optional
× 1
6,35-mm-Audiostecker
Optional
× 1
Überbrückungsdrähte männlich/weiblich
× 1
9V zu Barrel Jack Connector
× 1

Apps und Onlinedienste

Arduino-IDE

Über dieses Projekt

Haben Sie schon einmal das Bedürfnis nach einem Rucksackalarm verspürt? Haben Sie sich schon einmal mit Ihrem Rucksack in einen öffentlichen Bereich gesetzt und befürchtet, dass ihn jemand stehlen könnte? Dann ist dies das richtige Projekt für Sie!

Mit dem Kompass/Beschleunigungsmesser LSM303 schlägt dieses Projekt Alarm, wenn der Rucksack bewegt wurde. Es verwendet den Kompass, um die Ausrichtung zu überwachen, und bei einer Bewegung von mehr als 10 Grad schlägt es Alarm.

Schritt 1:Verdrahten Sie das Arduino

Verbinden Sie das LSM303 Breakout Board wie folgt mit dem Arduino:

  • SDA - SDA
  • SDL - SDL
  • FIN - 5V
  • GND - GND

Weitere Informationen finden Sie im Leitfaden von Adafruit.

Verbinden Sie den Piezo-Summer wie folgt mit dem Arduino:

  • + an Pin 13
  • - an GND

Schritt 2:Installieren Sie die Bibliotheken

Laden Sie die Bibliothek Adafruit_LSM303DLHC und die Bibliothek Adafruit_Sensor als ZIP-Dateien herunter.

Öffnen Sie die Arduino-IDE. Wenn Sie es nicht haben, laden Sie es hier herunter.

Gehen Sie zu Skizze> Bibliothek einschließen> ZIP-Bibliothek hinzufügen...

Suchen Sie dann die zuvor heruntergeladenen .ZIP-Dateien und wählen Sie sie aus.

Schritt 3:Programmieren Sie das Arduino

Öffnen Sie die Arduino IDE und erstellen Sie eine neue Datei. Löschen Sie alles, was bereits vorhanden ist, und fügen Sie den folgenden Code ein.

// Bibliotheken einschließen #include #include #include #include // Passen Sie die Empfindlichkeit an const int sens =10;/ / Diesem Sensor gleichzeitig eine eindeutige ID zuweisen Adafruit_LSM303_Mag_Unified mag =Adafruit_LSM303_Mag_Unified(12345);void setup(void) { //Nur zum Debuggen //Serial.begin (9600); //Serial.println("Startet..."); // Setup-Pin 13 pinMode (13, OUTPUT); // Sensor initialisieren if(!mag.begin()) {// Es gab ein Problem beim Erkennen des LSM303 ... Überprüfen Sie Ihre Verbindungen digitalWrite(13, HIGH); Verzögerung (500); digitalWrite(13, LOW); Verzögerung (500); digitalWrite(13, HOCH); Verzögerung (500); digitalWrite(13, LOW); Verzögerung (500); während(1); } // Warten Sie 5 Sekunden Verzögerung (5000); // Warnung beim Start digitalWrite (13, HIGH); Verzögerung (500); digitalWrite(13, LOW);} // Funktion zum Abrufen des Sensorwerts int getDeg(void){ // Holen Sie sich ein neues Sensorereignis sensor_event_t event; mag.getEvent(&event); Schwimmer Pi =3,14159; // Berechne den Winkel des Vektors y,x float Kurs =int((atan2(event.magnetic.y,event.magnetic.x) * 180) / Pi); // Auf 0-360 normalisieren if (Überschrift <0) { Überschrift =360 + Überschrift; } Überschrift zurückgeben;} ungültige Schleife (void) {// Sensorwerte abrufen Int oldDeg =getDeg (); Verzögerung (1000); int newDeg =getDeg(); if (newDeg <(oldDeg-sens) &&oldDeg !=0 &&newDeg !=0) {// Alarm tönen digitalWrite(13, HIGH); // Nur zum Debuggen //Serial.println("Triggered"); //Seriell.println(""); } Else if (newDeg> (oldDeg+sens) &&oldDeg!=0 &&newDeg !=0) {// Wecker digitalWrite(13, HIGH); // Nur zum Debuggen //Serial.println("Triggered"); //Seriell.println(""); } // Nur zum Debuggen //Serial.print("New:"); //Serial.println (newDeg); //Serial.print("Alt:"); //Seriell.println(oldDeg); //Serial.println("");} 

Schließen Sie Ihr Arduino an, kompilieren Sie den Code und laden Sie ihn hoch.

Schritt 4:Testen Sie es!

Wenn Sie alles richtig gemacht haben, sollten Sie nach dem Drücken der Reset-Taste auf Ihrem Arduino mit einigen Pieptönen, 3 Sekunden Stille und dann einem längeren Piepton begrüßt werden. Wenn Sie den LSM303 Breakout drehen, sollten Sie den Alarm hören. Wenn der Sensor zu empfindlich ist, erhöhen Sie einfach die Variable 'sens' im Code oben. Wenn Sie mehr Empfindlichkeit wünschen, verringern Sie die Variable 'sens'.

Wenn Sie vor der 3-Sekunden-Verzögerung 2 lange Pieptöne erhalten, hat Ihre Verkabelung Probleme. Überprüfen Sie alle Verbindungen.

Wenn es nicht funktioniert, kann es sein, dass die Bibliotheken nicht richtig benannt sind. Entfernen Sie im Code die '#include'-Anweisungen am Anfang. Gehen Sie dann zu Sketch> Include Library und wählen Sie die Bibliotheken 'Wire', 'Adafruit LSM303DLHC' und 'Adafruit Unified Sensor' aus. Wenn es nach all dem immer noch nicht funktioniert, stellen Sie sicher, dass Sie keine starken Magnetfelder in Ihrer Nähe haben. Gehen Sie in einen anderen Raum oder nach draußen. Stellen Sie außerdem sicher, dass das Breakout-Board etwas eben und parallel zum Boden ist.

Schritt 5:Einen Schlüssel hinzufügen

Sie sollten jetzt ein funktionierendes Projekt haben, stecken Sie einfach eine 9-V-Batterie in die Barrel-Buchse Ihres Arduino, montieren Sie sie in Ihrem Rucksack und Sie sollten startklar sein. Es ist jedoch ziemlich nervig, den Akku jedes Mal, wenn Sie Ihren Wecker scharf/unscharf schalten möchten, aus- und wieder einstecken zu müssen. Hier kommt die 6,35-mm-Audiobuchse ins Spiel. Anstelle einer 3,5-mm-Buchse, die die meisten Leute an Kopfhörern haben, erhöht die Verwendung einer 6,35-mm-Buchse die Sicherheit. Wenn Sie jedoch einen Schlüsselschalter oder einen anderen Schalter haben, den Sie stattdessen verwenden möchten, können Sie dies gerne tun.

Wie auch immer, um den Schlüssel hinzuzufügen, verdrahten Sie den Schalter / den Schlüssel zwischen der Batterie und der DC-Fassbuchse.

Wenn Sie eines davon haben, schneiden Sie einfach einen der Drähte ab, fügen Sie bei Bedarf Verlängerungsdrähte hinzu und fügen Sie den Schalter hinzu. In meinem Fall habe ich eine Klemmenblockbuchse bekommen und sie damit verdrahtet. Da mir die Sicherheit nicht allzu wichtig ist, ist mein Schlüssel nur ein einfacher Kippschalter, aber Sie können kreativ werden. Verwenden Sie Reedschalter und Magnet, RFID, vielleicht sogar eine Smartphone-App!

Schritt 6:Montieren Sie es!

Glückwunsch! Sie haben jetzt einen voll funktionsfähigen Alarm mit Schlüssel. Jetzt müssen Sie es nur noch in Ihrem Rucksack montieren. Schneiden Sie ein Loch in die Seite für den Summer und eines für das Schlüsselloch. Ich habe Kabelbinder verwendet, aber eine dauerhaftere Lösung kann verwendet werden. Achten Sie darauf, dass der Sensor etwas parallel zum Boden montiert wird und das Loch im Summer nicht verdeckt wird.

Weiter gehen

Dieser Alarm ist nicht auf Rucksäcke beschränkt. Fügen Sie es einer Tür, einer Keksdose, dem Kühlschrank oder einfach allem hinzu, was Sie schützen möchten. Die Möglichkeiten sind endlos!

Code

  • Code
CodeArduino
Arduino-Code
// Bibliotheken einschließen #include #include #include #include // Passen Sie die Empfindlichkeit an const int sens =10;// Weisen Sie diesem Sensor gleichzeitig eine eindeutige ID zu Adafruit_LSM303_Mag_Unified mag =Adafruit_LSM303_Mag_Unified(12345);void setup(void) {//Nur zum Debuggen //Serial.begin(9600); //Serial.println("Startet..."); // Setup-Pin 13 pinMode (13, OUTPUT); // Sensor initialisieren if(!mag.begin()) {// Es gab ein Problem beim Erkennen des LSM303 ... Überprüfen Sie Ihre Verbindungen digitalWrite(13, HIGH); Verzögerung (500); digitalWrite(13, LOW); Verzögerung (500); digitalWrite(13, HOCH); Verzögerung (500); digitalWrite(13, LOW); Verzögerung (500); während(1); } // Warten Sie 5 Sekunden Verzögerung (5000); // Warnung beim Start digitalWrite (13, HIGH); Verzögerung (500); digitalWrite(13, LOW);} // Funktion zum Abrufen des Sensorwerts int getDeg(void){ // Holen Sie sich ein neues Sensorereignis sensor_event_t event; mag.getEvent(&event); Schwimmer Pi =3,14159; // Berechne den Winkel des Vektors y,x float Kurs =int((atan2(event.magnetic.y,event.magnetic.x) * 180) / Pi); // Auf 0-360 normalisieren if (Überschrift <0) { Überschrift =360 + Überschrift; } Überschrift zurückgeben;} ungültige Schleife (void) {// Sensorwerte abrufen Int oldDeg =getDeg (); Verzögerung (1000); int newDeg =getDeg(); if (newDeg <(oldDeg-sens) &&oldDeg !=0 &&newDeg !=0) {// Alarm tönen digitalWrite(13, HIGH); //Nur zum Debuggen //Serial.println("Triggered"); //Seriell.println(""); } Else if (newDeg> (oldDeg+sens) &&oldDeg!=0 &&newDeg !=0) {// Wecker digitalWrite(13, HIGH); //Nur zum Debuggen //Serial.println("Triggered"); //Seriell.println(""); } //Nur zum Debuggen //Serial.print("New:"); //Serial.println (newDeg); //Serial.print("Alt:"); //Seriell.println(oldDeg); //Serial.println("");}

Schaltpläne

Zum Kompass:
Blau - SDA
Gelb - SDL
Schwarz - GND
Rot - FIN

Herstellungsprozess

  1. Ausfallsicheres Design
  2. Bewegungssensor, Alarm, Videoaufzeichnung in HA auf Raspberry Pi
  3. Raspberry Pi 2 Wasseralarm mit t Schuster plus
  4. Alarmsystem zur Bewegungserkennung
  5. Rollender Alarmroboter
  6. Pflanzenalarm bei Durstalarm
  7. Arduino-Alarmsystem:SERENA
  8. Alarmsystemsicherheit auf dem Prüfstand
  9. Ultraschallsensor mit Alarm, LCD und Temperatur
  10. Einfacher Wecker mit DS1302 RTC