Satura rādītājs:
- Piegādes
- 1. darbība: izdrukājiet visus 3D komponentus
- 2. solis: (pēc izvēles) Pievienojiet koka dēli kastes apakšai, lai to stiprinātu
- 3. solis: Izmēriet un izgrieziet koka dēli, lai tas ietilptu kastē
- 4. solis: atzīmējiet motoru pozīcijas
- 5. solis: atzīmējiet kronšteinu un caurules pozīcijas
- 6. darbība: urbiet caurumu kabeļiem, kas iznāks no kastes (USB un barošana)
- 7. solis: urbiet un zāģējiet visus atzīmētos caurumus
- 8. solis: pievienojiet motorus un cauruli pie dēļa
- 9. solis: piestipriniet dēli pie kastes ar L kronšteiniem
- 10. solis: paņemiet termināļa blokus un pielodējiet vadus kopā
- 11. darbība: nogrieziet adaptera strāvas vada galu un noņemiet vadus
- 12. solis: identificējiet un atzīmējiet plus un mīnus vadus
- 13. solis: pievienojiet vadus spaiļu blokiem, lai visi + servo vadi un + vads no strāvas vada būtu savienoti, tas pats attiecas uz - vadiem
- 14. solis: nogrieziet galvu no maizes dēļa stieples
- 15. solis: urbiet trīs caurumus kastes apakšā, lai vadi izietu no rokas
- 16. darbība: pievienojiet bāzes savienotāju kastē
- 17. solis: izmantojiet nazi vai nagu vīli, lai padarītu stiepļu rievas dziļākas
- 18. solis: konstruējiet roku
- 19. darbība: instalējiet apstrādi un Arduino
- 20. darbība: ielīmējiet kodu programmas
- 21. darbība: pievienojiet servo vadības tapas Arduino
- 22. darbība: apstrādes laikā nospiediet atiestatīšanas pogu, tādējādi visas rokas tiks iestatītas uz 90 grādiem
- 23. solis: piestipriniet servo sviras pie motora horizontāli
- 24. solis. Izvelciet vadus caur ieročiem, lai nebūtu vaļīguma
- 25. solis: pārbaudiet roku un pēc vajadzības pievelciet vai atskrūvējiet vadus
- 26. solis: karsti pielīmējiet vadus pie servo ieročiem, lai tie būtu pastāvīgi
- 27. darbība. Piezīmes
- 28. darbība. Problēmu novēršana
- 29. solis: saites
- 30. darbība: kods
- 31. solis: vairāk attēlu
Video: Ar vadu vadāma robota roka: 31 solis
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:55
Šī apmācība par to, kā izveidot robota roku, ko kontrolē vadi. Vadu izmantošanas priekšrocība ir tā, ka jūsu roka ir vieglāka un visi jūsu motori var būt rokas apakšā, padarot būvniecību un apkopi vieglāku. Šeit ir video ar roku darbībā. Nākotnē es plānoju pievienot naglu, lai tas varētu savākt lietas, nevis tikai virzīt tās apkārt.
3D izdrukājami materiāli:
Šeit un šeit
Piegādes
6 servomotori (MG995)
Arduino Uno
Apmēram 6 metri plastmasas pārklājuma tērauda stieples (0,5 mm)
Lodziņš 23x33x10 (var būt šaurāks, noteikti nedrīkst būt īsāks)
Koka dēlis 33x10
Skrūves un uzgriežņi
Caurule 14 cm (tas ir nepieciešams, lai vadītu stīgas)
4 L-kronšteini
5 voltu adapteris
2 7 virzienu spaiļu bloki
Maizes dēļa vadi
3D drukātie komponenti (nav manis izstrādāts, saites uz aprakstā iekļautajiem elementiem):
3 "skrūves"
2 “1. elements”
1 “2. elements”
2 “Elements 3”
1 Bāzes savienotājs
1. darbība: izdrukājiet visus 3D komponentus
Jums var būt nepieciešams atbalsts skrūvju atverēm un arkām, taču pārliecinieties, ka detaļu korpusam netiek pievienots atbalsts; tas aizvērs mazos stieples caurumus, un jums būs jāizveido jauni caurumi
2. solis: (pēc izvēles) Pievienojiet koka dēli kastes apakšai, lai to stiprinātu
Mana kaste bija diezgan vāja, jūsu var nebūt
3. solis: Izmēriet un izgrieziet koka dēli, lai tas ietilptu kastē
4. solis: atzīmējiet motoru pozīcijas
pārliecinieties, ka neviena no rokām nesaskaras viena ar otru
5. solis: atzīmējiet kronšteinu un caurules pozīcijas
Caurule jānovieto apmēram vienu centimetru cauruma priekšā
6. darbība: urbiet caurumu kabeļiem, kas iznāks no kastes (USB un barošana)
7. solis: urbiet un zāģējiet visus atzīmētos caurumus
8. solis: pievienojiet motorus un cauruli pie dēļa
9. solis: piestipriniet dēli pie kastes ar L kronšteiniem
10. solis: paņemiet termināļa blokus un pielodējiet vadus kopā
11. darbība: nogrieziet adaptera strāvas vada galu un noņemiet vadus
12. solis: identificējiet un atzīmējiet plus un mīnus vadus
13. solis: pievienojiet vadus spaiļu blokiem, lai visi + servo vadi un + vads no strāvas vada būtu savienoti, tas pats attiecas uz - vadiem
14. solis: nogrieziet galvu no maizes dēļa stieples
Pievienojiet maizes dēļa stieples atdalīto galu pie mīnus spaiļu bloka un tapas galu ar arduino zemējuma tapu. Ja to nedarīsit, motori nepareizi kustēsies bez jebkādas ievades.
15. solis: urbiet trīs caurumus kastes apakšā, lai vadi izietu no rokas
Atverēm jāatbilst pamatnes savienotāja caurumiem.
16. darbība: pievienojiet bāzes savienotāju kastē
17. solis: izmantojiet nazi vai nagu vīli, lai padarītu stiepļu rievas dziļākas
Stiepļu rievas 2. un 3. elementam ir pārāk seklas.
18. solis: konstruējiet roku
Izveidojiet roku saskaņā ar šeit sniegtajiem norādījumiem, iespējams, būs jāiesniedz detaļas, lai tās būtu piemērotas
19. darbība: instalējiet apstrādi un Arduino
Apstrāde un Arduino
20. darbība: ielīmējiet kodu programmas
Kods ir šīs lapas apakšā
21. darbība: pievienojiet servo vadības tapas Arduino
Es savienoju pirmo motoru ar trešo ciparu tapu, otro motoru ar ceturto digitālo tapu un tā tālāk. Pārliecinieties, vai zemējuma tapa joprojām ir pievienota spaiļu blokam.
22. darbība: apstrādes laikā nospiediet atiestatīšanas pogu, tādējādi visas rokas tiks iestatītas uz 90 grādiem
23. solis: piestipriniet servo sviras pie motora horizontāli
24. solis. Izvelciet vadus caur ieročiem, lai nebūtu vaļīguma
Pārliecinieties, ka stieple ir izvilkta cauri tik daudziem caurumiem, cik vien iespējams, tas to īslaicīgi noturēs un būs viegli noņemams.
25. solis: pārbaudiet roku un pēc vajadzības pievelciet vai atskrūvējiet vadus
26. solis: karsti pielīmējiet vadus pie servo ieročiem, lai tie būtu pastāvīgi
27. darbība. Piezīmes
Es izmantoju 0,5 mm rotaslietu stiepli, bet 0,4 mm vajadzētu būt labi. Sākotnējā dizainā tika izmantota PVC stieple, taču tā salūza pārāk viegli un ar to bija grūti strādāt.
Ja pārvietojat roku automašīnā vai velosipēdā, aptiniet roku locītavas lentē, lai pārliecinātos, ka tās neiznirst. Tas ir īpaši svarīgi 1. elementam.
Kad es sāku šo projektu, es domāju, kāpēc es varu atrast tikai vienu pamācību par to, kā izveidot roku, ko kontrolē vadi. Tagad es saprotu, kāpēc tas nav visizplatītākais hobija robota rokas izgatavošanas veids. Vadi dažkārt izkrīt no rievām, un visa lieta ir tāda kā neskaidra. Es nezinu, vai problēmas ir saistītas ar to, ka man nav daudz pieredzes, vai arī visa ideja ir problemātiska, lai gan esmu pārliecināts, ka tā būtu stabilāka, ja es zinātu, ko daru.
28. darbība. Problēmu novēršana
Vada caurumi ir aizvērti 3D drukātajos elementos:
Jūs pievienojāt atbalstu visam elementam, nevis tikai skrūvju caurumiem. Vai nu izdrukājiet elementu vēlreiz, vai atveriet caurumus ar patiešām karstu adatu.
COM ports ir slēgts, jūs nevarat sazināties ar arduino:
Jūsu arduino, iespējams, nepieņem USB 3 portus (mans ne), jūs varat iegādāties USB 2 pagarinājuma kabeli vai izmantot datoru, kuram ir USB 2 porti
Kods nedarbojas:
Izpildiet šo apmācību un mainiet to, lai izveidotu savu kodu
Rokas daļa nekustās:
Vadi, iespējams, ir sapinušies, lai to pārbaudītu, noņemiet servo sviru no servo un mēģiniet izvilkt vadus ar rokām. Atritiniet vadus un, ja joprojām ir grūti izvilkt vadus, mēģiniet izmantot WD-40 vai smērvielu, lai atvieglotu pārvietošanos
29. solis: saites
Bez robota rokas:
Apbruņojiet 3D izdrukājamos materiālus:
Manas rokas 3D drukāšana:
Arduino un apstrāde:
30. darbība: kods
Pārveidots no šī koda
Arduino kods:
#include // Deklarēt motorus Servo myservo1; Servo myservo2; Servo myservo3; Servo myservo4; Servo myservo5; Servo myservo6; // Visi motori pēc noklusējuma ir iestatīti 90 grādos int strāva1 = 90; int strāva2 = 90; int strāva3 = 90; int strāva4 = 90; int strāva5 = 90; int strāva6 = 90; // Minimālie un maksimālie grādi, kurus motori var sasniegt int mini1 = 0; int maxi1 = 180; int mini2 = 0; int maxi2 = 180; int mini3 = 0; int maxi3 = 180; int mini4 = 0; int maxi4 = 180; int mini5 = 0; int maxi5 = 180; int mini6 = 0; int maxi6 = 180; // Grādi, kas jāpievieno vai jāatņem no pašreizējās pozīcijas int laipsniųFoward = 5; // Kavēšanās, lai divas funkcijas nenotiktu nepareizā secībā int delayBetweenSteps = 100; void setup () {// Iestatiet vadības tapas katram motoram myservo1.attach (3); myservo2.attach (4); myservo3.attach (5); myservo4.attach (6); myservo5.attach (7); myservo6.attach (8); // Iestatiet visus motorus uz noklusējuma iestatījumu myservo1.write (current1); myservo2.write (pašreizējais2); myservo3.write (pašreizējais3); myservo4.write (current4); myservo5.write (pašreizējais5); myservo6.write (current6); // sākt sērijas sakarus @9600 bps Serial.begin (9600); } void loop () {if (Serial.available ()) {// ja dati ir pieejami lasīšanai char val = Serial.read (); // ievietojiet to šajā rakstzīmē // Motora vadība, ja (val == 'a' &&1 strāva1 = strāva1 - grādiPēc virziena; kavēšanās (delayBetweenSteps); } if (val == 'c' && current2 mini2) {myservo2.write (strāva2 - grādiFoward); strāva2 = strāva2 - grādi kavēšanās (delayBetweenSteps); } if (val == 'e' && current3 mini3) {myservo3.write (strāva3 - grādiFoward); strāva3 = straume3 - grādi kavēšanās (delayBetweenSteps); } if (val == 'g' && current4 mini4) {myservo4.write (current4 - laipsniųFoward); strāva4 = straume4 - grādi kavēšanās (delayBetweenSteps); } if (val == 'i' && current5 mini5) {myservo5.write (strāva5 - grādiFoward); strāva5 = straume5 - grādiFoward; kavēšanās (delayBetweenSteps); } if (val == 'k' && current6 mini6) {myservo6.write (strāva6 - grādiFoward); strāva6 = strāva6 - grādi kavēšanās (delayBetweenSteps); } // Ātrums Kontrolē, ja (val == 'w') {// Ja 1. ātruma poga tiek nospiesta grādiemFoward = 1; kavēšanās (delayBetweenSteps); } if (val == 'x') {// Ja ātruma 5 poga tiek nospiesta grādiemFoward = 5; kavēšanās (delayBetweenSteps); } if (val == 'y') {// Ja ātruma 10 poga tiek nospiesta grādiemFoward = 10; kavēšanās (delayBetweenSteps); } if (val == 'z') {// Ja ātruma 20 poga tiek nospiesta grādiemFoward = 20; kavēšanās (delayBetweenSteps); } if (val == 'r') {// Ja nospiež 20 ātruma pogu myservo1.write (90); strāva1 = 90; myservo2.write (90); strāva2 = 90; myservo3.write (90); strāva3 = 90; myservo4.write (90); strāva4 = 90; myservo5.write (90); strāva5 = 90; myservo6.write (90); strāva6 = 90; kavēšanās (delayBetweenSteps); }}}
Apstrādes kods:
importa apstrāde.sērija.*; importa kontroleP5.*; // importēt ControlP5 bibliotēku Sērijas ports; ControlP5 cp5; // izveidot ControlP5 objekta PFonta fontu; void setup () {// tāds pats kā arduino programmas izmērs (300, 700); // loga izmērs, (platums, augstums) printArray (Serial.list ()); // izdrukā visus pieejamos seriālos portus // Ja jums rodas problēma, iespējams, tas nāk no šejienes. String portName = Serial.list () [0]; ports = jauns seriāls (šis, porta nosaukums, 9600); // es esmu savienojis arduino ar com3, tas būtu savādāk Linux un mac os // ļauj pievienot butonu tukšajam logam cp5 = new ControlP5 (šis); font = createFont ("Arial", 13); // pielāgoti fonti pogām un virsrakstam // Ātruma kontroles pogas cp5.addButton ("Viens") // "Viens" ir pogas nosaukums.setPosition (50, 50) // pogas augšējā kreisā stūra x un y koordinātas.setSize (55, 25) // (platums, augstums).setFont (fonts); cp5.addButton ("Pieci").setPosition (110, 50).setSize (55, 25).setFont (fonts); cp5.addButton ("Desmit").setPosition (170, 50).setSize (55, 25).setFont (fonts); cp5.addButton ("Divdesmit").setPosition (230, 50).setSize (55, 25).setFont (fonts); cp5.addButton ("Reset").setPosition (110, 2).setSize (55, 25).setFont (fonts); cp5.addButton ("Servo_1_Foward").setPosition (50, 90).setSize (190, 40).setFont (fonts); // Motora vadības pogas cp5.addButton ("Servo_1_Back").setPosition (50, 140).setSize (190, 40).setFont (fonts); cp5.addButton ("Servo_2_Foward").setPosition (50, 190).setSize (190, 40).setFont (fonts); cp5.addButton ("Servo_2_Back").setPosition (50, 240).setSize (190, 40).setFont (fonts); cp5.addButton ("Servo_3_Foward").setPosition (50, 290).setSize (190, 40).setFont (fonts); cp5.addButton ("Servo_3_Back").setPosition (50, 340).setSize (190, 40) // (platums, augstums).setFont (fonts); cp5.addButton ("Servo_4_Foward").setPosition (50, 390).setSize (190, 40).setFont (fonts); cp5.addButton ("Servo_4_Back").setPosition (50, 440).setSize (190, 40) // (platums, augstums).setFont (fonts); cp5.addButton ("Servo_5_Foward").setPosition (50, 490).setSize (190, 40).setFont (fonts); cp5.addButton ("Servo_5_Back").setPosition (50, 540).setSize (190, 40).setFont (fonts); cp5.addButton ("Servo_6_Foward").setPosition (50, 590).setSize (190, 40).setFont (fonts); cp5.addButton ("Servo_6_Back").setPosition (50, 640).setSize (190, 40).setFont (fonts); } void draw () {// tāds pats kā cilpa arduino fonā (192, 215, 249); // loga fona krāsa (r, g, b) vai (no 0 līdz 255) // Pievienot tekstu, sakot, ka ātruma kontrole ir ātruma kontroles aizpildījums (0, 10, 25); // teksta krāsa (r, g, b) textFont (fonts); teksts ("Ātruma kontrole", 50, 40); // ("teksts", x koordināta, y koordināta)} // ļauj mūsu pogām pievienot dažas funkcijas // tāpēc, nospiežot jebkuru pogu, tas nosūta īpašu simbolu caur seriālo portu // Esmu pārliecināts, ka ir iespējams nosūtīt virknes simbolu vietā, un tam būtu lielāka jēga, bet es nezinu, kā to izdarīt // Ātruma kontroles komandas void One () {port.write ('w'); } void Five () {port.write ('x'); } void Ten () {port.write ('y'); } void Twenty () {port.write ('z'); } // Motora vadības komandas void Servo_1_Foward () {port.write ('a'); } void Servo_1_Back () {port.write ('b'); } void Servo_2_Foward () {port.write ('c'); } void Servo_2_Back () {port.write ('d'); } void Servo_3_Foward () {port.write ('e'); } void Servo_3_Back () {port.write ('f'); } void Servo_4_Foward () {port.write ('g'); } void Servo_4_Back () {port.write ('h'); } void Servo_5_Foward () {port.write ('i'); } void Servo_5_Back () {port.write ('j'); } void Servo_6_Foward () {port.write ('k'); } void Servo_6_Back () {port.write ('l'); } void Reset () {port.write ('r'); }
31. solis: vairāk attēlu
Ieteicams:
Ar balsi vadāma robota roka: 8 soļi (ar attēliem)
Ar balsi vadāma robota roka: a. Raksti {font-size: 110,0%; fonta svars: treknraksts; fontu stils: slīpraksts; teksta dekorēšana: nav; fona krāsa: sarkana;} a. raksti: virziet kursoru {background-color: black;} Šajā pamācībā ir paskaidrots, kā izveidot ar balsi vadāmu robotu roku, izmantojot
Lēta viedtālruņa vadāma roka (+ opciju saglabāšanas pozīcija): 5 soļi
Lēta viedtālruņa vadāma roka (+ opciju saglabāšanas pozīcija): Projekts Vadiet robotu ar viedtālruni, izmantojot Bluetooth ierīci. Režīma bonuss: mums ir poga, kas ļauj arduino atcerēties pozīciju. Kad vien vēlamies, mēs varam doties uz šo saglabāto pozīciju ar citu pogu. FRLE PROJET komanda
Servo vadāma protēzes roka: 8 soļi
Servo vadāma protēzes roka: Sveiki, šeit es veidoju protēzes roku, ko kontrolē servo, lai tā satvertu. Es gatavoju labo roku, bet es iekļāvu failus, lai drukātu arī kreiso plaukstu. Montāža ir vienāda gan kreisajai, gan labajai rokai
KĀ MONTĒT IMPRESĪVU KOKA ROBOTA ROKU (3. DAĻA: ROBOTA ROKA) - PAMATOJOTIES uz MIKRO: BITN: 8 soļi
KĀ MONTĒT IMPRESĪVU KOKA ROBOTA ROKU (3. DAĻA: ROBOTA ROKA) - PAMATOJOTIES MIKRO: BITN: Nākamais instalēšanas process ir balstīts uz izvairīšanās šķēršļu režīma pabeigšanu. Iepriekšējā sadaļā instalēšanas process ir tāds pats kā instalēšanas process līniju izsekošanas režīmā. Tad apskatīsim galīgo A formu
Žestu vadāma apmācāma robota roka, izmantojot Bluetooth, līdz Arduino: 4 soļi
Žestu vadāma apmācāma robota roka, izmantojot Bluetooth, lai Arduino: rokā ir divi režīmi. Pirmais ir manuālais režīms, ar kuru jūs varat pārvietot roku ar Bluetooth savā mobilajā tālrunī, pārvietojot lietotnes slīdņus. Tajā pašā laikā jūs varat saglabāt savas pozīcijas un spēlēt … Otrais ir žestu režīms, kas izmanto jūsu tālruņa numuru