Inhoudsopgave:
- Stap 1: Materialen die je nodig hebt
- Stap 2: SETUP
- Stap 3: De code
- Stap 4: Smartphone APP (gemaakt op APP Inventor 2)
- Stap 5: Videorealisatie
Video: Goedkope smartphone gestuurde arm (+ optie opslaan positie): 5 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
Het project
Bestuur een robotarm die wordt bestuurd door een smartphone met behulp van een Bluetooth-apparaat.
Modusbonus: we hebben een knop waarmee de Arduino een positie kan onthouden. Wanneer we willen, kunnen we met een andere knop naar deze opgeslagen positie gaan.
NS
LE PROJET
Commander un bras robotisering construit à partir de carton en de servo-moteurs.
Le bras sera constitué d'une pince qui doit pouvoir prendre et poser un objet.
Op commandera le bras par smartphone qui communiquera en bluetooth à l'arduino.
Modusbonus: Un bouton nous permettra de sauvegarder une position du bras. Lorsque l'on le souhaitera, nous pourrons retourner à la position sauvegardée.
Stap 1: Materialen die je nodig hebt
NL
1 Arduino UNO
4 servomotoren SG90 (9g, koppel: 1kg.cm)
1 Stappenmotoren 5V 24BYJ48 (koppel: 39mN.m)
1 driver voor de stappenmotoren DRV8825
1 voeding 9V + 6V voor de motoren
1 Bluetooth-module HC-06
Lijmpistool, karton, draad, elastisch
NS
1 module Arduino Uno
4 servomotoren SG90 9g (paar: 1kg.cm)
1 moteur pas-à-pas 5V (39mN.m) 24BYJ48
1 driver moteur pap DRV8825
1 voeding 9V pour l'arduino et 6V pour les moteurs
1 module Bluetooth HC-06 Pistolet à colle, doos, fils-aansluiting, élastique
Stap 2: SETUP
NS
ETAPE 1: Module Bluetooth De module bluetooth (HC-06) is aangesloten op het volgende:
Rx Tx
Tx Rx
GND GND
VCC +5V
Il va permettre d'établir la communication entre l'Arduino en le smartphone, via la voie Série (9600).
ETAPE 2: De moteur pas à pas 24BYJ48
Nous avons connecté le moteur bipolaire pas op 24BYJ48 à son driver associé contenant le circuit ULN2003. Il suffit de connecter les inputs INx (x = 1, 2, 3, 4) aux sorties digitales de l'arduino. Op alimentera le driver en +5V.
Pour coder, nous utiliserons la bibliothèque Stepper.h, ce qui nous permet de commander facilement le moteur en lu donnant la vitesse: nom.setSpeed(vitesse), ainsi que le pas désiré: nom.step(+ou- pas)
ETAPE 3: Les servomotoren SG90
Les servo's moteurs se commandent facilement. Il suffit de brancher fil rouge au +5V, le noir à la masse et le fil restant une sortie PWM de l'arduino. Op choisira ensuite l'angle du servo via la PWM (0 à 255).
Nous utiliserons la bibliothèque servo.h pour commandant facilement le servo. Tout d'abord, op initialera le servo par son nom: Servo nom_servo, puis on lui rattachera la commande PWM: nom_servo.attach(pin choisi). Enfin, op commandera l'angle voulu: nom_servo.write(angle de 0 à 180).
ETAPE 4: Fabriquer le support Le support à été fabriqué in karton. Après avoir réalisé la base sur laquelle va tourner le bras en 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 baton de glace et fonctionne avec un élastique
Stap 3: De code
// 2017-02-24 - Programma C - Commando de plusieurs servo moteurs dynamiques par smartphone, via bluetooth - App uitvinder 2 utilisé - Carte Arduino (ici UNO), module Bluetooth// Ce program a pour objectif de: //// De moteur (fils 1 2 3 4) is vertakt naar de sorties 8 12 10 11 van de Arduino (et sur GND, +V) Stepper small_stepper(STEPS, 8, 10, 12, 11); //******************** VERKLARINGEN****************************** * woord rep; // mot envoyé du module Arduino au smartphone int cmd = 3; // variabele commande du servo moteur (troisième fil (oranje, jaune)) Servo moteur; //op definit notre servomoteur int cmd1 = 5; servomotor1; Servomotor2;Servomotor3; int cmd2=9; int cmd3=6; int hoek2, hoek3; int hoek; int hoek1; in het verleden; int r, rl, r2, r3; int inschrijver; woord w; // variabele envoyé du smartphone au module Arduino int hoek; // hoek de rotatie (0 a 180) //********************SETUP******************** **************** void setup() { moteur.attach(cmd); // op vertrouwen op de opdracht moteur1.attach (cmd1); moteur2.attach(cmd2); moteur3.attach(cmd3); moteur.write(12); moteur1.write(23); Serieel.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 de valeur des servo's moteurs lorsque l'on apuiera sur un bouton if (w==204)enregistrer=0; for (int k=100;k<151;k++) { if (w == k) { angle2 = map(k, 100, 150, 0, 180); moteur2.schrijven(hoek2); if (inschrijver==1)r2=hoek2; } } for (int j=151;j<201;j++) { if (w == j) { angle3 = map(j, 151, 200, 0, 150); moteur3.write(hoek3); if (inschrijver==1) r3=hoek3; } } for (int i=0;i<34;i++) { if (w == i) { angle = map(i, 0, 34, 0, 70); moteur.write(hoek); if (inschrijver==1)r=hoek; } } for (int l=34;l<=66;l++) { if (w == l) { angle1 = map(l, 34, 66, 90, 0); moteur1.schrijven(hoek1); if (inschrijver==1)r1=hoek1; } } for (int m=67;m<=99;m++) {if (w == m) {if (w86){ small_stepper.setSpeed(80);small_stepper.step(-5);} else small_stepper.step (0); } } } //************************** FUNCTIES******************** ******************** void reproduire()// fonction permettant de reproduire la position sauvegardée { moteur2.write(r2);moteur.write(r);moteur1. schrijven(r1);moteur3.schrijven(r3); } void recevoir() { // fonction permettant de recevoir l'information du smartphone if (Serial.available()) { w = Serial.read(); Serieel.flush(); }} - Connecter le Servo moteur + module bluetooth of module arduino // - Envoyer un mot/phrase/nombre au smartphone // - Recevoir une commande via smartphone // Program réalisé by Techno_Fabrik //********** *********** BIBLIOTHEQUES**************************** #include #include// bibliothèque permettant d' utiliser les commandes pour servomoteurs facilement #include
Stap 4: Smartphone APP (gemaakt op APP Inventor 2)
Stap 5: Videorealisatie
Bedankt voor het kijken.!
Kijk voor meer informatie op onze website:
Of volg ons op Google+:
Bedankt !
Aanbevolen:
Arduino OLED-displaymenu met optie om te selecteren: 8 stappen
Arduino OLED-displaymenu met optie om te selecteren: in deze tutorial leren we hoe we een menu met een selectieoptie kunnen maken met behulp van OLED-display en Visuino.Bekijk de video
7-daagse optie: afscheid nemen van de luchtmacht: 22 stappen
7-daagse optie: hoe te scheiden van de luchtmacht: deze tutorial laat stap voor stap in foto's zien hoe een luchtmachtofficier een aanvraag kan indienen om de luchtmacht te verlaten onder de 7-daagse optie. "Het uitoefenen van de 7-dagen optie" of "7-daagse keuze" middelen om scheiding van de luchtmacht aan te vragen binnen
Smartphone-gestuurde Bluetooth-leds (met Live Music Sync): 7 stappen
Smartphone-gestuurde Bluetooth-LED's (met Live Music Sync): ik heb er altijd van gehouden om dingen te bouwen, nadat ik ontdekte dat mijn nieuwe studentenhuis vreselijke verlichting had, besloot ik het een beetje op te fleuren. ***WAARSCHUWING*** Als je bouwt dit project op dezelfde schaal als mijn setup, zul je werken met een behoorlijke hoeveelheid ele
PCB-handheld met Arduino (met een optie om draadloos te gaan!): 3 stappen
PCB-handheld met Arduino (met een optie om draadloos te gaan!): Update 28.1.2019Ik werk momenteel aan de volgende versie van deze handheld. Je kunt het project volgen op mijn YouTube-kanaal of Twitter.Waarschuwing! Ik heb een fout gevonden in de PCB-layout. De linker- en omhoog-knoppen zijn verbonden met alleen analoge pinnen. ik repareerde
Goedkope PIC-gestuurde helmcamera met Sony LANC (goed voor extreme sporten) - Ajarnpa
Goedkope PIC-gestuurde helmcamera met Sony LANC (goed voor extreme sporten): deze Instructable laat je zien hoe je een goedkope helmcamera kunt maken die via een afstandsbediening kan worden bediend, zodat je hoofdcamera veilig in je rugzak kan blijven. De controller kan aan een van de schouderbanden van je rugzak worden bevestigd en