|

Voiture guidée par main

Ce projet à pour but de développer une voiture télécommandée contrôlée par des gestes du poignet en utilisant une connexion Bluetooth

Embarquez dans une aventure technologique unique où je vous dévoile chaque étape de la création d’un contrôleur gestuel pour voiture RC, conçu pour une expérience de pilotage intuitive et immersive.

Imaginez piloter une voiture miniature simplement en bougeant votre poignet, avec une réactivité instantanée et un contrôle précis. À travers ce projet, j’ai développé un système combinant accéléromètre, affichage OLED et communication Bluetooth, permettant une interaction fluide entre le conducteur et son véhicule.

Dans cet article, je vous emmène des premières esquisses jusqu’au prototype final, en explorant les défis techniques, les choix de conception et les solutions mises en place pour garantir performance. Découvrez comment l’électronique et l’innovation se rejoignent pour transformer la façon dont nous contrôlons nos véhicules RC, en alliant technologie et plaisir de pilotage

Conception

Voici une représentation visuelle simplifiée du fonctionnement du projet. À droite, nous avons le contrôleur, et à gauche, la voiture. Ces deux éléments constituent le cœur des fonctionnalités essentielles de ce projet.

Voiture Télécommandée

La voiture est équipée de deux types de moteurs qui remplissent des rôles distincts :

  • Deux moteurs DC alimentés en 12V, contrôlés via deux ponts en H pour la propulsion.
  • Un servomoteur, fonctionnant sous 7V, utilisé pour la direction et contrôlé par un signal PWM.

Côté capteurs, la voiture intègre :

  • Quatre capteurs de proximité (HC-SR04) permettant d’identifier des obstacles et d’améliorer le contrôle.

Manette sur le Poignet

La manette utilise un accéléromètre (ADXL343) pour détecter les mouvements du poignet et envoyer en temps réel des commandes à la voiture via BLE.

Pour offrir un retour visuel à l’utilisateur, un écran OLED affiche des informations telles que le pourcentage de batterie de la manette et les valeurs en temps réel de l’accéléromètre.

Le module est alimenté par une pile 6V.

Les deux modules, la voiture télécommandée et la manette sur le poignet, sont interconnectés grâce à la technologie Bluetooth Low Energy (BLE) via l’ESP32-S3-WROOM, permettant une communication en temps réel pour un contrôle fluide et réactif du véhicule.

Principes utilisés

Contrôle gestuel avec un accéléromètre (ADXL343)


La manette utilise un capteur qu’on appelle accéléromètre (ici l’ADXL343) qui détecte les mouvements dans l’espace en détectant le centre gravitationnel.

Il fonctionne en mesurant l’accélération sur trois axes :

  • X (rouge) : avant ↔ arrière
  • Y (bleu) : gauche ↔ droite
  • Z (vert) : haut ↔ bas  (Nous ne tenons pas compte de l’axe Z. Il ne nous est pas utile dans ce projet)

Le principe est simple : quand je bouge la manette, le capteur mesure comment la vitesse change dans chaque direction. Par exemple :

  • Si je penche la manette vers l’avant ou l’arrière→ la valeur sur l’axe X augmente ou diminue.
  • Si je la tourne sur les côtés → c’est l’axe Y.

Sur l’image ci-contre, on voit bien comment sont orientés les axes par rapport au capteur. Ces valeurs sont ensuite envoyées à la voiture par Bluetooth pour la faire avancer, reculer ou tourner, selon les mouvements du poignet.

Contrôle de propulsion avec moteurs DC


La voiture utilise deux moteurs à courant continu (DC) pour avancer et reculer. Ces moteurs sont alimentés en 12V et sont contrôlés par des circuits appelés ponts en H. Ces circuits permettent de changer la direction du courant pour faire tourner les moteurs dans le sens horaire ou anti-horaire (pour avancer ou reculer) et de réguler leur vitesse grâce à un signal appelé PWM (modulation de largeur d’impulsion). Ils sont équipés de transistors disposés en forme de « H », ainsi que de diodes qui protègent le circuit en cas de problèmes.

Direction avec un servomoteur


Pour diriger les roues avant, la voiture utilise un servomoteur alimenté en 7V et qui fonctionne à une fréquence de 50 Hz. Contrairement aux moteurs DC qui tournent sans arrêt, le servomoteur peut se placer à un angle précis entre 0 et 180°, selon ce qu’on lui demande. Avec une commande très simple dans le programme, on peut faire tourner les roues à gauche ou à droite. Avant ça, j’ai testé et repéré l’angle maximum que le châssis de la voiture pouvait supporter sans que le servomoteur force trop ou qu’il y ait un pique de courant. Comme ça, le système reste stable et réagit bien quand on incline le poignet avec la manette pour tourner.

Bluetooth Low Energy (BLE)


La connexion entre la manette et la voiture se fait grâce au Bluetooth Low Energy (BLE), une technologie sans fil qui consomme très peu d’énergie. Les deux appareils peuvent ainsi échanger des informations en temps réel (avec une latence de moins de 50 ms) pour que la voiture réagisse directement aux mouvements de la main et aux appuis sur le bouton. Grâce à l’antenne située sur le dessus du module, cette connexion peut même atteindre environ 100 mètres en champ libre, s’il n’y a pas d’obstacles entre la voiture et la manette. Tout ça est possible grâce au microcontrôleur utilisé dans le projet, qui permet à la fois de gérer la communication Bluetooth et de piloter tous les composants connectés.

Détection d’obstacles avec des capteurs à ultrasons (HC-SR04)


La voiture est équipée de capteurs à ultrasons, un peu comme un sonar. Le principe est simple : la broche TRIG envoie une impulsion sonore sous forme d’onde ultrasonore, et la broche ECHO reçoit le signal réfléchi. Le temps que met l’écho à revenir permet de calculer la distance avec un objet devant la voiture. Dans mon projet, la distance minimale a été fixée à 15 cm. Si un obstacle est détecté à moins de cette distance, la voiture effectue un virage à gauche ou à droite en fonction du capteur activé, afin d’éviter la collision avec l’obstacle devant elle.

Affichage OLED pour des informations pertinentes


La manette dispose d’un petit écran OLED, alimenté en 3.3V et connecté par un protocole appelé I2C. Cet écran affiche des informations utiles pendant l’utilisation : les valeurs X et Y pour les mouvements du poignet et l’état de la connexion Bluetooth, la vitesse des moteurs, mesurée grâce aux encodeurs intégrés sur les moteurs DC. Cette interface permet au pilote de toujours savoir ce qu’il se passe sans devoir deviner, ainsi que d`autres informations.

Schéma électrique

Manette

Voici le schéma électrique de ma manette. C’est un schéma simple avec un module ESP32-S3 WROOM, accompagné d’un écran OLED et du capteur ADXL

Voiture

Voici le schéma de la voiture. Ce schéma contient deux circuits intégrés de pont en H, deux « buck converters », mes capteurs de proximité, ainsi que d’autres composants divers.

Circuit imprimé (PCB)

Manette

Voici la carte électronique de la manette :

Voiture

Voici la carte électronique de la voiture :

Fichiers & références

Auteur/autrice

Publications similaires