Une porte à ouverture à distance peut être ouverte ou fermée sans contact direct, grâce à un système électronique ou automatisé. Le but est de faciliter l'accès, améliorer la sécurité ou ajouter du confort.
1. Télécommande (ondes radio ou infrarouge)
Très utilisée pour les portails, portes de garage, ou voitures.
Il suffit d’appuyer sur un bouton pour envoyer un signal au récepteur qui active le moteur.
2. Badge RFID / Carte magnétique
Courant dans les immeubles, hôtels, bureaux.
Un lecteur lit les données du badge, vérifie si l’accès est autorisé, puis déverrouille la porte.
3. Clavier à code
On entre un code PIN sur un clavier pour déverrouiller.
Très utilisé pour les portes d’entrée de bâtiments ou coffres.
4. Bluetooth ou Wi-Fi (via smartphone)
L’ouverture se fait depuis une application mobile.
Permet de gérer les accès à distance, même à l’étranger (idéal pour les Airbnbs, par exemple).
5. Empreinte digitale / reconnaissance faciale
Systèmes biométriques de plus en plus abordables.
Très sécurisés, utilisés dans les maisons modernes ou les entreprises.
6. Capteurs de proximité ou de mouvement
Automatique à l’approche (comme dans les supermarchés).
Idéal pour éviter les contacts, surtout dans les lieux publics.
Confort : plus besoin de clés physiques.
Sécurité : accès contrôlé, historique des ouvertures.
Accessibilité : utile pour les personnes âgées ou handicapées.
Connectivité : certains systèmes sont intégrables à la domotique (Alexa, Google Home…).
Créer un système permettant d’ouvrir une porte à l’aide d’une télécommande infrarouge. Lorsque l’utilisateur appuie sur un bouton précis de la télécommande, le capteur KY-032 reçoit le signal, l'ESP8266 le décode, puis active le servomoteur pour ouvrir la porte. Un écran LCD I2C affiche l’état de la porte en temps réel.
Fonctionnement
1- L'utilisateur appuie sur un bouton spécifique de la télécommande.
2- Le capteur KY-032 reçoit le signal infrarouge.
3- L’ESP8266 le décode grâce à la bibliothèque IRremoteESP8266.
4- Si le bouton 1 est pressé, le servomoteur tourne pour ouvrir la porte et l’écran LCD affiche : “Porte ouverte”.
5- Si le bouton 2 est pressé, le servomoteur tourne pour fermer la porte et l’écran LCD affiche : “Porte fermée”.
1. ESP8266 NodeMCU
Rôle : C’est le cerveau du projet. Il reçoit les données du capteur infrarouge, traite les signaux, commande le servomoteur et met à jour l'affichage sur le LCD.
2. Télécommande infrarouge
Rôle : Permet d’envoyer un signal codé vers le capteur infrarouge. Chaque bouton envoie un code unique que l'ESP8266 peut reconnaître.
Capteur infrarouge KY-032
3. Capteur infrarouge KY-032
Rôle : Récepteur IR qui capte les signaux de la télécommande. Il détecte des signaux infrarouges modulés à 38 kHz et envoie un signal HIGH ou LOW à l’ESP8266 selon la détection IR.
4. Servomoteur SG90
Rôle : Actionne la porte en effectuant une rotation contrôlée (par exemple, 90° pour "fermé", 20° pour "ouvert").
5. Écran LCD I2C
Rôle : Affiche l’état actuel de la porte : par exemple “Porte ouverte”, “Porte fermée”
6. Fils Dupont
Les Fils Dupont permettent les connexions entre composants sans soudure.
7. Breadboard
La breadboard sert à tester et organiser les composants facilement.
Connexion de l'afficheur I2C LCD à la carte ESP8266 NodeMCU
LCD I2C Screen Pin | ESP8266 NodeMCU Pin |
VCC | VIN |
GND | GND |
SDA | GPIO 4 (D2) |
SCL | GPIO 5 (D1) |
Connexion du servomoteur à la carte ESP8266 NodeMCU
Servomoteur | ESP8266 NodeMCU |
Fil rouge (+) | VIN |
Fil marron (-) | GND |
Fil jaune | D5 (GPIO 14) |
Connexion du capteur KY-032 à la carte ESP8266 NodeMCU
ESP8266 | ESP8266 NodeMCU |
GND | Pin G |
(+) | 3V pin |
OUT | D7 (GPIO 13) |
Voici un programme complet en MicroPython pour un système d'ouverture/fermeture de porte avec la carte ESP8266 NodeMCU, utilisant une télécommande, un capteur infrarouge KY-032, un servomoteur et un écran LCD I2C.
Bibliothèques requises
Servo → pour commander le servomoteur
i2c_lcd et lcd_api → pour afficher les informations sur l’écran LCD I2C
ir_rx → pour contrôler le capteur KY-032
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
import machine from machine import Pin, SoftI2C from time import sleep from servo import Servo from lcd_api import LcdApi from i2c_lcd import I2cLcd from ir_rx import NEC_16 I2C_ADDR = 0x27 totalRows = 4 totalColumns = 20 # === Initialisation LCD I2C === i2c = SoftI2C(scl=Pin(5), sda=Pin(4), freq=10000) #initializing the I2C method for ESP8266 lcd = I2cLcd(i2c, I2C_ADDR, totalRows, totalColumns) def ir_callback(data, addr, ctrl): global ir_data global ir_addr if data > 0: ir_data = data ir_addr = addr print('Data {:02x} Addr {:04x}'.format(data, addr)) # === Initialisation du capteur infrarouge (entrée) === ir_gpio=Pin(13, Pin.IN) ir = NEC_16(ir_gpio, ir_callback) ir_data = 0 ir_addr = 0 # === Initialisation Servo === motor=Servo(pin=14) # A changer selon la broche utilisée motor.move(90) # tourne le servo à 0° position_door=90 lcd.clear() lcd.move_to(1,1) lcd.putstr("Porte fermee") while True: if ir_data > 0: if ir_data==0x0C: # on appuie sur la touche 1 de la télécommande if position_door==90: # si la porte est fermee lcd.clear() lcd.move_to(1,1) lcd.putstr("Porte s'ouvre") for i in range(91,19,-1): motor.move(i) # tourne le servo à 20° pour ouvrir la porte sleep(0.1) position_door=20 lcd.clear() lcd.move_to(1,1) lcd.putstr("Porte ouverte") if ir_data==0x18: # on appuie sur la touche 2 de la télécommande if position_door==20:# si la porte est ouverte lcd.clear() lcd.move_to(1,1) lcd.putstr("Porte se ferme") for i in range(20,91): motor.move(i) # tourne le servo à 90° pour fermer la porte sleep(0.1) position_door=90 lcd.clear() lcd.move_to(1,1) lcd.putstr("Porte fermee") |
La robotique éducative joue un rôle important dans l'éducation des enfants et des jeunes en les aidant à acquérir des compétences en science et technologie.
Dans ce cadre notre site web représente une excellente ressource pour les parents, les enseignants et les enfants qui souhaitent découvrir la robotique.
Zaouiet Kontech-Jemmel-Monastir-Tunisie
+216 92 886 231
medaliprof@gmail.com
Site robotique réalisé par Mohamed Ali-Prof Info