Contrôle Bluetooth d’un servomoteur avec ESP32 et application mobile

ESP32 24-07-26
13 0

Plan de tutoriel

1- Présentation du projet

2- Matériel nécessaire

3- Schéma de câblage du système

4- Programmation de la carte ESP32

5- L'application mobile pour commander la carte ESP32

 

Présentation du projet

L’objectif de ce projet est de réaliser un système de contrôle sans fil d’un servomoteur à l’aide d’un ESP32, d’une connexion Bluetooth et d’une application mobile développée avec MIT App Inventor.

L’utilisateur peut modifier l’angle du servomoteur directement depuis son smartphone. La valeur sélectionnée est transmise sans fil à l’ESP32, qui la traite et commande le servomoteur avec précision.

Fonctionnement du projet

Le fonctionnement du système se déroule comme suit :

L’utilisateur déplace le Slider de l’application mobile pour sélectionner un angle, par exemple 44°.

L’application mobile transforme cette valeur en message Bluetooth et l’envoie à la carte ESP32.

La carte ESP32 reçoit et analyse le message reçu.

La valeur de l’angle est convertie en nombre entier.

La carte ESP32 commande le servomoteur afin qu’il se positionne à l’angle sélectionné.

Ainsi, l’utilisateur peut contrôler la position du servomoteur à distance et en temps réel depuis son smartphone grâce à la communication Bluetooth.

 

Matériel nécessaire

1- Carte ESP32

L’ESP32 constitue l’unité de commande principale du projet. Grâce à son module Bluetooth intégré, il reçoit les données envoyées par l’application mobile. Le programme MicroPython traite ensuite le message reçu, extrait la valeur de l’angle et la convertit en nombre afin de commander correctement le servomoteur.

2- Servomoteur SG90

Le servomoteur est l’élément qui réalise le mouvement mécanique. Après avoir reçu la commande de l’ESP32, il se positionne à l’angle demandé par l’utilisateur. Le système permet ainsi de contrôler sa position à distance, de manière précise et en temps réel.

3- Câbles de Connexion (Jumper Wires)

Fils de connexion

Les fils de connexion permettent de relier les différents composants entre eux.

4. Plaque d'essai

La plaque d’essai (breadboard) permet de réaliser des montages électroniques sans soudure.

 

Schéma de câblage du système du système

 

1- Connectez le fil de signal du servomoteur (souvent jaune ou orange) à une broche GPIO23 de la carte ESP32.

2- Connectez le fil d'alimentation (VCC) du servomoteur (généralement rouge) au 5V de la carte ESP32.

3- Connectez le fil de masse (GND) du servomoteur (souvent noir ou marron) à une broche GND de la carte ESP32.

 

Programmation de la carte ESP32

Ce programme permet de contrôler à distance un servomoteur connecté à un ESP32 à l’aide d’un smartphone via une communication Bluetooth Low Energy (BLE).

On doit importer :

- la bibliothèque Servo pour contrôler le servomoteur.

- les deux bibliothèques :ble_uart_peripheral.py et ble_advertising.py pour la communication Bluetooth

Explication du programme :

Au démarrage, le programme configure le servomoteur connecté à la broche GPIO 23 et le positionne à l’angle initial de 0°. Ensuite, il initialise la communication Bluetooth BLE de l’ESP32 et met en place un service UART virtuel permettant l’échange de données avec l’application mobile.

Lorsqu’une nouvelle valeur est envoyée par le smartphone, la fonction on_rx() est automatiquement exécutée. Elle lit le message reçu, le convertit en chaîne de caractères et extrait la valeur de l’angle située avant le caractère #. La valeur obtenue est ensuite convertie en nombre entier.

Enfin, l’ESP32 utilise cette valeur pour commander le servomoteur. Celui-ci se positionne alors à l’angle demandé par l’utilisateur. Ainsi, le programme assure la communication entre l’application mobile, le Bluetooth de l’ESP32 et le servomoteur, permettant un contrôle sans fil et en temps réel.

 

L'application mobile pour commander la carte ESP32

Télécharger application

 

Cette application mobile, développée avec MIT App Inventor, permet de contrôler à distance un servomoteur connecté à un ESP32 via Bluetooth BLE.

En haut de l’interface, les boutons Scanner, Stop, Connect et Disconnect permettent de gérer la connexion Bluetooth. Le bouton Scanner recherche les périphériques Bluetooth disponibles, tandis que les boutons Connect et Disconnect permettent respectivement d’établir ou de terminer la connexion avec l’ESP32.

La partie centrale de l’application affiche le titre « Control Servo motor » ainsi qu’une image représentant le servomoteur contrôlé. Cette interface permet à l’utilisateur d’identifier facilement le dispositif commandé.

L’angle actuel du servomoteur est affiché dans la zone « Angle : 0° ». Lorsque l’utilisateur déplace le Slider, la valeur de l’angle est modifiée et affichée dynamiquement dans l’application. Le Slider permet ainsi de sélectionner l’angle souhaité, généralement entre 0° et 180°.

La valeur sélectionnée est ensuite envoyée par Bluetooth à l’ESP32. Celui-ci reçoit la commande, la traite avec un programme MicroPython et commande le servomoteur afin qu’il se positionne à l’angle choisi.

Ainsi, cette application offre une interface simple et intuitive permettant de contrôler la position du servomoteur sans fil et en temps réel à partir d’un smartphone.

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

Photos des articles

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