Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Construisez un robot contrôlé par gestes à la maison avec Arduino et MPU-6050

Composants et fournitures

Composant Quantité
Arduino UNO 1
Arduino Nano R3 1
Module Bluetooth HC-05 2
MPU-6050 (accéléromètre/gyroscope 3 axes) SparkFun 1
Moteur DC 12 V 2
Roues en caoutchouc 1 (lot)
Driver double pont en H L293D (Texas Instruments) 1
Pile 9 V (générique) 2

Outils nécessaires

Applications et services en ligne

À propos du projet

Ce tutoriel explique comment réaliser une voiture télécommandée par gestes. C'est une application simple du MPU-6050 (gyroscope 3 axes, accéléromètre). En comprenant son interfacage avec Arduino et le transfert de données via deux modules Bluetooth HC-05, vous pourrez réaliser bien d'autres projets. L'accent est mis ici sur la communication Bluetooth entre deux modules HC-05.

Suivez la vidéo (images dans le projet original) pour construire le châssis et le câblage.

Configuration des modules Bluetooth

Les modules HC-05 sortent d'usine en mode esclave (réception de données depuis un mobile). Pour envoyer des données d'un module à un autre, il faut configurer l'un en maître et l'autre en esclave, et les lier (binding) pour qu'ils se connectent automatiquement à la mise sous tension.

Module esclave (sur le robot)

  1. Câblez le module sur l'Arduino (schéma fourni).
  2. Téléversez le sketch « configure » (ci-dessous) qui fait office de pont série.
  3. Mettez le module en mode commande AT : maintenez le bouton KEY enfoncé en le branchant. La LED clignote lentement (1 fois/2 s).
  4. Ouvrez le moniteur série (9600 bauds, NL & CR). Tapez AT → doit répondre OK.
  5. Envoyez les commandes AT dans l'ordre :
    • AT+ORGL (réglages usine)
    • AT+RMAAD (supprimer anciens pairings)
    • AT+UART? (vérifier baudrate)
    • AT+UART=38400,0,0 (fixer 38400 bauds)
    • AT+ROLE? (doit répondre 0 = esclave)
    • AT+ROLE=0 (forcer esclave)
    • AT+ADDR? → note l'adresse MAC retournée (ex: 98d3:31:fc1234).

Module maître (sur la télécommande)

  1. Même procédure pour entrer en mode AT.
  2. Commandes AT :
    • AT+ORGL
    • AT+RMAAD
    • AT+UART=38400,0,0
    • AT+ROLE=1 (mode maître)
    • AT+CMODE=0 (connexion à un seul périphérique)
    • AT+BIND="adresse_du_module_esclave" (lier les deux modules)

Bibliothèques MPU-6050

Installez les bibliothèques I2Cdev et MPU6050_6Axis_MotionApps20 (disponibles dans l'archive gesture_control_robot.rar).

Programmation de l'unité robot (car unit)

Connectez l'Arduino UNO (car unit) au PC, sélectionnez le bon port/board, téléversez le sketch Gesture_controled_Robot__car_unit_. Ne connectez pas la pile ni le module Bluetooth pendant le téléversement.

Code simplifié (voir projet original pour version complète) :


// Programme pour unité robot (Shubham Shinganapure)
int lm1=8, lm2=9, rm1=10, rm2=11;
char d=0;
void setup() {
  pinMode(lm1,OUTPUT); pinMode(lm2,OUTPUT);
  pinMode(rm1,OUTPUT); pinMode(rm2,OUTPUT);
  Serial.begin(38400);
  sTOP();
}
void loop() {
  if(Serial.available()>0) {
    d=Serial.read();
    if(d=='F') ForWard();
    else if(d=='B') BackWard();
    else if(d=='L') Left();
    else if(d=='R') Right();
    else if(d=='S') sTOP();
  }
}
void ForWard()  { digitalWrite(lm1,HIGH); digitalWrite(lm2,LOW); digitalWrite(rm1,HIGH); digitalWrite(rm2,LOW); }
void BackWard() { digitalWrite(lm1,LOW); digitalWrite(lm2,HIGH); digitalWrite(rm1,LOW); digitalWrite(rm2,HIGH); }
void Left()     { digitalWrite(lm1,LOW); digitalWrite(lm2,HIGH); digitalWrite(rm1,HIGH); digitalWrite(rm2,LOW); }
void Right()    { digitalWrite(lm1,HIGH); digitalWrite(lm2,LOW); digitalWrite(rm1,LOW); digitalWrite(rm2,HIGH); }
void sTOP()     { digitalWrite(lm1,LOW); digitalWrite(lm2,LOW); digitalWrite(rm1,LOW); digitalWrite(rm2,LOW); }

Programmation de l'unité télécommande (remote unit)

Téléversez le sketch remote sur l'Arduino Nano (remote unit). Ce code initialise le MPU-6050 (DMP), lit les angles d'Euler (yaw/pitch/roll), et envoie les commandes 'F', 'B', 'L', 'R', 'S' via le module Bluetooth maître selon l'inclinaison (seuils : pitch ≤ -25° → avant, ≥ 25° → arrière, roll ≤ -25° → gauche, ≥ 20° → droite, sinon stop).

Le code complet est long ; il est fourni dans le projet original.

Assemblage final

Insérez le module Bluetooth esclave sur l'unité robot, le module maître sur l'unité télécommande. Alimentez les deux circuits (piles 9V). C'est prêt !

J'espère que ce projet vous sera utile. Likez, partagez, commentez vos doutes. Suivez-moi pour d'autres projets ! Soutenez mon travail et abonnez-vous à ma chaîne YouTube.

Merci !

Code source

Deux fichiers de code sont fournis : « Gesture controlled robot (remote unit) » et « Gesture controlled robot (car unit) ». Le code complet est dans la section « Code » du projet original.

Schéma

Un schéma de câblage global est fourni en image dans le projet original.

Processus de fabrication

  1. Construire un robot Arduino piloté par Raspberry Pi – Guide pas à pas
  2. Construire sa propre machine à écrire les devoirs à la maison (Traceur à stylo)
  3. Robot Évitement d'Obstacles Piloté par Servomoteur : Construction avec Arduino et HC-SR04
  4. Créez un robot suiveur de ligne autonome avec Arduino UNO
  5. Créer un bouton clavier personnalisé « frappable » avec Arduino : guide pas à pas
  6. Robot Assistant Domestique Autonome : Liste Complète et Guide de Configuration
  7. Générer des Sons Musicaux avec Arduino : Guide Pas à Pas
  8. Porte automatique Arduino avec capteur ultrasons HC-SR04
  9. Kit de robot de navigation intérieure intelligente pour projets Arduino