Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Projektet
Kör en robotarm som styrs av en smartphone med en Bluetooth -enhet.
Lägesbonus: vi har en knapp som gör att arduino kan komma ihåg en position. Närhelst vi vill kan vi gå till den sparade positionen med en annan knapp.
FR
LE PROJET
Commander un bras robotisé construit à partir de carton et de servo-moteurs.
Le bras sera constitué d'une pince qui doit pouvoir prendre et poser un objet.
On commandera le bras par smartphone qui communiquera en bluetooth à l'arduino.
Lägesbonus: Un bouton nous permettra de sauvegarder une position du bras. Lorsque l'on le souhaitera, nous pourrons retourner à la position sauvegardée.
Steg 1: Material du behöver
SV
1 Arduino UNO
4 servomotorer SG90 (9g, vridmoment: 1kg.cm)
1 Stegmotorer 5V 24BYJ48 (vridmoment: 39mN.m)
1 drivrutin för stegmotorerna DRV8825
1 mat 9V + 6V för motorerna
1 Bluetooth-modul HC-06
Limpistol, kartong, tråd, elasktisk
FR
1 modul Arduino Uno
4 servomotörer SG90 9g (par: 1kg.cm)
1 motor pass-à-pas 5V (39mN.m) 24BYJ48
1 förarmotor pap DRV8825
1 mat 9V pour l'arduino et 6V pour les moteurs
1 modul Bluetooth HC-06 Pistolet à colle, kartong, filanslutning, élastique
Steg 2: INSTÄLLNING
FR
ETAPE 1: Module Bluetooth Le module bluetooth (HC-06) är ansluten till den senaste versionen:
Rx Tx
Tx Rx
GND GND
VCC +5V
Il va permettre d'établir la communication entre l'Arduino et le smartphone, via la voie Série (9600).
ETAPE 2: Le moteur pas à pas 24BYJ48
Nous avons connecté le moteur bipolaire pas à pas 24BYJ48 à son driver associé contenant le circuit ULN2003. Il suffit de connectecter les inputs INx (x = 1, 2, 3, 4) aux sorties digitales de l'arduino. På alimentera le driver en +5V.
Pour coder, nous utiliserons 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 servomotörer 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. På choisira ensuite l'angle du servo via la PWM (0 à 255).
Nous utiliserons la bibliothèque servo.h pour commander facilement le servo. Tout d'abord, på 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 (vinkel 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 et fonctionne avec un élastique
Steg 3: Koden
// 2017-02-24 - Program C - Commande de plusieurs servo moteurs dynamiques par smartphone, via bluetooth - App inventor 2 utilisé - Carte Arduino (ici UNO), modul Bluetooth // Ce program a pour objectif 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); // ********************* DEKLARATIONER **************************** * ordrep; // mot envoyé du module Arduino eller smartphone int cmd = 3; // variabel commande du servo moteur (troisième fil (orange, gul)) Servomotor; // on définit notre servomoteur int cmd1 = 5; Servomotor1; Servomotor2; Servomotör3; int cmd2 = 9; int cmd3 = 6; int vinkel2, vinkel3; int vinkel; int vinkel1; int pas; int r, r1, r2, r3; int enregistrer; ord w; // variabel envoyé du smartphone eller modul Arduino int vinkel; // rotationsvinkel (0 a 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); // permettra 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 la position enregistrée if (w == 205) enregistrer = 1; // va nous permettre d'enregistrer la valeur des servos moteurs lorsque l'on apuiera sur un bouton if (w == 204) enregistrer = 0; för (int k = 100; k <151; k ++) {if (w == k) {vinkel2 = karta (k, 100, 150, 0, 180); moteur2.write (vinkel2); om (enregistrer == 1) r2 = vinkel2; }} för (int j = 151; j <201; j ++) {if (w == j) {vinkel3 = karta (j, 151, 200, 0, 150); moteur3.write (vinkel3); om (enregistrer == 1) r3 = vinkel3; }} för (int i = 0; i <34; i ++) {if (w == i) {vinkel = karta (i, 0, 34, 0, 70); moteur.write (vinkel); om (enregistrer == 1) r = vinkel; }} för (int l = 34; l <= 66; l ++) {if (w == l) {vinkel1 = karta (l, 34, 66, 90, 0); moteur1.write (vinkel1); om (enregistrer == 1) r1 = vinkel1; }} för (int m = 67; m <= 99; m ++) {if (w == m) {if (w86) {small_stepper.setSpeed (80); small_stepper.step (-5);} annars small_stepper.step (0); }}} // *************************** FUNKTIONER **************** ******************** void reproduire () // fonction permettant de reproduire la position sauvegardée {moteur2.write (r2); moteur.write (r); moteur1. skriva (r1); moteur3.write (r3); } void recevoir () {// fonction permettant de recevoir l'information du smartphone if (Serial.available ()) {w = Serial.read (); Serial.flush (); }} - Anslutning av servomotor + modul bluetooth eller modul arduino // - Envoyer un mot/phrase/nombre au smartphone // - Recevoir une commande via smartphone // Program réalisé par Techno_Fabrik // ********* *** utiliser les commandes pour servomoteurs facilement #include
Steg 4: Smartphone APP (Made on APP Inventor 2)
Steg 5: Videorealisering
Tack för att du tittade.!
För att veta mer, kolla vår webbplats:
Eller följ oss på Google +:
Tack !