Building a Bluetooth-Controlled Robot for Beginners
Table of Contents
Introduction aux robots Bluetooth pour débutants
Ce projet vous permet de commander sans fil une plate-forme mobile depuis votre smartphone ou tablette, en vous fournissant des commentaires immédiats et tangibles du code que vous écrivez. En complétant cette compilation, vous apprendrez des concepts fondamentaux tels que la programmation de microcontrôleur, le contrôle moteur, les protocoles de communication sans fil et l'assemblage de circuits. Les compétences que vous acquiérez directement sont transférées vers des projets plus avancés comme les suiveurs de ligne, les éviteurs d'obstacles, voire les robots de téléprésence. Ce guide élargi passe par toutes les étapes, de la sélection des composants jusqu'aux essais finaux, en assurant une première construction en douceur.
Sélection des matériaux et des composants
Choisir les bonnes pièces est essentiel pour une construction réussie. Ci-dessous est une liste complète, y compris les alternatives et les conseils de sélection.
- Microcontrôleur: L'Arduino Uno est l'option la plus conviviale pour les débutants en raison de sa grande communauté et de son vaste support de bibliothèque. ESP32. Il élimine la nécessité d'un module Bluetooth séparé et offre plus de puissance de traitement.
- Module Bluetooth : Les HC-05 (maîtrise/esclave) ou HC-06 Les deux fonctionnent à des niveaux logiques de 3,3 V, donc utilisez un diviseur de tension ou un convertisseur de niveau logique si vous vous connectez à un Arduino 5V.
- Conducteur de moteur: Les L298N Le double pont H est populaire et peut supporter jusqu'à 2A par canal. L293D ou une personne dédiée TB6612FNG le conducteur peut être plus compact et efficace.
- Moteurs et roues: Pololu ou générique Moteurs de transmission TT (3-6V) avec roues en plastique sont idéales. Assurez-vous que votre châssis peut les monter en toute sécurité.
- Châssis: Les kits de châssis robot acrylique (2WD ou 4WD) sont bon marché et faciles à assembler.
- Alimentation électrique: A Batterie 6V ou 7.2V (4-6 cellules AA) fonctionne pour les moteurs, avec un régulateur 5V séparé pour l'Arduino. Batterie 9V pour l'Arduino et un pack séparé pour les moteurs pour éviter les interférences.
- Outils de table, de saut et de câblage : Une demi-taille de la table à pain et des fils de saut de mâle à femelle et de mâle à mâle sont essentiels pour le prototypage.
- Téléphone intelligent : Tout appareil Android ou iOS avec Bluetooth peut servir de télécommande.
Pour un kit de démarrage rentable, de nombreux détaillants en ligne regroupent un Arduino Uno, HC-05, L298N, moteurs, roues et châssis.
Étape 1: Montage du châssis robot
Commencez par fixer les moteurs à la plaque de châssis. La plupart des kits fournissent des supports en L et des vis. Placez les moteurs symétriquement de façon à ce que les roues aient un contact égal avec le sol. Si vous utilisez une roulette (boule ou pivotant) pour l'équilibre, montez-la à l'avant ou à l'arrière.
Une fois le châssis construit, installez le ou les packs de batterie en utilisant des fermetures à glissière ou du ruban de mousse double face. Planifiez le routage des fils pour garder les câbles hors de la trajectoire des roues.
Étape 2: Câblage de l'électronique
Le câblage correct est essentiel pour éviter les composants nuisibles.
Puissance et puissance terrestre
- Connectez la batterie du moteur positive (p. ex., batterie Entrée 12V sur le pilote moteur L298N (ou entrée de puissance étiquetée). Connectez la batterie négative au L298N GND.
- Depuis le L298N, utiliser Sortie 5V pour alimenter l'Arduino Uno (si vous utilisez une batterie séparée). Si vous utilisez une seule batterie pour alimenter les deux, assurez-vous d'un terrain commun entre tous les composants.
- Connectez Arduino GND à L298N GND et au module Bluetooth GND.
Conducteur de moteurs pour moteurs
Le L298N a deux canaux de sortie. Connecter un moteur , fils à OUT1 et OUT2et l'autre moteur à OUT3 et EXTÉRIEUR4. Si un moteur tourne dans la mauvaise direction, échangez ses deux fils.
Microcontrôleur pour pilote de moteur
Connectez les broches numériques Arduino aux entrées logiques L298N :
- Pin 8 → IN1, Pin 9 → IN2 (pour moteur A)
- Pin 10 → IN3, Pin 11 → IN4 (pour moteur B)
- Pin 6 → ENA (PWM de contrôle de vitesse pour moteur A) – optionnel
- Pin 5 → ENB (PWM de contrôle de vitesse pour moteur B) – optionnel
Si vous ne souhaitez pas contrôler la vitesse, activez les broches peuvent être connectées à 5V en permanence.
Module Bluetooth vers Microcontroller
Le HC-05/HC-06 a généralement quatre broches : VCC, GND, TXD, RXD.
- VCC → Arduino 3.3V (pas 5V! Utilisez un régulateur si vous ne savez pas)
- GND → Arduino GND
- TXD → Arduino RX (pin 0) – notez que cela interfère avec le téléchargement en série; vous pouvez utiliser LogicielsSerial sur d'autres broches (p. ex., broche 2 pour RX, broche 3 pour TX) pour éviter les conflits.
- RXD → Arduino TX (pin 1) – encore une fois, utilisez SoftwareSerial pour les assignations de broches flexibles.
Si vous utilisez SoftwareSerial, déconnectez temporairement le module Bluetooth lors du téléchargement du code, ou appuyez sur le bouton de réinitialisation sur Arduino lors du téléchargement.
Pour l'ESP32, il suffit de connecter les broches UART (TX/RX) à n'importe quelle broche numérique, car l'ESP32 a plusieurs ports série. Aucun module Bluetooth séparé n'est nécessaire.
Étape 3: Programmation du microcontrôleur
Nous allons écrire un programme qui reçoit des caractères sur Bluetooth et déplace les moteurs en conséquence. Ci-dessous est un croquis minimal mais complet pour Arduino en utilisant le LogicielsSerial bibliothèque.
Téléchargez ce code sur votre Arduino. Si vous utilisez un ESP32, la structure est similaire, mais vous utiliserez le BluetoothSerial bibliothèque, qui est encore plus simple.
Pour étendre la fonctionnalité, vous pouvez ajouter le contrôle de vitesse en utilisant PWM en écrivant des valeurs analogiques aux broches d'activation. Vous pouvez également envoyer des valeurs numériques de vitesse depuis le téléphone.
Étape 4: Contrôler le robot à partir de votre smartphone
Une fois le code téléchargé, alimenter le robot. Sur votre smartphone, allumez Bluetooth et analysez des appareils. HC-05 ou un périphérique série générique. Paire avec le code PIN par défaut 1234 (HC-05) ou 0 000 0- Oui.
Vous avez besoin d'une application de terminal Bluetooth série pour envoyer des caractères. De nombreuses applications gratuites sont disponibles:
- Contrôleur Bluetooth Arduino (par SimpleLabs) – fournit une interface simple de bouton qui peut envoyer des commandes personnalisées.
- Terminal Bluetooth série (par Kai Morich) – plus flexible, permet d'envoyer n'importe quelle chaîne.
Configurez l'application pour envoyer les caractères définis dans votre code : 'F', 'B', 'L', 'R', 'S'. La plupart des applications vous permettent de concevoir des mises en page personnalisées de boutons.
Si vous préférez construire votre propre application, MIT App Inventor est une plateforme conviviale pour les débutants pour Android. Vous pouvez glisser-déposer des blocs Bluetooth pour créer une interface de télécommande personnalisée.
Étape 5: Essais et dépannage
Avant de s'attendre à ce que le robot roule parfaitement, effectuez ces vérifications :
- Essai de puissance: Connectez seulement l'alimentation et vérifiez que l'Arduino se met en marche (le LED intégré est allumé). Ensuite, vérifiez le LED du conducteur de moteur (si présent).
- Communication Bluetooth : Ouvrez le moniteur série Arduino IDE (réglé baud à 9600) et envoyez un caractère comme 'F' manuellement. Le robot doit réagir. Sinon, vérifiez les connexions et les numéros de broche.
- Rotation du moteur: Si les moteurs tournent en face de ce qui est prévu, échangez les deux fils de ce moteur sur le conducteur. Si le robot se déplace en diagonale, vérifiez que les deux moteurs sont alimentés et reçoivent les signaux corrects.
- Pas de réponse du téléphone: Assurez-vous que le module Bluetooth n'est pas en mode de commande AT (certains HC-05 ont un bouton; maintenez en marche pour entrer en mode AT).
- Mouvements purs : Cela indique souvent une puissance bruyante. Condensateur 100μF à travers les rails de traction (à proximité du conducteur) pour supprimer les pics.
- Questions relatives à l'étendue: La gamme standard HC-05 est d'environ 10 mètres en plein air. Le châssis métallique ou le mauvais emplacement de l'antenne peuvent le réduire.
Améliorations avancées
Une fois le robot de base en marche, considérez ces mises à niveau pour approfondir votre apprentissage:
- Vitesse et direction avec joystick: Envoyer deux octets par commande (par exemple, 'S' suivi d'une valeur de vitesse 0-255 pour chaque moteur). Utilisez une application qui imite un joystick.
- Éviter les obstacles : Ajouter un capteur à ultrasons (HC-SR04) et modifier le code pour s'arrêter ou tourner lorsqu'un objet est fermé.
- Ligne suivante: Monter les capteurs IR à l'avant et mettre en œuvre un algorithme simple de suivi de ligne.
- Surveillance des batteries: Utilisez une broche analogique avec un diviseur de tension pour mesurer le niveau de la batterie et envoyer des alertes au téléphone.
- Contrôle Wi-Fi ESP32: Avec un ESP32, vous pouvez contrôler le robot sur Wi-Fi à partir d'un navigateur Web ou d'une application de n'importe où dans votre réseau domestique.
Conseils pour réussir
- Toujours tester les connexions électriques avec un multimètre avant d'appliquer la pleine puissance. Vérifier les courts circuits.
- Commencez par des commandes simples comme 'forward' et 'stop' avant d'ajouter des tours.
- Utiliser un terrain d'entente entre tous les composants – cela empêche le comportement erratique.
- Assurez-vous que votre alimentation électrique offre suffisamment de courant. Les moteurs peuvent tirer plusieurs centaines de mA chacun; une batterie 9V seule peut ne pas suffire pour les deux moteurs et Arduino. Utilisez un pack Li-ion rechargeable évalué au moins 2A.
- Ajouter un interrupteur d'alimentation entre la batterie et le circuit principal pour éliminer la nécessité de débrancher les fils.
- Protégez votre électronique avec un simple châssis ou boîtier en plastique pour éviter les courts circuits accidentels des fils lâches.
- Expérimentez avec différents ensembles de commandes et créez même le contrôle vocal en utilisant des applications de reconnaissance vocale qui produisent du texte.
Conclusion
En suivant ce guide élargi, vous avez appris à sélectionner les composants, assembler un châssis, filer un microcontrôleur avec un module Bluetooth et un pilote moteur, et programmer un système de contrôle réactif. Le parcours ne se termine pas ici – chaque robot peut être amélioré avec des capteurs, des algorithmes de contrôle plus intelligents, ou même un comportement autonome. Les compétences acquises serviront de base à d'innombrables projets futurs.