Ouverture et fermeture d’une porte avec ESP32 et bouton poussoir

ESP32 06-04-25
15 0

Plan du tutoriel

1- Comment ouvrir et fermer une porte par la carte ESP32 ?

2- Matériel nécessaire

3- Branchement des composants du système

4- Programme Micropython du système

 

 

Comment ouvrir et fermer une porte par la carte ESP32 ?

Créer un système automatique d’ouverture et de fermeture de porte, contrôlé par un bouton poussoir, avec une indication visuelle de l'état de la porte sur un écran LCD I2C, et un servomoteur qui actionne mécaniquement la porte.

1. Initialisation du système

Lors de la mise sous tension :

La carte ESP32 initialise tous les composants connectés.

Le servomoteur est positionné à 90°, correspondant à l’état "porte fermée".

L’écran LCD I2C affiche un message d’état comme : Porte fermée.

2. Surveillance du bouton poussoir

Le bouton poussoir est relié à une entrée numérique (GPIO) de l’ESP32.

Le programme surveille en permanence si le bouton est appuyé.

Lorsqu’une pression est détectée :

L’ESP32 change l’état de la porte.

Une résistance de 10 kΩ est utilisée comme pull-down pour assurer que la broche de l’ESP32 lit bien l’état BAS (LOW) quand le bouton n’est pas pressé.

3. Ouverture de la porte

Si la porte est fermée et que le bouton est appuyé :

L’ESP32 envoie un signal PWM au servomoteur, qui tourne à 20° (ou autre angle selon le mécanisme).

Le servomoteur déplace alors le loquet ou le bras de la porte vers la position ouverte.

Le LCD I2C met à jour le message à l’écran : Porte ouverte.

4. Fermeture de la porte 

Si la porte est ouverte et que le bouton est appuyé :

L’ESP32 envoie un signal PWM au servomoteur, qui tourne à 90° (ou autre angle selon le mécanisme).

Le servomoteur déplace alors le bras de la porte vers la position fermée.

L'afficheur LCD I2C met à jour le message à l’écran : Porte fermée.

5. Retour à l’attente

Le système retourne en mode veille en attendant un nouvel appui sur le bouton.

 

Matériel nécessaire

Carte ESP32

La carte ESP32 est le cerveau du système. Il lit l’état du bouton, contrôle le servomoteur et envoie des messages à l’écran LCD.

Bouton poussoir

Le bouton poussoir permet à l’utilisateur de déclencher l’ouverture ou la fermeture de la porte.

Servomoteur (ex : SG90)

Le servomoteur est le mécanisme qui fait tourner un bras ou un verrou pour ouvrir ou fermer la porte.

Afficheur LCD I2C (16x2)

Pinouts of 1602 LCD display with I2C

L'afficheur LCD Affiche les messages : "Porte fermée", "Ouverture...", "Porte ouverte", etc.

Résistance 10 kΩ

Résistance

La résistance 10 kΩ est Utilisée comme résistance de pull-down pour stabiliser l’entrée du bouton sur l’ESP32.

Breadboard (Plaque d'essai)

Breadboard

La plaque d'essai facilite les connexions sans soudure.et distribue le 5V de l’Arduino aux autres composants.

Fils de connexion (Jumpers)

Fils de connexion

Les fils de connexion relient les composants entre eux et à l’Arduino.

Prototype de maison en bois

Le prototype de maison en bois simule une vraie maison avec une porte mobile.

Il constitue un support pour fixer le servomoteur et la porte.

Branchement des composants du système

Connexion de l'afficheur I2C LCD à la carte ESP32

LCD I2C Pin

ESP32 pin

VCC

5 volt

GND

GND

SDA

GPIO 21

SCL

GPIO 22

Connexion du servomoteur à la carte ESP32

Servomoteur

ESP32

Fil marron (-)

GND

Fil rouge (+)

5V

Fil jaune

GPIO 23

Connexion du bouton poussoir à la carte ESP32

Bouton poussoir

ESP32

relier une borne à une résistance

relier la patte de la résistance à GND de ESP32

la même borne

GPIO 19

une autre borne

3V3

 

Programme Micropython du système

Voici un programme complet en MicroPython pour un système d'ouverture/fermeture de porte avec ESP32, utilisant un bouton poussoir, 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

 

Explication du programme

1- Initialise les composants : bouton, servo, LCD.

2- Affiche "Porte fermee" au démarrage.

3- Lorsqu’on appuie sur le bouton :

Si la porte est fermée → elle s’ouvre et affiche "Porte ouverte".

Si la porte est ouverte → elle se ferme et affiche "Porte fermee".

Le servo tourne à 0° pour fermer, et à 90° pour ouvrir.

0 commentaire

laisser un commentaire

Veuillez noter s'il vous plaît*

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Passion de robotique

Atelier robotique

Construction des robots

Bras robotique

Maison intelligente

But de ce site web

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.

Coordonnées

Zaouiet Kontech-Jemmel-Monastir-Tunisie

+216 92 886 231

medaliprof@gmail.com

Photos des articles

Site robotique réalisé par Mohamed Ali-Prof Info