Les bras robotiques sont des dispositifs mécaniques automatisés qui imitent les mouvements d'un bras humain pour exécuter des tâches variées avec précision, rapidité et répétabilité. Ils jouent un rôle clé dans divers secteurs, notamment l'industrie, la santé, l'exploration spatiale et la recherche. Voici une présentation structurée des bras robotiques :
Un bras robotique est généralement constitué de :
Articulations : Permettent les mouvements de rotation ou de translation.
Segments (liens) : Reliés par les articulations pour former la structure du bras.
Actionneurs : Fournissent le mouvement, généralement via des moteurs électriques, hydrauliques ou pneumatiques.
End-effecteur : La "main" du bras, qui peut être une pince, un outil de soudage, une caméra, etc.
Contrôleur : Un système électronique ou informatique qui gère les mouvements en fonction des instructions.
Capteurs : Permettent au bras de percevoir son environnement (position, force, température, etc.).
Les bras robotiques sont utilisés dans :
Industrie manufacturière : Assemblage, soudure, peinture, tri de pièces.
Santé : Chirurgie assistée par robot, manipulation de médicaments.
Logistique : Emballage, tri automatisé dans les entrepôts.
Exploration spatiale : Manipulation dans des environnements extrêmes (ex. : bras robotique de la Station Spatiale Internationale).
Recherche : Développement de nouvelles technologies robotiques.
La commande d'un bras robotique composé de servomoteurs avec Arduino et un smartphone via une application créée avec MIT App Inventor est un projet passionnant qui combine la programmation Arduino et la création d'applications mobiles. Vous allez utiliser l'interface de MIT App Inventor pour créer une application qui communique sans fil avec l'Arduino via un module Bluetooth, permettant de contrôler les servomoteurs du bras robotique. Voici un guide détaillé pour vous aider à réaliser ce projet :
Nous devons programmer l'Arduino pour recevoir des commandes du smartphone via Bluetooth et déplacer les servomoteurs en fonction des commandes envoyées.
L'Arduino reçoit les commandes envoyées via le module Bluetooth.
Selon la commande reçue, l'Arduino déplace les servomoteurs à un angle spécifié (par exemple, 0 ou 90 degrés).
Téléchargez l’application sur votre smartphone Android via MIT App Inventor en utilisant l'option "AI2 Companion" ou en créant un fichier APK.
Associez votre smartphone au module Bluetooth HC-06 via les paramètres Bluetooth de votre téléphone.
Testez les commandes : Utilisez les boutons de l'application pour déplacer les servomoteurs et ajustez les angles des servos dans le code Arduino si nécessaire.
En combinant Arduino et MIT App Inventor, vous avez créé un système de commande sans fil pour un bras robotique. Grâce à l'application Android, vous pouvez envoyer des commandes Bluetooth à l'Arduino pour déplacer précisément les servomoteurs et ainsi contrôler les articulations du bras robotique. Ce projet est un excellent moyen d'explorer les concepts de robotique, de programmation et de développement d'applications mobiles.
Arduino Uno
Le microcontrôleur qui va contrôler les servomoteurs.
Servomoteurs
Utilisés pour animer les articulations du bras robotique.
Module Bluetooth (HC-06)
Pour permettre la communication sans fil entre l'Arduino et le smartphone.
Alimentation pour servomoteurs :
Une alimentation externe (par exemple, 5V ou 6V) est souvent nécessaire pour alimenter les servos.
Câbles de connexion :
Pour relier les composants.
Breadboard (Plaque d'essai) :
Une breadboard est utile pour créer un circuit temporaire et connecter facilement les composants entre eux.
Smartphone :
Pour contrôler le bras robotique via une application Android.
1- Connexion des servomoteurs à l'Arduino : Chaque servomoteur doit être connecté à un des pins PWM (Pulse Width Modulation) de l'Arduino, qui permet de contrôler leur position. En général, chaque servomoteur aura trois connexions :
Alimentation (VCC) : À une source de 5V ou 6V, selon les spécifications du servomoteur.
Masse (GND) : Connecté à la masse de l'Arduino et de l'alimentation.
Signal (PWM) : Connecté à un pin numérique de l'Arduino (par exemple D3, D4, et D5).
2- Connexion du module Bluetooth :
VCC du module Bluetooth à 5V de l'Arduino.
GND du module Bluetooth à GND de l'Arduino.
TX (Transmission) du Bluetooth à pin 2 (Réception) de l'Arduino.
RX (réception) du Bluetooth à pin 3 (transmission) de l'Arduino.
L’Arduino doit être programmé pour recevoir les commandes du smartphone via Bluetooth ou Wi-Fi, puis ajuster les positions des servomoteurs en fonction des commandes reçues.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
#include <SoftwareSerial.h> #include <Servo.h> Servo servoBase,servoPince,servohautbas; // create servo object to control a servo int servoBasepos=60; int servoPincepos=0; int servohautbaspos=120; SoftwareSerial hc06(2,3); String cmd=""; void setup(){ //Initialize Serial Monitor Serial.begin(9600); servoPince.attach(4); // attaches the servo on pin 2 to the servo object servoBase.attach(5); // attaches the servo on pin 1 to the servo object servohautbas.attach(6); servoPince.write(servoPincepos); servoBase.write(servoBasepos); servohautbas.write(120); //Initialize Bluetooth Serial Port hc06.begin(9600); } void loop(){ //Read data from HC06 while(hc06.available()>0){ cmd+=(char)hc06.read(); } //Select function with cmd if(cmd!=""){ if(cmd=="ouvrir"){ Serial.println(cmd); if (servoPincepos<68) { servoPincepos=servoPincepos+2; servoPince.write(servoPincepos); Serial.println(servoPincepos); } } if(cmd=="fermer"){ if (servoPincepos>7) { servoPincepos=servoPincepos-7; servoPince.write(servoPincepos); Serial.println(servoPincepos); } } if(cmd=="droite"){ if (servoBasepos<117) { servoBasepos=servoBasepos+3; servoBase.write(servoBasepos); } } if(cmd=="gauche"){ if (servoBasepos>3) { servoBasepos=servoBasepos-3; servoBase.write(servoBasepos); } } if(cmd=="haut"){ if (servohautbaspos<155) { servohautbaspos=servohautbaspos+5; servohautbas.write(servohautbaspos); } } if(cmd=="bas"){ if (servohautbaspos>105) { servohautbaspos=servohautbaspos-5; servohautbas.write(servohautbaspos); //delay(10); } } if((cmd=="hautstop")||(cmd=="basstop")||(cmd=="gauchestop")||(cmd=="droitestop")||(cmd=="ouvrirstop")||(cmd=="fermerstop")){ cmd=""; } } delay(100); } |
Une fois l'Arduino configuré pour recevoir des commandes via Bluetooth, vous devez concevoir une application smartphone ou utiliser une application existante pour envoyer les commandes.
1- Allez sur le site de MIT App Inventor (http://appinventor.mit.edu/) et créez un nouveau projet.
2- Donnez un nom à votre projet.
Dans l'interface de l'application, vous pouvez ajouter plusieurs composants pour contrôler les servomoteurs.
BluetoothClient : Permet à l'application de communiquer avec le module Bluetooth.
Buttons : Ajoutez des boutons pour envoyer des commandes spécifiques (par exemple, un bouton pour déplacer chaque servomoteur).
Label : Utilisé pour afficher l'état ou le statut de la connexion Bluetooth.
Voici les étapes pour configurer chaque composant :
BluetoothClient : Ajoutez un composant "BluetoothClient" à votre projet.
On vous propose donc de réaliser le design de l’application, avec le visuel suivant:
Etape 3 : Programmer les événements
1- À partir d'Android 12, les autorisations Bluetooth ont été renforcées pour améliorer la sécurité et la protection des données des utilisateurs. C'est pour cela on doit déclarer les autorisations dont votre application a besoin dans le fichier AndroidManifest.xml. Pour Bluetooth, vous devrez inclure les autorisations ACCESS_FINE_LOCATION, BLUETOOTH_SCAN, et éventuellement BLUETOOTH_CONNECT, en fonction des fonctionnalités que vous utilisez.
2- Créez un événement quand choisir_arduino.Click
pour que, lorsqu'on appuie sur le bouton, l'application recherche et se connecte au module Bluetooth.
3- Ajouter des événements pour envoyer des commandes lorsque les boutons sont cliqués :
Lorsqu'un bouton est cliqué, envoyez une commande à l'Arduino via Bluetooth. Par exemple :
Bouton 1 : Envoie la commande 'ouvrir'
pour déplacer le servo1 afin d'ouvrir le pince.
Bouton 2 : Envoie la commande 'droite'
pour déplacer le bras robotique ç droite
etc.
Télécharger le projet aiaTélécharger le fichier apk
Test et ajustements
1- Téléchargez l’application sur votre smartphone Android via MIT App Inventor en utilisant l'option "AI2 Companion" ou en créant un fichier APK.
2- Associez votre smartphone au module Bluetooth HC-05 via les paramètres Bluetooth de votre téléphone.
3- Testez les commandes : Utilisez les boutons de l'application pour déplacer les servomoteurs et ajustez les angles des servos dans le code Arduino si nécessaire.
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.
Zaouiet Kontech-Jemmel-Monastir-Tunisie
+216 92 886 231
medaliprof@gmail.com
Site robotique réalisé par Mohamed Ali-Prof Info