Table des matières:
- Fournitures
- Étape 1: Fournitures
- Étape 2: câblez l'Ardunio et les modules comme indiqué dans l'image
- Étape 3: ajouter les bibliothèques nécessaires à l'IDE Arduino
- Étape 4: Ensuite, nous devons obtenir les codes de vos capteurs
- Étape 5: Modèle de code Arduino
- Étape 6: Collez les codes que vous avez obtenus à l'étape 5 dans le modèle Arduino Sketch
- Étape 7: Téléchargez le.ino modifié sur votre Arduino et testez
- Étape 8: Réglage de l'heure sur le module RTC et modification des heures d'armement et de désarmement
- Étape 9: Notes supplémentaires
Vidéo: Système d'alarme sans fil Arduino utilisant des capteurs existants : 9 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
Ce projet peut être construit en environ une demi-heure à un coût d'environ 20,00 $ si vous avez des capteurs d'alarme sans fil 433Mhz ou 315Mhz existants.
Il peut également s'agir d'un tout nouveau projet avec des capteurs d'alarme sans fil, tels que des détecteurs de mouvement infrarouges et des commutateurs à lames, disponibles en ligne facilement et à moindre coût. Il suffit de rechercher des capteurs 433Mhz ou 315Mhz qui utilisent le codage PT2262 ou EV1527.
Je suis sûr qu'il y a beaucoup de gens comme moi qui ont acheté un système d'alarme GSM/2G avec des capteurs sans fil et en sont satisfaits, mais lorsque le réseau 2G/GSM a été éteint là où j'habite, je me suis retrouvé avec un système d'alarme que je pouvais ne plus programmer ni même régler l'heure dessus. Un jour en me demandant ce que je pourrais faire pour que mon alarme soit à nouveau fonctionnelle, il m'est venu à l'idée de vérifier si un Arduino pouvait recevoir les signaux des capteurs. Je suis tombé sur un https://www.instructables.com/id/Decoding-and-sending-433MHz-RF-codes-with-Arduino-/ instuctable et après quelques expériences, j'ai déterminé que je pouvais recevoir les signaux de mes capteurs existants. J'ai commencé le processus de construction d'un système d'alarme qui pourrait remplacer mon alarme existante et offrirait également une fonctionnalité accrue. L'un des problèmes avec l'ancienne alarme était de ne jamais savoir exactement lequel des 25 capteurs s'était déclenché. En ajoutant un écran LCD à ma nouvelle version d'alarme, j'obtiens maintenant du texte sur l'écran LCD indiquant exactement quel capteur a été activé. La nouvelle alarme peut toujours être armée manuellement par mes télécommandes sans fil existantes et dispose d'une horloge en temps réel pour lui permettre de s'armer et de se désarmer automatiquement à des heures prédéfinies de la journée.
Fournitures
Voir les notes supplémentaires à la fin pour vous assurer d'utiliser la version correcte de ces pièces.
Arduino Uno ou similaire
Module récepteur 433 ou 315 MHz pour Arduino
Module d'horloge temps réel DS3231 pour Arduino
Module I2C 16x2 LDC pour Arduino
Interrupteurs à lames d'alarme sans fil, détecteurs de mouvement et télécommandes au choix
Buzzer piézo
LED et résistance 220 ohms
Planche à pain (facultatif mais recommandé)
Alimentation appropriée pour Arduino
Fils de cavalier, etc.
PC avec Arduino IDE installé
Connaissance de base d'Arduino
Étape 1: Fournitures
Quelques images ci-dessus des fournitures dont vous aurez besoin pour ce projet
Étape 2: câblez l'Ardunio et les modules comme indiqué dans l'image
Piezo entre la broche 5 de l'Arduino et la terre
LED entre la broche 8 de l'Arduino et à une résistance de 220ohm puis à la terre
Récepteur 433 ou 315 Mhz, VCC à 5V, GND à la terre et l'une des 2 broches de données à la broche 2 de l'Arduino
Module LCD I2C 16X2 VCC à 5V, GND à la terre, broches SCL SDA à SCL SDA de l'Arduino (la broche A5 est SCL, la broche A4 est SDA)
Module DS3231 RTC VCC à 5V, GND à la terre, broches SCL SDA à SCL SDA de l'Arduino (il y a un 2ème jeu situé au-dessus des broches GND et AREF de la plupart des Arduino)
Je sais que certains d'entre vous n'auront pas besoin de plus d'informations que celles-ci et du croquis ci-joint, mais je vais entrer dans les détails pour tous ceux qui souhaitent un peu plus d'aide.
Étape 3: ajouter les bibliothèques nécessaires à l'IDE Arduino
L'Arduino Sketch pour exécuter l'alarme utilise certaines bibliothèques qui ne sont pas déjà installées sur l'IDE Arduino par défaut.
Pour ajouter la bibliothèque RCSwitch à l'IDE Arduino. Ouvrez l'IDE Arduino dans le menu du haut, sélectionnez "Esquisse", puis dans le menu déroulant, sélectionnez "Inclure la bibliothèque" et dans le menu déroulant suivant, sélectionnez "Gérer les bibliothèques". Puis dans la case "Filtrer votre recherche" tapez "RCSW", cliquez ensuite sur installer pour "rc-switch by sui77"
Instructions détaillées sur l'ajout de bibliothèques sur
Pendant que nous y sommes, nous devons également ajouter les bibliothèques appelées Time, TimeAlarms, DS1307RTC et LiquidCrystal_I2C, même procédure que ci-dessus mais en recherchant le nom de chaque nouvelle bibliothèque et en l'installant. Voir les captures d'écran ci-dessus si vous ne savez pas quelles bibliothèques utiliser.
L'horloge temps réel DS3231 est compatible et utilise la bibliothèque DS1307RTC.
Étape 4: Ensuite, nous devons obtenir les codes de vos capteurs
J'ai fourni le modèle du code Arduino ci-dessous mais vous devrez trouver les valeurs pour chacun de vos capteurs et les coller dans le code.
Il existe de nombreuses informations sur la façon d'obtenir ces codes sur ces deux sites;
www.instructables.com/id/Decoding-and-sending-433MHz-RF-codes-with-Arduino-/
github.com/sui77/rc-switch/wiki
Cependant voici ma version abrégée;
Pour obtenir les codes que vos capteurs et télécommandes envoient, connectez l'Arduino assemblé à l'étape 1 à un PC via un câble USB et ouvrez l'IDE Arduino. Ensuite, dans l'IDE Arduino, allez dans le menu déroulant "Fichier", puis dans "Exemples", faites défiler la liste des exemples d'esquisses jusqu'à ce que vous trouviez "RCSWITCH", puis sélectionnez l'esquisse "ReceiveDemo_Advanced" et téléchargez-la sur l'Arduino. Une fois l'esquisse téléchargée avec succès, ouvrez le moniteur série de l'IDE Arduino avec celui-ci toujours connecté à votre PC via USB. Déclenchez maintenant le premier des capteurs dont vous souhaitez obtenir le code, la sortie de RCSwitch apparaîtra dans la fenêtre du moniteur série. Pour ce projet, nous recherchons les codes décimaux comme mis en évidence dans la capture d'écran 2. Vous devrez déclencher le capteur plusieurs fois à la recherche de la valeur décimale qui apparaît le plus souvent, parfois il y aura différentes valeurs mélangées avec la vraie valeur, cela est causé par des interférences provenant d'ondes radio aléatoires ou d'autres appareils fonctionnant sur la même fréquence.
Notez le code décimal du capteur à utiliser à l'étape suivante. Répétez l'opération pour tous les capteurs et télécommandes que vous souhaitez utiliser dans le projet, en gardant une trace du code correspondant à quel capteur. Si vous utilisez des télécommandes pour armer et désarmer l'alarme, vous devrez noter les différents codes pour le bouton d'armement et le bouton de désarmement de chaque télécommande.
Étape 5: Modèle de code Arduino
Vous trouverez ci-dessous une copie de mon code Arduino sous forme de fichier.ino appelé Wireless_Alarm. Vous pouvez cliquer dessus et il devrait s'ouvrir dans l'IDE Arduino. Je ne suis pas un programmeur, mon code est assemblé en partie à partir des exemples trouvés dans l'IDE Arduino, il n'est probablement pas particulièrement élégant mais il fonctionne et a été fiable sur une longue période de temps.
N'oubliez pas de réenregistrer le croquis après avoir apporté les modifications pour inclure les codes de vos propres capteurs.
Étape 6: Collez les codes que vous avez obtenus à l'étape 5 dans le modèle Arduino Sketch
Maintenant, les étapes pour personnaliser le code des capteurs et télécommandes que vous utilisez.
Si vous ouvrez le sketch Wireless_Alarm dans votre IDE, vous verrez à la ligne 111.
if (mySwitch.getReceivedValue() == 115166236) //Code du bouton d'armement Fob
Là où dans le code existant, il se lit 115166236, vous devez remplacer ce nombre par le code décimal pour le bouton d'armement de votre télécommande que vous avez enregistré à l'étape 5.
Par exemple, si à l'étape 5 vous obtenez un nombre décimal 1154321, vous modifierez la ligne 111 pour lire maintenant;
if (mySwitch.getReceivedValue() == 1154321) //Code du bouton d'armement Fob
Suivez la même procédure pour la ligne 125.
if (mySwitch.getReceivedValue() == 115166234) //Code du bouton de désarmement Fob
Remplacez 115166234 par le code du bouton de désarmement de votre télécommande que vous avez enregistré à l'étape 5.
Si vous souhaitez utiliser plusieurs télécommandes pour armer et désarmer, copiez et collez les lignes 111 à 136 autant de fois que nécessaire, puis modifiez les valeurs en fonction de vos autres télécommandes, mais il est préférable de commencer avec une télécommande jusqu'à ce que vous soyez sûr de votre modification. le croquis fonctionne.
Passons maintenant au codage des capteurs d'alarme dans le croquis à la ligne 140
if(ledState == HIGH && mySwitch.getReceivedValue() == 1151640) //Action pour l'armoire de bureau de l'expéditeur du signal
Sortez 1151640 et insérez la valeur décimale d'un de vos capteurs d'alarme.
Puis à la ligne 158.
lcd.print(F("Placard de bureau")); // imprimer un message à l'écran LCD pour savoir quel capteur a été activé (et aller chercher le cambrioleur:)
Changez l'armoire de bureau en ce que vous souhaitez voir affiché sur l'écran LCD pour ce capteur. Par exemple, si vous voulez lire kitchendoor, faites en sorte que la ligne ressemble à ceci;
lcd.print(F("Kitchendoor")); // imprimer un message à l'écran LCD pour savoir quel capteur a été activé (et aller chercher le cambrioleur:)
Les noms ne doivent pas dépasser 16 caractères.
Entre la ligne 165 et 187 se trouve un modèle à copier et coller autant de fois que nécessaire sur les lignes directement en dessous de 187. Remplacez le nombre après mySwitch.getReceivedValue() == par la décimale de l'un de vos autres capteurs que vous avez enregistré à l'étape 5 et changez le nom dans le " " dans lcd.print(F("sensornamehere")); au nom que vous voulez donner à votre capteur.
Si vous n'utilisez pas de télécommandes pour armer et désarmer votre alarme, vous pouvez simplement ignorer les lignes 111-136 ou mettre // au début de chacune des lignes indésirables et l'Arduino ne les lira pas.
N'oubliez pas d'enregistrer le fichier après avoir effectué vos modifications.
Étape 7: Téléchargez le.ino modifié sur votre Arduino et testez
Avec l'Arduino toujours connecté à votre PC par USB, téléchargez le croquis sur la carte Arduino. Une fois le téléchargement terminé avec succès, l'écran LCD devrait indiquer « Alarm On Désarmé ». Appuyez sur le bouton d'armement de votre télécommande et l'écran LCD devrait indiquer « Alarm On Armed » et la LED devrait être allumée pour vous faire savoir qu'il est armé, maintenant déclenchez un capteur pendant qu'il est armé, l'écran LCD devrait lire Alarme suivi d'un horodatage et l'emplacement du capteur, le bip doit retentir pendant 2 minutes à moins que vous n'appuyiez sur le bouton de désarmement. Si vous n'obtenez pas ce résultat, revérifiez les codes que vous avez obtenus à l'étape 5 et les modifications que vous avez apportées au code à l'étape précédente, revérifiez également le câblage de tous les composants. Si l'écran LCD ne lit pas du tout, il y a un réglage du contraste à l'arrière du module LCD. Une fois le contraste réglé correctement, si l'écran LCD ne lit toujours pas, essayez de changer l'adresse de l'écran LCD de 0x3f à 0x27 à la ligne 12 du croquis. Dépannage LCD ici Tutoriel LCD I2C
Étape 8: Réglage de l'heure sur le module RTC et modification des heures d'armement et de désarmement
Espérons que votre RTC était déjà réglé avec l'heure correcte, mais sinon ouvrez l'IDE, sélectionnez "Fichier" et dans le menu déroulant, cliquez sur "Exemples", faites défiler jusqu'à "DS1307RTC" et sélectionnez le croquis "SetTime", téléchargez le croquis sur votre Arduino et il réglera l'horloge en temps réel avec l'heure de votre PC. Vous devrez ensuite recharger le sketch Wireless_Alarm sur votre Arduino.
Le Wireless_Alarm.ino que j'ai fourni réglera par défaut l'alarme pour qu'elle s'arme automatiquement à 22h15 tous les soirs et se désarme à 6h00 chaque matin. Pour changer ces heures, modifiez le Sketch aux lignes 71 et 72. L'heure est entre parenthèses après Alarm.alarmRepeat au format HH, MM, SS. changez cela à l'heure qui vous convient.
Alarm.alarmRepeat (6, 00, 0, MorningAlarm); // Heure de DÉSARMEMENT
Alarm.alarmRepeat(22, 15, 0, EveningAlarm); // heure ARM
Donc, pour changer l'heure de désarmement à 9h15 et l'heure d'armement à 17h30, le code ressemblerait à ceci
Alarm.alarmRepeat(9, 15, 0, MorningAlarm); // Heure de DÉSARMEMENT
Alarm.alarmRepeat(17, 30, 0, EveningAlarm); // heure ARM
Si vous ne voulez pas que l'alarme s'arme et se désarme automatiquement, placez // devant les 2 lignes et elles ne seront pas utilisées.
//Alarm.alarmRepeat(6, 00, 0, MorningAlarm); // Heure de DÉSARMEMENT
//Alarm.alarmRepeat(22, 15, 0, EveningAlarm); //Heure d'armement
La durée pendant laquelle le bip d'alarme retentit peut être modifiée en modifiant la ligne 22
const intervalle long = 120 000; //pour le délai de millis pendant la durée pendant laquelle l'alarme retentit
L'intervalle est en millisecondes, donc 120000 = 120 secondes, changer 120000 à 30000 ferait sonner l'alarme pendant 30 secondes.
Un solénoïde pour faire fonctionner une sirène, une lumière stroboscopique, un avertisseur sonore à haut volume, etc. peut également être câblé à la broche 7 ou à la broche 9 et fonctionnera pendant "l'intervalle" défini ci-dessus. Gardez à l'esprit que la charge maximale d'une broche Arduino ne doit pas dépasser 40 mA.
Étape 9: Notes supplémentaires
Lors de la sélection d'un module récepteur 433 ou 315 MHz pour Arduino, vous devez choisir la fréquence qui correspond aux capteurs d'alarme que vous avez l'intention d'utiliser. Je suggère d'acheter un module livré avec une petite antenne hélicoïdale en spirale pour de meilleures performances, ou une antenne filaire droite de 17,3 mm de long augmente également les performances.
Avec le module LCD 16x2, vous devez utiliser un LCD I2C 4 broches pour utiliser les instructions et le code que je fournis ici, il pourrait être fait avec un LCD standard 16 broches mais cela ne fonctionnera pas avec le câblage ou le code ici.
Les commutateurs à lames d'alarme sans fil, les détecteurs de mouvement et les télécommandes doivent être à 433 Mhz ou 315 Mhz pour correspondre au récepteur que vous avez l'intention d'utiliser et doivent utiliser le codage PT2262 ou EV1527.
L'alarme est extensible et adaptable, j'ai déjà ajouté une carte SD pour enregistrer lorsque les capteurs sont déclenchés, modifié l'écran LCD pour qu'il ne s'allume que lorsqu'un bouton est enfoncé et ajouté une sirène de 100 dB, mais je n'ai pas inclus de détails ici pour garder l'article comme court et simple que possible. J'espère que partager le travail que j'ai fait sur cette alarme sera utile à d'autres.
Heureux de répondre à toutes les questions.
Merci.
Conseillé:
Robot Arduino sans fil utilisant le module sans fil HC12 : 7 étapes
Robot Arduino sans fil utilisant le module sans fil HC12 : Salut les gars, bon retour. Dans mon article précédent, j'ai expliqué ce qu'est un circuit de pont en H, un circuit intégré de pilote de moteur L293D, un circuit de pilote de moteur L293D superposé pour piloter des pilotes de moteur à courant élevé et comment vous pouvez concevoir et fabriquer votre propre carte de pilote de moteur L293D
Télécommande sans fil utilisant le module 2.4Ghz NRF24L01 avec Arduino - Nrf24l01 4 canaux / 6 canaux émetteur-récepteur pour quadrirotor - Hélicoptère Rc - Avion Rc utilisant Arduino: 5 étapes (avec photos)
Télécommande sans fil utilisant le module 2.4Ghz NRF24L01 avec Arduino | Nrf24l01 4 canaux / 6 canaux émetteur-récepteur pour quadrirotor | Hélicoptère Rc | Avion Rc utilisant Arduino: Pour faire fonctionner une voiture Rc | Quadricoptère | Drone | Avion radiocommandé | Bateau RC, nous avons toujours besoin d'un récepteur et d'un émetteur, supposons que pour RC QUADCOPTER nous ayons besoin d'un émetteur et d'un récepteur à 6 canaux et que ce type de TX et RX soit trop coûteux, nous allons donc en faire un sur notre
Communication sans fil utilisant des modules RF 433 MHz bon marché et des microcontrôleurs Pic. Partie 2 : 4 étapes (avec photos)
Communication sans fil utilisant des modules RF 433 MHz bon marché et des microcontrôleurs Pic. Partie 2: Dans la première partie de cette instructable, j'ai montré comment programmer un PIC12F1822 à l'aide du compilateur MPLAB IDE et XC8, pour envoyer une chaîne simple sans fil à l'aide de modules TX/RX 433MHz bon marché. Le module récepteur était connecté via un USB à UART TTL publicité par câble
Système DIY de micro sans fil pour guitare sans fil : 4 étapes
DIY Wireless Mic to Wireless Guitar System: J'ai regardé des vidéos et des groupes et presque tous utilisent un système sans fil à la guitare. Devenir fou, bouger, marcher et faire ce qu'ils veulent sans le cordon alors je rêve d'en avoir un.. Mais.. pour moi maintenant c'est trop cher alors je suis arrivé à ça
Pirater une sonnette sans fil dans un interrupteur d'alarme sans fil ou un interrupteur marche/arrêt : 4 étapes
Piratage d'une sonnette sans fil dans un interrupteur d'alarme sans fil ou un interrupteur marche/arrêt : j'ai récemment construit un système d'alarme et je l'ai installé dans ma maison. J'ai utilisé des interrupteurs magnétiques sur les portes et les ai câblés à travers le grenier. Les fenêtres étaient une autre histoire et leur câblage n'était pas une option. J'avais besoin d'une solution sans fil et c'est