Turinys:
- 1 žingsnis: dalys
- 2 žingsnis: PROTOTIPAVIMAS
- 3 žingsnis: PIRŠTINĖ
- 4 žingsnis: PERDAVIMO DĖŽUTĖ
- 5 žingsnis: GARNŲ VALDYMO DĖŽĖ
- 6 veiksmas: PIN kodo priskyrimas
- 7 žingsnis: KOMUNIKACIJA
- 8 veiksmas: eskizai ir dar daugiau …
- 9 žingsnis: KAS KITAS?
- 10 žingsnis: *** LAIMĖJAME !!! ***
Video: Mojuojate ranka, kad valdytumėte OWI robotinę ranką Be jokių stygų: 10 žingsnių (su paveikslėliais)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:46
IDĖJA:
„Instructables.com“yra bent 4 kiti projektai (2015 m. Gegužės 13 d.), Skirti modifikuoti ar valdyti „OWI Robotic Arm“. Nenuostabu, nes tai yra toks puikus ir nebrangus robotų rinkinys, su kuriuo galima žaisti. Šis projektas yra panašus savo dvasia (t. Y. Valdykite robotizuotą ranką su „Arduino“), tačiau skiriasi požiūriu. [vaizdo įrašas]
Idėja yra sugebėti valdyti robotų ranką belaidžiu būdu, naudojant gestus. Be to, stengiausi, kad robotų rankos modifikacijos būtų kuo mažesnės, todėl ją vis tiek būtų galima naudoti su originaliu valdikliu.
Skamba paprastai.
Galų gale tai buvo trijų dalių projektas:
- Pirštinė, kurioje yra pakankamai jutiklių, leidžiančių valdyti LED ir 5 variklius
- „Arduino Nano“siųstuvas, priimantis valdymo komandas iš pirštinės ir belaidžiu būdu siunčiamas į „Arm“valdiklio įrenginį
- „Arduino Uno“belaidis imtuvas ir variklio valdymo įtaisas, pritvirtintas prie „OWI Robotic Arm“
FUNKCIJOS
- Visų 5 laisvės laipsnių (DOF) ir šviesos diodų palaikymas
- Didelis raudonas mygtukas - nedelsiant sustabdyti rankos variklius, kad būtų išvengta žalos
- Nešiojamas modulinis dizainas
Mobiliesiems naudotojams: šio projekto „reklaminis vaizdo įrašas“yra „YouTube“čia.
1 žingsnis: dalys
PIRŠTINĖ:
Norėdami sukurti pirštinių valdiklį, jums reikės:
- „Isotoner Smartouch Tech Stretch Stitched Glove“(ar panaši) - „Amazon.com“
- „Spectra Symboflex Sensor 2.2“- „Amazon.com“
- GY -521 6DOF MPU6050 3 ašių giroskopas + akselerometro modulis - svetainėje Fasttech.com
- 2X5 BOX HEADER STRAIGHT - Phoenixent.com
- 2X5 IDC SOCKET -RECEPTACLE - Phoenixent.com
- FLAT RIBBON CABLE 10 Dirigentas.050 "Pitch - Phoenixent.com
- 2 x 5 mm šviesos diodai - žalia ir geltona
- 2 x maži mygtukai
- Rezistoriai, laidai, adata, juodas siūlas, klijų pistoletas, litavimo pistoletas, lydmetalis ir kt.
PERDAVIMO STRAP-ON BOX:
- „Arduino“suderinama „Nano v3.0 ATmega328P -20AU“plokštė - svetainėje Fasttech.com
- Suderinamas su nRF24L01+ 2,4 GHz belaidžiu siųstuvu -imtuvu „Arduino“- „Amazon.com“
- „Gymboss WRISTBAND“- „Amazon.com“
- 9V akumuliatoriaus laikiklio dėžės dėklas su vielos laido įjungimo/išjungimo jungikliu - „Amazon.com“
- 2X5 BOX HEADER STRAIGHT - Phoenixent.com
- 9v baterija
- 47uF (50v) kondensatorius
- Rezistoriai, laidai, klijų pistoletas, litavimo pistoletas, lydmetalis ir kt.
„OWI ROBOTIC ARM CONTROLLER BOX“:
- „Arduino“suderinama „Uno R3 Rev3“plėtros lenta - „Fasttech.com“
- „Prototype Shield DIY KIT“, skirtas „Arduino“(ar panašiai) - „Amazon.com“
- Suderinamas su nRF24L01+ 2,4 GHz belaidžiu siųstuvu -imtuvu „Arduino“- „Amazon.com“
- 3 x L293D 16 kontaktų integruoto grandyno IC variklio tvarkyklė - svetainėje Fasttech.com
- 1 x SN74HC595 74HC595 8 bitų poslinkių registras su 3 būsenų išvesties registrais DIP16-„Amazon.com“
- 47uF (50v) kondensatorius
- „Arduino“dėžutė - „Amazon.com“
- Įjungimo/išjungimo jungiklis
- 2 x 13 mm mygtukai (vienas raudonas ir vienas žalias dangteliai)
- 2 x 2X7 BOX HEADER STRAIGHT - tas pats, kas aukščiau Phoenixent.com
- FLAT RIBBON CABLE 14 Dirigentas.050 "žingsnis - tas pats, kas aukščiau Phoenixent.com
- 9 V baterija + prisegama jungtis
- Rezistoriai, laidai, klijų pistoletas, litavimo pistoletas, lydmetalis ir kt.
… ir žinoma:
„OWI Robotic Arm Edge“- roboto ranka - OWI -535 - „Adafruit.com“
2 žingsnis: PROTOTIPAVIMAS
Aš primygtinai siūlau prototipuoti kiekvieną valdiklio įrenginį prieš lituojant visus komponentus.
Šis projektas naudoja keletą sudėtingų aparatūros dalių:
nRF24L01
Prireikė šiek tiek laiko, kol abu nRF24 kalbėjosi tarpusavyje. Matyt, nei „Nano“, nei „Uno“nesuteikia pakankamai stabilizuotos 3,3 V galios, kad moduliai veiktų nuosekliai. Mano atveju sprendimas buvo 47uF kondensatorius per abiejų nRF24 modulių maitinimo kaiščius. Taip pat yra keletas keistenybių naudojant RF24 biblioteką IRQ ir ne IRQ režimais, todėl rekomenduoju tikrai atidžiai išnagrinėti pavyzdžius.
Pora puikių išteklių:
nRF24L01 Itin mažos galios 2,4 GHz radijo dažnio siųstuvo -imtuvo IC produkto puslapis
RF24 tvarkyklės bibliotekos puslapis
Tiesiog „google“nRF24 + arduino sukurs daugybę nuorodų. Tai verta ištirti
74HC595 PERJUNGIMO REGISTRAS
Nenuostabu, kad turėdamas valdyti 5 variklius, šviesos diodą, du mygtukus ir belaidį modulį, „Uno“kaiščiai baigėsi gana greitai. Gerai žinomas būdas „išplėsti“PIN kodų skaičių yra naudoti pamainų registrą. Kadangi nRF24 jau naudojo SPI sąsają, nusprendžiau naudoti SPI ir pamainos registravimo programavimui (greičiui ir kaiščių išsaugojimui), o ne „shiftout“() funkcijai. Mano nuostabai, tai pirmą kartą veikė kaip žavesys. Tai galite patikrinti smeigtuko priskyrime ir eskizuose.
Duonos lenta ir trumpieji laidai yra jūsų draugai.
3 žingsnis: PIRŠTINĖ
„OWI Robotic ARM“turi 6 valdomus elementus („OWI Robotic Arm Edge Picture“)
- Šviesos diodas, esantis ant prietaiso GRIPPER
- GRIPAS
- Riešas
- KELNĖ - tai robotinės rankos dalis, pritvirtinta prie RIEŠO
- PELTUVAS - tai robotinės rankos dalis, pritvirtinta prie PAGRINDO
- PAGRINDAS
Pirštinė skirta valdyti „Robotic Arm“šviesos diodą ir visus 5 variklius (Laisvės laipsniai).
Nuotraukose pažymėti atskiri jutikliai ir aprašymas žemiau:
- GRIPPER yra valdomas mygtukais, esančiais ant vidurinio piršto ir rausvos spalvos. Griebtuvas uždaromas spaudžiant rodomąjį ir vidurinįjį pirštus kartu. Griebtuvas atidaromas paspaudus žiedą ir rausvą spalvą.
- WRIST valdomas lanksčiu indekso ieškiklio rezistoriumi. Sulenkus pirštą iki pusės, riešas nusileidžia žemyn, o iki galo - riešas kyla aukštyn. Laikydami rodomąjį pirštą tiesiai, riešas sustoja.
- ELBOW valdomas akselerometru - pakreipus delną aukštyn ir žemyn, alkūnė atitinkamai juda aukštyn ir žemyn
- PETAS turi būti kontroliuojamas akselerometru - pakreipus delną į dešinę ir į kairę (bet ne aukštyn kojom!), Petys atitinkamai juda aukštyn ir žemyn
- „BASE“taip pat valdo akselerometras, panašiai kaip pečius - pakreipęs delną į dešinę ir į kairę aukštyn kojom (delnas nukreiptas į viršų) atitinkamai perkelia pagrindą į dešinę ir į kairę
- Šviesos diodas ant griebtuvo įjungiamas/išjungiamas paspaudus abu griebtuvo valdymo mygtukus.
Visi mygtukų atsakymai vėluoja 1/4 sekundės, kad nesijaudintų.
Surinkti pirštinę reikia šiek tiek lituoti ir daug siūti. Iš esmės tai tik 2 mygtukų, lankstaus rezistoriaus, „Accel/Gyro“modulio pritvirtinimas prie pirštinės audinio ir laidų nukreipimas prie jungčių dėžutės.
Ant jungties dėžutės yra du šviesos diodai:
- ŽALIA - įjunkite
- GELTONA - mirksi, kai duomenys perduodami į rankos valdymo dėžutę.
4 žingsnis: PERDAVIMO DĖŽUTĖ
Siųstuvo dėžutė iš esmės yra „Arduino Nano“, „nRF24“belaidis modulis, lanksti laido jungtis ir 3 rezistoriai: 2 ištraukiami 10 kOhm rezistoriai, skirti pirštinės griebtuvo valdymo mygtukams, ir įtampos padalijimo 20 kOhm rezistorius lanksčiam jutikliui, valdančiam riešą.
Viskas yra lituojama kartu ant vero lentos. Atminkite, kad nRF24 „kabo“virš „Nano“. Bijojau, kad tai gali sukelti trukdžių, bet tai veikia.
Naudojant 9 V bateriją, dirželis yra šiek tiek apimtas, tačiau aš nenorėjau maišytis su LiPo baterijomis. Galbūt vėliau.
Lituoklio instrukcijas rasite kaiščių priskyrimo žingsnyje
5 žingsnis: GARNŲ VALDYMO DĖŽĖ
Rankų valdymo dėžutė yra pagrįsta „Arduino Uno“. Jis gauna komandas iš pirštinės belaidžiu būdu per nRF24 modulį ir valdo „OWI Robotoc Arm“per 3 L293D tvarkyklės lustus.
Kadangi beveik visi „Uno“kaiščiai buvo panaudoti, dėžutės viduje yra daug laidų - jis vos užsidaro!
Pagal konstrukciją dėžutė prasideda išjungimo režimu (tarsi būtų paspaustas raudono sustabdymo mygtukas), suteikdamas operatoriui laiko užsimauti pirštinę ir pasiruošti. Kai pasiruošęs, operatorius paspaudžia žalią mygtuką ir turi būti nedelsiant užmegztas ryšys tarp pirštinės ir valdymo dėžutės (kaip rodo geltonas pirštinės šviesos diodas ir raudonas šviesos diodas valdymo skydelyje).
JUNGTIS SU OWI
Prijungimas prie robotinės rankos atliekamas per 14 kontaktų dviejų eilučių antraštę (pagal paveikslėlį aukščiau) per 14 laidų plokščią kabelį.
- Šviesos diodų jungtys yra prie bendros žemės (-) ir arduino kaiščio A0 per 220 omų rezistorių
- Visi variklio laidai yra prijungti prie L293D kaiščių 3/6 arba 11/14 (atitinkamai +/-). Kiekvienas L293D palaiko 2 variklius, taigi dvi poras kaiščių.
- OWI maitinimo linijos yra kairėje (+6v) ir dešinėje (GND) 7 kontaktų jungties kaiščiai geltonos viršutinės dalies gale. (Aukščiau esančioje nuotraukoje galite pamatyti prijungtus laidus). Šie du yra prijungti prie 8 (+) ir 4, 5, 12, 13 (GND) kaiščių visuose trijuose L293D.
Žiūrėkite likusį kaiščio priskyrimą kitame žingsnyje
6 veiksmas: PIN kodo priskyrimas
NANO:
- 3.3v - 3.3v į nRF24L01 mikroschema (2 kontaktas)
- 5v - 5v iki akselerometro plokštės, mygtukai, lankstus jutiklis
- a0 - lankstus rezistoriaus įėjimas
- a1 - geltonas „comms“LED valdymas
- a4 - SDA į akselerometrą
- a5 - SCL į akselerometrą
- d02 - nRF24L01 lusto pertraukimo kaištis (8 kontaktas)
- d03 - atidaro griebtuvo mygtuko įvestis
- d04 - uždaryti griebtuvo mygtuką
- d09 - SPI CSN kaištis į lustą nRF24L01 (4 kaištis)
- d10 - SPI CS kaištis į lizdą nRF24L01 (3 kaištis)
- d11 - SPI MOSI į nRF24L01 mikroschema (6 kontaktas)
- d12 - SPI MISO į nRF24L01 lustą (7 kontaktas)
- d13 - SPI SCK į nRF24L01 lustą (5 kaištis)
- Vin - 9v +
- GND - bendras pagrindas
UNO:
- 3.3v - 3.3v į nRF24L01 mikroschema (2 kontaktas)
- 5–5 V mygtukai
- Vin - 9v +
- GND - bendras pagrindas
- a0 - riešo šviesos diodas +
- a1 - SPI SS kaištis poslinkių registrui Pasirinkite - prie 12 kaiščių pamainų registre
- a2 - RAUDONO mygtuko įvestis
- a3 - ŽALIO mygtuko įvestis
- a4 - krypties pagrindas dešinėje - 15 kaištis ant L293D
- a5 - vedami komsai
- d02 - nRF24L01 IRQ įvestis (8 kontaktas)
- d03 - įjunkite pagrindinį servo (pwm) 1 arba 9 kaištį L293D
- d04 - kryptis bazė kairė - 10 kaištis atitinkamame L293D
- d05 - įjunkite pečių servo (pwm) 1 arba 9 kaištį L293D
- d06 - įjunkite alkūninio servo (pwm) 1 arba 9 kaištį L293D
- d07 - SPI CSN kaištis į lustą nRF24L01 (4 kaištis)
- d08 - SPI CS kaištis į lustą nRF24L01 (3 kaištis)
- d09 - įjunkite riešo servo (pwm) 1 arba 9 kaištį L293D
- d10 - įjunkite griebtuvo servo (pwm) 1 arba 9 kaištį L293D
- d11 - SPI MOSI į nRF24L01 lustą (6 kaištis) ir 14 kaiščių poslinkių registre
- d12 - SPI MISO į nRF24L01 lustą (7 kontaktas)
- d13 - SPI SCK į nRF24L01 mikroschemą (5 kaištis) ir 11 kaištis poslinkių registre
PERJUNGIMO REGISTRAS IR L293D:
- 74HC595 kaištis QA (15) į L293D #1 kaištį
- 74HC595 QB (1) kaištis iki L293D #1 kaiščio
- 74HC595 QC (2) kaištis iki L293D #1 kaiščio
- 74HC595 QD (3) kaištis iki L293D #1 kaiščio
- 74HC595 kaištis QE (4) į L293D #2 kaištį
- 74HC595 QF (5) kaištis į L293D #2 kaištį 7
- 74HC595 QG (6) kaištis iki L293D #2 kaiščio 10
- 74HC595 QH (7) kaištis iki L293D #2 kaiščio 15
7 žingsnis: KOMUNIKACIJA
Pirštinė siunčia 2 baitus duomenų į valdymo dėžutę 10 kartų per sekundę arba kaskart, kai gaunamas vieno iš jutiklių signalas.
2 baitų pakanka 6 valdikliams, nes mums tereikia išsiųsti:
- ĮJUNGTAS/IŠJUNGTAS šviesos diodams (1 bitas) - aš iš tikrųjų naudojau 2 bitus, kad atitiktų variklius, tačiau pakanka vieno
- OFF/RIGHT/LEFT 5 varikliams: po 2 bitus = 10 bitų
Iš viso pakanka 11 arba 12 bitų.
Krypties kodai:
- IŠJUNGTA: 00
- TEISINGAI: 01
- Kairė: 10
Kontrolinis žodis atrodo taip (šiek tiek):
2 baitas ---------------- 1 baitas ----------------
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 0 LED-M5-- M4-- M3-- M2-- M1--
- M1 - griebtuvas
- M2 - riešas
- M3 - alkūnė
- M4 - petys
- M5 - bazė
1 baitas gali būti patogiai įvedamas tiesiai į poslinkių registrą, nes valdo 1–4 variklių dešinę/kairę kryptį.
Ryšiams įjungtas 2 sekundžių skirtasis laikas. Jei įvyksta skirtasis laikas, visi varikliai sustabdomi taip, lyg būtų paspaustas raudonas mygtukas.
8 veiksmas: eskizai ir dar daugiau …
PIRŠTINĖ
Pirštinių eskizas naudoja šias bibliotekas:
- „DirectIO“- galima rasti „Github“
- „I2Cdev“- galima rasti „Github“
- Viela - „Arduino IDE“dalis
- MPU6050 - galima rasti „Github“
- SPI - „Arduino IDE“dalis
- RF24 - galima rasti „Github“
ir trys mano sukurtos bibliotekos:
- „AvgFilter“- yra „Github“
- „DhpFilter“- galima rasti „Github“
- „TaskScheduler“- galima rasti „Github“
Pirštinių eskizą rasite čia: Pirštinių eskizas v1.3
GARNŲ VALDYMO DĖŽUTĖ
Rankos eskizui naudojamos šios bibliotekos:
- „DirectIO“- galima rasti „Github“
- „PinChangeInt“- prieinama „Github“
- SPI - „Arduino IDE“dalis
- RF24 - galima rasti „Github“
ir mano sukurta biblioteka:
„TaskScheduler“- galima rasti „Github“
Rankos eskizą rasite čia: Rankos eskizas v1.3
Naudotos techninės įrangos duomenų lapai
- 74HC595 pamainų registras - duomenų lapas
- L293D variklio tvarkyklė - duomenų lapas
- nRF24 belaidis modulis - duomenų lapas
- Akselerometras/giroskopo modulis MPU6050 - duomenų lapas
2015 m. Gegužės 31 d. ATNAUJINIMAS:
Naują pirštinių ir rankų valdymo dėžės eskizų versiją rasite čia: Pirštinių ir rankų eskizai v1.5
Jie taip pat yra „github“čia.
Pakeitimai
- Prie ryšio struktūros pridėta dar du baitai, kad būtų išsiųstas prašomas variklio greitis riešo, alkūnės, peties ir pagrindiniams varikliams kaip 5 bitų vertė (0.. 31) iš pirštinės proporcinga valdymo gesto kampui (žr. Toliau). „Arm Control Box“susieja kiekvieno variklio reikšmes [0.. 31] su atitinkamomis PWM reikšmėmis. Tai leidžia operatoriui laipsniškai valdyti greitį ir tiksliau valdyti ranką.
- Naujas gestų rinkinys:
1. Šviesos diodas: mygtukų valdymo šviesos diodas - vidurinio piršto mygtukas - ĮJUNGTAS, rožinio piršto mygtukas - IŠJUNGTAS
2. GRIPPER: Lankstūs juostiniai valdikliai Griebtuvas - pusiau sulenktas pirštas - ATVIRAS, visiškai sulenktas pirštas - UŽDARYTI
3. Riešas: riešas valdomas pakreipiant delną iš visiškai horizontalios padėties Aukštyn ir žemyn. Daugiau pakreipimo sukuria didesnį greitį
4. ARM: Ranka valdoma pakreipiant delną iš visiškai horizontalios padėties į kairę ir į dešinę. Daugiau pakreipimo sukuria didesnį greitį
5. PETAS: petys valdomas sukant delną į dešinę ir į kairę nuo delno, nukreipto tiesiai į viršų. Delnas yra pasuktas išilgai alkūnės ašies (taip pat mojuoja ranka)
6. PAGRINDAS: Pagrindas valdomas taip pat, kaip ir petys, delnas nukreiptas tiesiai žemyn.
9 žingsnis: KAS KITAS?
VAIZDAVIMAS DARBE
Kaip įprasta naudojant tokias sistemas, jas būtų galima užprogramuoti daug daugiau.
Pavyzdžiui, dabartinis dizainas jau apima papildomas galimybes, kurių neįmanoma padaryti naudojant standartinį nuotolinio valdymo pultą:
- Palaipsniui didinamas greitis: kiekvienas variklio judesys pradedamas iš anksto nustatytu minimaliu greičiu, kuris palaipsniui didinamas kas 1 sekundę, kol pasiekiamas maksimalus greitis. Tai leidžia tiksliau valdyti kiekvieną variklį (ypač riešą ir griebtuvą)
- Greitesnis judesio atšaukimas: kai „Arm Box“gauna komandą sustabdyti variklį, ji akimirksniu apverčia variklį maždaug 50 ms, taip „nutraukdama“judesį ir leis tiksliau valdyti.
KAS DAR?
Galbūt būtų galima įgyvendinti sudėtingesnius valdymo gestus. Arba vienu metu gestai gali būti naudojami sudėtingiems valdikliams. Ar Arm gali šokti?
Jei turite idėją, kaip perprogramuoti pirštinę, ar turite eskizo versiją, kurią norite išbandyti - praneškite man: [email protected]
10 žingsnis: *** LAIMĖJAME !!! ***
Šis projektas laimėjo pirmąją premiją konkurse „Coded Creations“, kurį rėmė „Microsoft“.
Pasižiūrėk! WOO-HOO !!!
Antroji premija už užkoduotą kūrybą
Rekomenduojamas:
Pakartotinai naudokite seno nešiojamojo kompiuterio jutiklinę plokštę, kad valdytumėte žingsninį variklį: 11 žingsnių (su nuotraukomis)
Pakartotinai naudokite seno nešiojamojo kompiuterio jutiklinį kilimėlį, kad valdytumėte žingsninį variklį: šį projektą sukūriau prieš kelis mėnesius. Prieš kelias dienas „Reddit“paskelbiau projekto vaizdo įrašą „r/Arduino“. Matydamas žmones, besidominčius projektu, nusprendžiau padaryti šį „Instructable“, kai padariau keletą „Arduino“kodo pakeitimų ir
„Arduino“robotinė ranka: 12 žingsnių
„Arduino Robotic Arm“: šis nurodymas buvo sukurtas vykdant Pietų Floridos universiteto „Makecourse“projekto reikalavimą. Tai yra pagrindiniai komponentai, reikalingi šiam projektui surinkti
„Popsicle Stick“robotinė ranka: 17 žingsnių (su nuotraukomis)
„Popsicle Stick“robotinė ranka: Štai kaip sukurti paprastą robotų ranką su griebtuvu, naudojant popsicle lazdeles, „Arduino“ir keletą servo
Naudokite „Cortana“ir „Arduino“, kad balsu valdytumėte RGB lemputes ar šviesos diodų juostas!: 4 žingsniai (su nuotraukomis)
Naudokite „Cortana“ir „Arduino“, kad savo balsu valdytumėte RGB lemputes ar šviesos diodų juostas!: Šioje instrukcijoje aš jums parodysiu, kaip savo balsu galite valdyti savo RGB LED ar LED juostą. Tai daro „CoRGB“programa, kurią nemokamai galima rasti „Windows“programų parduotuvėje. Ši programa yra mano „CortanaRoom“projekto dalis. Kai baigsite sąmokslą
Trečioji ranka ++: daugiafunkcinė pagalbos ranka elektronikai ir kitiems subtiliems darbams: 14 žingsnių (su paveikslėliais)
Trečioji ranka ++: daugiafunkcinė pagalbos ranka elektronikai ir kitiems subtiliems darbams .: Anksčiau aš naudoju trečiąsias/pagalbos rankas, kurias galima įsigyti grandinės elektronikos parduotuvėse, ir buvau nusivylęs jų naudojimu. Niekada negalėjau gauti klipų tiksliai ten, kur norėjau, arba prireikė daugiau laiko, nei iš tikrųjų reikėjo, kad juos nustatytų