Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Alarme sac à dos

Composants et fournitures

Arduino UNO
× 1
Accéléromètre à trois axes Adafruit + Carte magnétomètre (boussole) - LSM303
× 1
Grande alarme Piezo SparkFun - 3kHz
× 1
Batterie 9V (générique)
× 1
Prise audio femelle 6,35 mm (commutée)
Facultatif
× 1
Fiche audio 6,35 mm
Facultatif
× 1
Câbles de raccordement mâle/femelle
× 1
Connecteur 9V vers Barrel Jack
× 1

Applications et services en ligne

Arduino IDE

À propos de ce projet

Avez-vous déjà ressenti le besoin d'une alarme de sac à dos ? Vous êtes-vous déjà assis dans un espace public avec votre sac à dos et avez-vous craint que quelqu'un ne le vole ? Si oui, ce projet est fait pour vous !

À l'aide de la boussole/accéléromètre LSM303, ce projet déclenche une alarme lorsque le sac à dos a été déplacé. Il utilise la boussole pour surveiller l'orientation, et lorsqu'il y a un mouvement de plus de 10 degrés, il déclenche une alarme.

Étape 1 :câbler l'Arduino

Connectez la carte de dérivation LSM303 à l'Arduino comme suit :

  • SDA - SDA
  • SDL - SDL
  • VIN - 5v
  • GND - GND

Pour plus de détails, consultez le guide d'Adafruit.

Connectez le buzzer piézo à l'Arduino comme ceci :

  • + à la broche 13
  • - vers GND

Étape 2 :Installez les bibliothèques

Téléchargez la bibliothèque Adafruit_LSM303DLHC et la bibliothèque Adafruit_Sensor sous forme de fichiers zip.

Ouvrez l'IDE Arduino. Si vous ne l'avez pas, téléchargez-le ici.

Allez dans Sketch> Inclure la bibliothèque> Ajouter une bibliothèque ZIP...

Ensuite, recherchez et sélectionnez les fichiers .ZIP que vous avez téléchargés précédemment.

Étape 3 :programmer l'Arduino

Ouvrez l'IDE Arduino et créez un nouveau fichier. Supprimez tout ce qui s'y trouve et collez le code suivant.

// Inclure les bibliothèques #include #include #include #include // Ajuster la sensibilité const int sens =10;/ / Attribuez un identifiant unique à ce capteur en même temps Adafruit_LSM303_Mag_Unified mag =Adafruit_LSM303_Mag_Unified (12345);void setup(void) { //Juste pour le débogage //Serial.begin (9600); //Série.println("Démarrage..."); // Configuration de la broche 13 pinMode(13, OUTPUT); // Initialise le capteur if(!mag.begin()) { // Il y a eu un problème lors de la détection du LSM303 ... vérifiez vos connexions digitalWrite(13, HIGH); retard (500); digitalWrite(13, LOW); retard (500); digitalWrite(13, ÉLEVÉ); retard (500); digitalWrite(13, LOW); retard (500); tandis que (1); } // Attendre un délai de 5 secondes (5000); // Alerte au démarrage digitalWrite(13, HIGH); retard (500); digitalWrite(13, LOW);}// fonction pour obtenir la valeur du capteur int getDeg(void){ // Obtenir un nouvel événement de capteur sensor_event_t event; mag.getEvent(&event); flottant Pi =3,14159 ; // Calcule l'angle du vecteur y,x float cap =int((atan2(event.magnetic.y,event.magnetic.x) * 180) / Pi); // Normaliser à 0-360 if (titre <0) { titre =360 + titre; } return header;}void loop(void) { // obtenir les valeurs du capteur int oldDeg =getDeg(); retard(1000); int newDeg =getDeg(); if (newDeg <(oldDeg-sens) &&oldDeg !=0 &&newDeg !=0) { // sonne l'alarme digitalWrite(13, HIGH); // Juste pour le débogage //Serial.println("Triggered"); //Série.println(""); }else if (newDeg> (oldDeg+sens) &&oldDeg!=0 &&newDeg !=0) { // sonne l'alarme digitalWrite(13, HIGH); // Juste pour le débogage //Serial.println("Triggered"); //Série.println(""); } // Juste pour le débogage //Serial.print("New:"); //Serial.println(newDeg); //Série.print("Ancien :"); //Série.println(oldDeg); //Serial.println("");} 

Branchez votre Arduino, puis compilez et téléchargez le code.

Étape 4 :Testez-le !

Si vous avez tout fait correctement, après avoir appuyé sur le bouton de réinitialisation de votre Arduino, vous devriez être accueilli par quelques bips, 3 secondes de silence, puis un bip plus long. Si vous faites pivoter le breakout LSM303, vous devriez alors entendre l'alarme s'activer. Si le capteur est trop sensible, augmentez simplement la variable 'sens' dans le code près du haut. Si vous voulez plus de sensibilité, diminuez la variable 'sens'.

Si vous obtenez 2 longs bips avant le délai de 3 secondes, votre câblage a des problèmes. Vérifiez toutes les connexions.

