Table of Contents

Pourquoi construire un système de sécurité basé sur le microcontrôleur?

Construisez votre propre système de sécurité avec un microcontrôleur est l'une des façons les plus efficaces de comprendre à la fois l'électronique embarquée et les principes de sécurité du monde réel. Les systèmes d'alarme hors-sol sont souvent verrouillés, coûteux ou difficiles à personnaliser. Une approche basée sur le microcontrôleur vous donne un contrôle complet sur les types de capteurs, la logique d'alerte, les méthodes de notification et la mise en page physique.

Les microcontrôleurs modernes comme l'Arduino Uno et l'ESP32 offrent suffisamment de puissance de traitement, de flexibilité d'E/S et d'options de connectivité pour gérer la détection de mouvement, la surveillance des portes, les alertes audio et les notifications à distance.

Ce dont vous aurez besoin : Liste complète des matériaux

Avant de tout câblage, rassemblez les composants suivants. La plupart sont peu coûteux et disponibles auprès de tout distributeur électronique ou détaillant en ligne.

Composantes de base

  • – Une carte de contrôleur micro – Un Arduino Uno (ATmega328P) pour une construction câblée simple, ou une carte de développement ESP32 si vous voulez une connexion Wi-Fi intégrée et Bluetooth pour les alertes à distance.
  • Capteur de mouvement infrarouge passif[ – HC-SR501 est le choix le plus commun et fiable. Il détecte les mouvements en sensibilisant les changements dans le rayonnement infrarouge.
  • Commandeurs à roseaux magnétiques[ – Interrupteurs à deux fils normalement ouverts (NO) ou normalement fermés (NC) pour la surveillance des portes et des fenêtres.
  • LED clignotants – Au moins une LED rouge pour l'état d'alarme et une LED verte pour l'état armé.
  • Buzzer piézoélectrique – Buzzer actif 5V pour alertes sonores. Les buzzers passifs nécessitent PWM, mais les buzzers actifs produisent un son avec un signal HAUT simple.
  • Kit de résistance – Les résistances de traction 10k--up pour interrupteurs à roseau et 220--L pour LED sont essentielles.
  • Fils de potasse – Fils flexibles mâles-féminins et mâles-à-hommes pour prototypage sur une table à pain.
  • Plage – Une demi-taille ou une grande surface sans soudure pour le montage de circuits.
  • Alimentation électrique – Un adaptateur DC 5V pour Arduino ou une banque d'alimentation USB pour les configurations portables. Les cartes ESP32 nécessitent généralement une entrée 5V via USB ou une alimentation 3.3V réglementée.

Add-Ons facultatifs mais recommandés

  • Di module Wi-Fi ou Bluetooth[ – Si vous choisissez un Arduino Uno, ajoutez un module ESP8266 ou un ESP32 séparé comme co-processeur pour les alertes sans fil. Si vous choisissez une carte de dev ESP32, Wi-Fi et Bluetooth sont déjà à bord.
  • Clavier (4×4 matrice de membrane) – Pour armer/désarmer le système avec un code PIN.
  • RFID reader (RC522) – Active l'authentification par carte-clé.
  • Module de carte MicrosoftSD[ – Pour enregistrer des événements de sécurité avec des horodatages.
  • Module relais[ – Pour contrôler les dispositifs externes comme une sirène, un projecteur ou un verrou de porte.

Étape 1: Configuration matérielle – Câblage tout ensemble

Une disposition propre et bien organisée du câblage est essentielle pour un fonctionnement fiable. Travaillez méthodiquement, vérifiez chaque connexion avant d'appliquer la puissance, et utilisez un codage de couleur cohérent pour le sol (noir), la puissance (rouge) et les lignes de signal.

Connexion du capteur de mouvement PIR

Le capteur PIR HC-SR501 a trois broches : VCC (5V), GND et sortie. Connectez VCC au rail 5V sur la bâche, GND au sol, et le broche de sortie à une entrée numérique sur le microcontrôleur (par exemple, broche 7 sur un Arduino Uno ou GPIO 13 sur un ESP32). Le module comprend des options de saut à bord pour le mode de déclenchement et la sensibilité. Réglez le saut à retrigger sur H (sitting de répétition) si vous voulez des alertes continues pendant que le mouvement persiste, ou L (sitting de déclenchement unique) pour la détection d'une prise par mouvement.

Connexion des capteurs de porte et de fenêtre

Les interrupteurs à roseaux magnétiques sont des dispositifs simples à deux fils. Faites passer un côté de l'interrupteur à une broche d'entrée numérique et l'autre côté au sol. Activez la résistance interne à l'arrachement du microcontrôleur sur cette broche via un logiciel (INPUT PULLUP en code Arduino). Lorsque l'aimant est près de l'interrupteur, le circuit se ferme, tirant la broche LOW. Lorsque la porte s'ouvre, le circuit se casse et la broche s'en va HAUTE. Cette logique inversée est facile à manipuler en code. Utilisez une résistance externe à l'arrachement de 10k-

Indicateur LED et Buzzer

Placez les LEDs rouges et vertes sur la breadboard avec leurs anodes (gauche plus longue) connectées à travers 220- , aux goupilles de sortie numériques. Connectez leurs cathodes (gauche plus courte) au sol. Pour le buzzer, connectez le plomb positif à une goupille de sortie et le plomb négatif au sol. Un buzzer actif sonnera immédiatement lorsque vous réglerez le buzz HAUT. Si vous avez besoin d'une sortie plus forte, conduisez le buzzer à travers un transistor ou un module relais.

Distribution et découplage de l'énergie

Ajouter un condensateur électrolytique 100μF entre les rails de puissance et de sol pour lisser les pics de tension causés par le capteur PIR et le buzzer. Cette étape simple réduit considérablement les chances de réinitialiser au hasard ou de déclencher de faux déclencheurs. Utilisez un condensateur céramique 100nF séparé près du microcontrôleur et des broches de puissance pour la suppression du bruit à haute fréquence. Si vous utilisez un ESP32, le régulateur de tension embarqué gère l'entrée 5V, mais une capacité supplémentaire sur le rail 3.3V est toujours recommandée.

Étape 2: Programmation du microcontrôleur – Logique de base

Le firmware est le cerveau de votre système de sécurité. L'approche suivante est board-agnostic; la même logique s'applique aux plateformes Arduino Uno et ESP32. Ecrivez votre code dans l'IDE Arduino ou PlatformIO, en adaptant les numéros de broches au besoin.

Mise en place des goupilles et des constantes

Définissez toutes les assignations de broches, les seuils de déclenchement et les constantes de synchronisation en haut de votre croquis. Cela rend les modifications futures simples sans chasser par la logique. Utilisez des noms de variables clairs et descriptifs.

Capteurs de surveillance avec interruptions et sondages

Pour le capteur PIR, un simple sondage d'entrée numérique à l'intérieur de la fonction loop() fonctionne bien car les événements de mouvement produisent un signal HIGH soutenu (généralement 2–3 secondes). Lisez l'état de la broche et définissez un drapeau lorsque le mouvement est détecté. Pour les interrupteurs à roseau, vous pouvez soit balayer la broche à intervalles réguliers ou fixer une interruption sur le changement de broche pour une réponse immédiate.

Mise en œuvre de la machine d'État d'alarme

Modélisez votre système avec trois états : DISARMED, ARMED et ALARM. Dans l'état DISARMED, le système ignore toutes les entrées de capteur. Dans l'état ARMED, le microcontrôleur surveille chaque capteur. Lorsque tout capteur déclenche, le système passe à l'état ALARM, activant le buzzer et les LED. Ajoutez un délai de sortie de 15–30 secondes après l'armement afin que vous puissiez quitter la zone protégée sans déclencher de fausse alarme. Implémentez ce délai en utilisant millis() plutôt que de retarder() pour que le tableau reste sensible aux autres entrées pendant le compte à rebours.

Dénonciation des commutateurs de roseaux

Les interrupteurs mécaniques peuvent rebondir lorsqu'ils s'ouvrent ou se ferment, produisant des transitions rapides qui peuvent être mal interprétées comme des événements multiples. Implémentez une routine simple de débonflage : ignorez tout changement d'état qui dure moins de 20 millisecondes. Suivez le dernier état stable et le moment du dernier changement.

Flux logique de l'échantillon

Dans le pseudocode, la boucle du noyau ressemble à ceci:

  • Lisez la broche de capteur PIR. Si le mouvement est détecté et que le système est ARMED, définissez le drapeau d'alarme.
  • Lisez la broche de commutateur roseau. Si la porte s'ouvre et que le système est ARMED, définissez le drapeau d'alarme.
  • Si le délai de sortie est actif, le minuteur de décrochage et ne répond pas aux capteurs jusqu'à l'expiration du délai.
  • Si le signal d'alarme est réglé, allumez le buzzer, flashez le voyant rouge et appelez la fonction de notification (si le Wi-Fi est activé).
  • Vérifiez l'entrée de l'utilisateur (clavier ou bouton) pour désarmer le système et effacer le drapeau d'alarme.

Étape 3: Essai et étalonnage pour un fonctionnement fiable

Les tests ne sont pas un événement ponctuel. Exécutez ces procédures de façon séquentielle et ne passez pas à l'étape suivante avant que chaque test ne passe régulièrement.

Vérification initiale de l'alimentation en marche

Appliquer la puissance sur la table à pain et vérifier que les bottes du microcontrôleur. La LED verte devrait s'allumer pour indiquer que le système est à l'état DISARMED. Si la LED ne s'allume pas, vérifier la polarité et les connexions de résistance. Mesurer la tension sur les rails de puissance de la table à pain pour confirmer la livraison 5V.

Étalonnage de sensibilité du capteur

Le capteur PIR HC-SR501 nécessite une période d'étalonnage de 30–60 secondes après la mise en marche avant qu'il ne fournisse des lectures stables. Pendant ce temps, la broche de sortie peut basculer au hasard. Attendez la période de mise en température, puis testez la détection de mouvement en passant par le champ de vision du capteur’. Ajustez le potentiomètre de sensibilité jusqu'à ce que le capteur détecte de façon fiable les mouvements à la plage désirée (généralement 5–7 mètres). Ajustez le potentiomètre de retard pour déterminer la durée de la sortie HAUTE après les arrêts de mouvement (la valeur par défaut est de 2–3 secondes; des retards plus longs réduisent les faux déclencheurs à partir de mouvements brefs).

Vérification du capteur de porte

Ouvrez et fermez la porte équipée de l'interrupteur à roseau tout en surveillant la sortie de console série. Confirmez que le système imprime l'état correct (OPEN ou CLOSED) pour chaque action. Si vous voyez un changement d'état rapide, augmentez l'intervalle de déconcentration dans le code. Si vous ne voyez pas de changement d'état, vérifiez la polarité du câblage et la configuration de traction.

Scénarios d'intrusion simulés

Armez le système, attendez que le délai de sortie expire, puis simulez une intrusion en déclenchant le capteur PIR ou en ouvrant une porte surveillée. Le buzzer doit s'activer immédiatement, et la LED rouge doit clignoter. Temps de réponse : l'alarme doit déclencher dans les 200–300 millisecondes de l'événement du capteur. Testez la récupération des faux-bras en désarmant le système à partir d'un clavier ou d'une combinaison de boutons secrets. Effectuez au moins dix cycles consécutifs de test pour assurer un comportement répétable.

Étape 4: Améliorations avancées pour un système de production-réapprovisionnement

Une fois le système de base fiable, ajoutez des fonctionnalités qui transforment un prototype de base en une solution de sécurité pratique et conviviale. Les améliorations suivantes sont énumérées dans l'ordre de complexité croissante.

Notifications de poussée sans fil avec ESP32

Si vous utilisez un ESP32, intégrez les bibliothèques WiFi et HTTPClient pour envoyer des alertes par courriel, SMS ou un service tiers comme Twilio ou IFTTT. Pour une approche plus simple, utilisez la bibliothèque Universal Telegram Bot[ pour envoyer des alertes d'intrusion directement à votre application Telegram. Le code se connecte à votre réseau Wi-Fi au démarrage, et lorsqu'un événement d'alarme se produit, il émet une demande HTTP POST avec un message contenant l'identifiant du capteur et l'horodatage.

Pour les utilisateurs d'Arduino Uno, ajoutez un module ESP8266 connecté via UART série. Envoyez des commandes AT au ESP8266 pour gérer les connexions Wi-Fi. Bien que fonctionnelle, cette approche utilise plus de broches et est moins élégante qu'une seule carte ESP32. La documentation officielle ESP32 fournit des conseils détaillés sur la configuration Wi-Fi et les modes de sommeil profonds pour le fonctionnement à faible puissance.

Authentification de l'utilisateur avec clavier ou RFID

L'installation d'un clavier à membrane 4×4 vous permet de brasser et de désarmer le système avec un PIN à 4 –8 chiffres. La bibliothèque Keypad Arduino simplifie la numérisation de la colonne-row. Stockez le PIN dans EEPROM afin qu'il persiste dans les cycles de puissance. Ajouter un compteur de tentative : trois PIN erronés consécutifs devraient déclencher l'alarme ou verrouiller le clavier pendant une minute.

Un module RFID RC522 permet également aux utilisateurs autorisés de désarmer en appuyant sur une carte ou une clé. Le module communique via SPI et peut stocker jusqu'à 1000 UID de carte uniques dans la mémoire du microcontrôleur. NXP’s MFRC522 datasheet contient des spécifications électriques et des lignes directrices pour l'accordage de l'antenne pour une plage de lecture maximale.

Logging des événements de sécurité à la carte SD

Ajouter un module de carte MicroSD basé sur SPI pour enregistrer chaque événement de capteur avec un chronomètre en temps réel. En utilisant un module DS3231 RTC, vous pouvez enregistrer les événements dans le format . Ce fichier journal est inestimable pour l'analyse post-événement ou pour vérifier le comportement du système’s lors des tests. Ouvrez le fichier journal en mode appendice et videz le tampon après chaque écriture pour éviter la perte de données si l'alimentation est interrompue.

Télécommande via l'interface Web

Pour les systèmes basés sur ESP32, créez un simple serveur Web qui sert une page HTML lorsque vous vous connectez à l'adresse IP de microcontrôleur etrsquo;s. La page peut afficher l'état actuel du système et fournir des boutons pour armer, désarmer ou contourner des capteurs spécifiques. Utilisez la bibliothèque WebServer et servez une interface réactive minimale.

Étape 5 : Pièces jointes, sauvegarde de puissance et déploiement final

Le passage d'un prototype de breadboard à un système déployé nécessite un durcissement mécanique et électrique. Cette étape est souvent négligée mais est essentielle pour une fiabilité à long terme.

Choisir une pièce jointe

Montez le microcontrôleur, les capteurs et le câblage à l'intérieur d'un boîtier ABS ou en polycarbonate résistant aux intempéries. Utilisez les glandes de câbles pour les fils de capteurs entrant dans la boîte pour maintenir la cote IP. Pour une utilisation à l'intérieur, une simple boîte de projet avec des trous de ventilation est adéquate. Montez le capteur PIR à une hauteur de 2–2,5 mètres pour une couverture optimale d'une pièce typique.

Sauvegarde d'alimentation avec batterie

Un système de sécurité qui échoue lors d'une panne de courant n'est pas sécurisé. Ajoutez un circuit de sauvegarde 5V à l'aide d'un module de recharge au lithium-ion TP4056 et d'une cellule 18650. Connectez la sortie du module de recharge au microcontrôleur et aux commandesquo;s 5V à l'aide d'une diode Schottky pour empêcher le retour. Le système fonctionne sur batterie pendant la panne du réseau et se déplace sans problème lorsque l'alimentation est rétablie.

Protection contre les surpressions et immunité sonore

Installez une diode TVS 5V sur les bornes d'entrée de puissance pour protéger contre les pics de tension. Pour les fils de capteur fonctionnant à plus de quelques mètres, utilisez un câble à paires tordues blindées et connectez le bouclier au sol seulement à l'extrémité du microcontrôleur.

Conclusion : Ce que vous avez construit et ce qui vient ensuite

Vous avez conçu, assemblé, programmé et déployé un système de sécurité à microcontrôleur qui détecte l'intrusion par des capteurs de mouvement et de porte, fournit des alertes audiovisuelles immédiates et peut vous avertir à distance via Wi-Fi. Le système est extensible par la conception : vous pouvez ajouter des détecteurs de fumée, des capteurs de rupture de verre ou des capteurs de fuite d'eau utilisant les mêmes modèles de câblage et de programmation.

Pour plus de détails sur la programmation avancée des microcontrôleurs, consultez le Arduino Language Reference pour les détails de base de la bibliothèque, ou explorez Des tutoriels spécifiques à l'ESP32 qui couvrent le sommeil profond, les mises à jour en OTA et l'intégration MQTT pour la connectivité cloud.