Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
Proiectul
Conduceți un braț robotizat controlat de smartphone folosind dispozitivul Bluetooth.
Bonus de mod: avem un buton care permite arduino-ului să-și amintească o poziție. Ori de câte ori dorim, putem merge în această poziție salvată cu un alt buton.
FR
LE PROJET
Commander un bras robotisé construit à partir de carton și de servo-moteurs.
Le bras sera constitué d'une pince qui doit pouvoir take et poser un object.
On commandera le bras par smartphone qui communiquera en bluetooth à l'arduino.
Mode bonus: Un bouton nous permettra de sauvegarder une position du bras. Atunci când l'on le souhaitera, nous pourrons retourner à la position sauvegardée.
Pasul 1: Materiale de care aveți nevoie
EN
1 Arduino UNO
4 servo-motoare SG90 (9g, cuplu: 1kg.cm)
1 motoare pas cu pas 5V 24BYJ48 (cuplu: 39mN.m)
1 driver pentru motoarele pas cu pas DRV8825
1 alimentatie 9V + 6V pentru motoare
1 modul Bluetooth HC-06
Pistol de lipit, cutie, sârmă, elasctică
FR
1 modul Arduino Uno
4 servo-moteurs SG90 9g (cuplu: 1kg.cm)
1 motor pas-à-pas 5V (39mN.m) 24BYJ48
1 driver motor pap DRV8825
1 alimentation 9V pour l'arduino et 6V pour les moteurs
1 modul Bluetooth HC-06 Pistolet de colegiu, carton, conexiune fils, elastic
Pasul 2: SETUP
FR
ETAPE 1: Module Bluetooth Modulul bluetooth (HC-06) este conectat la modul următor:
Rx Tx
Tx Rx
GND GND
VCC + 5V
Il va permettre d'établir the communication between l'Arduino et le smartphone, via la voie Série (9600).
ETAPE 2: Le moteur pas à pas 24BYJ48
Am conectat motorul bipolar pas 24BYJ48 à son driver asociat conținutul circuitului ULN2003. Il suffit de connecter les inputs INx (x = 1, 2, 3, 4) aux sorties digitales de l'arduino. On alimentera le driver en + 5V.
Pour coder, nous utilisons la bibliothèque Stepper.h, ce qui nous permet de commander facilement le moteur en lui donnant la vitesse: nom.setSpeed (vitesse), ainsi que le pas désiré: nom.step (+ ou- pas)
ETAPE 3: Les servo-moteurs SG90
Les servos moteurs se commandent facilement. Il suffit de brancher le fil rouge au + 5V, le noir à la masse et le fil restant à une sortie PWM de l'arduino. On choisira ensuite l'angle du servo via la PWM (0 à 255).
Nous utilisons la bibliothèque servo.h pour commander facilement le servo. Tout d'abord, on initialera le servo par son nom: Servo nom_servo, puis on lui rattachera la commande PWM: nom_servo.attach (pin choisi). Enfin, on commandera l'angle voulu: nom_servo.write (angle de 0 à 180).
ETAPE 4: Fabriquer le support Le support à été fabriqué en carton. Après avoir réalisé la base sur laquelle va tourner le bras et ou sera mis le moteur pas à pas, nous avons collé les servos moteurs à du carton pour donner la forme finale. La pince à été créée à partir de bâton de glace și funcționează cu un elastic
Pasul 3: Codul
// 2017-02-24 - Program C - Comandă de mai multe servomotori dinamici prin smartphone, prin bluetooth - App inventor 2 folosit - Carte Arduino (ici UNO), module Bluetooth // Ce program pentru obiectiv de: //// Le moteur (fils 1 2 3 4) est branché sur les sorties 8 12 10 11 de l'Arduino (et sur GND, + V) Stepper small_stepper (STEPS, 8, 10, 12, 11); // ******************** DECLARAȚII ************************** * cuvânt rep; // mot envoyé du module Arduino au smartphone int cmd = 3; // variable commande du servo moteur (troisième fil (orange, jaune)) Servo moteur; // on définit notre servomoteur int cmd1 = 5; Servo moteur1; Servo moteur2; Servo moteur3; int cmd2 = 9; int cmd3 = 6; int angle2, angle3; int unghi; int angle1; int pas; int r, r1, r2, r3; int enregistrer; cuvântul w; // variable envoyé du smartphone au module Arduino int angle; // unghi de rotație (0 la 180) // ********************* SETUP ***************** ****************** void setup () {moteur.attach (cmd); // on relie l'objet au pin de commande moteur1.attach (cmd1); moteur2.attach (cmd2); moteur3.attach (cmd3); moteur.write (12); moteur1.write (23); Serial.begin (9600); // permitra de communiquer au module Bluetooth} // ********************* BOUCLE ****************** ***************** void loop () {recevoir (); // on va recevoir une information du smartphone, la variable w if (w == 206) reproduire (); // va nous permettre de reproduire the position enregistrée if (w == 205) enregistrer = 1; // va nous permettre d'enregistrer la valeur des servos moteurs when one apuiera sur un button if (w == 204) enregistrer = 0; for (int k = 100; k <151; k ++) {if (w == k) {angle2 = map (k, 100, 150, 0, 180); moteur2.write (angle2); if (enregistrer == 1) r2 = angle2; }} pentru (int j = 151; j <201; j ++) {if (w == j) {angle3 = map (j, 151, 200, 0, 150); moteur3.write (angle3); if (enregistrer == 1) r3 = angle3; }} pentru (int i = 0; i <34; i ++) {if (w == i) {unghi = hartă (i, 0, 34, 0, 70); moteur.write (unghi); if (enregistrer == 1) r = unghi; }} for (int l = 34; l <= 66; l ++) {if (w == l) {angle1 = map (l, 34, 66, 90, 0); moteur1.write (angle1); if (enregistrer == 1) r1 = angle1; }} pentru (int m = 67; m <= 99; m ++) {if (w == m) {if (w86) {small_stepper.setSpeed (80); small_stepper.step (-5);} else small_stepper.step (0); }}} // ***************************** FONCTII **************** ******************** void reproduire () // fonction permettant de reproduire la position sauvegardée {moteur2.write (r2); moteur.write (r); moteur1. scrie (r1); moteur3.write (r3); } void recevoir () {// funcție care permite recevoirul informațiilor despre smartphone if (Serial.available ()) {w = Serial.read (); Serial.flush (); }} - Connecter the Servo moteur + module bluetooth au module arduino // - Envoyer un mot / phrase / nombre au smartphone // - Recevoir une commande via smartphone // Program realizat de Techno_Fabrik // ********* *********** BIBLIOTHEQUES *************************** #include # include // bibliothèque permettant d ' use les commandes pour servomoteurs facilitement #include
Pasul 4: APP pentru smartphone (realizat pe APP Inventor 2)
Pasul 5: Realizare video
Vă mulțumesc pentru vizionare.!
Pentru a afla mai multe, accesați site-ul nostru web:
Sau urmăriți-ne pe Google +:
Mulțumiri !