Si cela ne semble pas fonctionner, il se peut que les bibliothèques ne soient pas correctement nommées. Dans le code, supprimez les instructions '#include' au début. Ensuite, allez dans Sketch> Inclure la bibliothèque et sélectionnez les bibliothèques « Wire », « Adafruit LSM303DLHC » et « Adafruit Unified Sensor ». Si après tout cela, cela ne fonctionne toujours pas, assurez-vous de ne pas avoir de champs magnétiques puissants près de chez vous. Allez dans une autre pièce ou à l'extérieur. Assurez-vous également que le panneau de dérivation est un peu à niveau et parallèle au sol.

Étape 5 : ajouter une clé

Vous devriez avoir un projet de travail maintenant, il suffit de brancher une batterie 9v dans la prise cylindrique de votre Arduino, de la monter dans votre sac à dos, et vous devriez être prêt à partir. Cependant, débrancher et rebrancher la batterie chaque fois que vous souhaitez armer/désarmer votre alarme est un peu ennuyeux. C'est là que la prise audio 6,35 mm entre en jeu. Au lieu d'une prise jack 3,5 mm que la plupart des gens ont sur les écouteurs, l'utilisation d'une prise jack 6,35 mm augmente la sécurité. Cependant, si vous avez un interrupteur à clé ou un autre interrupteur que vous souhaitez utiliser à la place, n'hésitez pas à le faire.

Quoi qu'il en soit, pour ajouter la clé, câblez l'interrupteur/la clé entre la batterie et la prise DC barrel.

Si vous en avez un, coupez simplement l'un des fils, ajoutez des rallonges si nécessaire et ajoutez l'interrupteur. Dans mon cas, j'ai eu une prise de barillet de bornier et je l'ai câblée à l'aide de celle-ci. Comme je ne suis pas trop préoccupé par la sécurité, ma clé n'est qu'un simple interrupteur à bascule, mais vous pouvez faire preuve de créativité. Utilisez un interrupteur à lame et un aimant, RFID, peut-être même une application pour smartphone !

Étape 6 : montez-le !

Félicitations! Vous avez maintenant une alarme entièrement fonctionnelle avec clé. Il ne vous reste plus qu'à le monter dans votre sac à dos. Découpez un trou sur le côté pour le buzzer et un pour le trou de la serrure. J'ai utilisé des attaches zippées, mais une solution plus permanente peut être utilisée. Assurez-vous que le capteur est monté quelque peu parallèle au sol et que le trou du buzzer n'est pas obstrué.

Aller plus loin

Cette alarme n'est pas limitée aux sacs à dos. Ajoutez-le à une porte, un pot à biscuits, le réfrigérateur ou tout ce que vous souhaitez protéger. Les possibilités sont infinies!

Code

  • Code
CodeArduino
Code Arduino
// Inclure les bibliothèques #include #include #include #include // Ajuster la sensibilité const int sens =10;// Attribuez un identifiant unique à ce capteur en même temps Adafruit_LSM303_Mag_Unified mag =Adafruit_LSM303_Mag_Unified(12345);void setup(void) { //Juste pour le débogage //Serial.begin(9600); //Série.println("Démarrage..."); // Configuration de la broche 13 pinMode(13, OUTPUT); // Initialise le capteur if(!mag.begin()) { // Il y a eu un problème lors de la détection du LSM303 ... vérifiez vos connexions digitalWrite(13, HIGH); retard (500); digitalWrite(13, LOW); retard (500); digitalWrite(13, ÉLEVÉ); retard (500); digitalWrite(13, LOW); retard (500); tandis que (1); } // Attendre un délai de 5 secondes (5000); // Alerte au démarrage digitalWrite(13, HIGH); retard (500); digitalWrite(13, LOW);}// fonction pour obtenir la valeur du capteur int getDeg(void){ // Obtenir un nouvel événement de capteur sensor_event_t event; mag.getEvent(&event); flottant Pi =3,14159 ; // Calcule l'angle du vecteur y,x float cap =int((atan2(event.magnetic.y,event.magnetic.x) * 180) / Pi); // Normaliser à 0-360 if (titre <0) { titre =360 + titre; } return header;}void loop(void) { // obtenir les valeurs du capteur int oldDeg =getDeg(); retard(1000); int newDeg =getDeg(); if (newDeg <(oldDeg-sens) &&oldDeg !=0 &&newDeg !=0) { // sonne l'alarme digitalWrite(13, HIGH); //Juste pour le débogage //Serial.println("Triggered"); //Série.println(""); }else if (newDeg> (oldDeg+sens) &&oldDeg!=0 &&newDeg !=0) { // sonne l'alarme digitalWrite(13, HIGH); //Juste pour le débogage //Serial.println("Triggered"); //Série.println(""); } //Juste pour le débogage //Serial.print("New:"); //Serial.println(newDeg); //Série.print("Ancien :"); //Série.println(oldDeg); //Serial.println("");}

Schémas

À la boussole :
Bleu - SDA
Jaune - SDL
Noir - GND
Rouge - NIV

Processus de fabrication

  1. Conception à sécurité intégrée
  2. Capteur de mouvement, alarme, enregistrement vidéo en HA sur Raspberry Pi
  3. Avertisseur d'eau Raspberry Pi 2 avec t cobbler plus
  4. Système d'alarme de détection de mouvement
  5. Robot d'alarme roulante
  6. Alarme de soif d'usine
  7. Système d'alarme Arduino :SERENA
  8. La sécurité du système d'alarme mise à l'épreuve
  9. Réveil simple avec DS1302 RTC