Satura rādītājs:

DIY daudzfunkcionāls robots ar Arduino: 13 soļi (ar attēliem)
DIY daudzfunkcionāls robots ar Arduino: 13 soļi (ar attēliem)

Video: DIY daudzfunkcionāls robots ar Arduino: 13 soļi (ar attēliem)

Video: DIY daudzfunkcionāls robots ar Arduino: 13 soļi (ar attēliem)
Video: How I Built a 3D Printed Robot Arm from Scratch (Arduino Based) 2024, Jūlijs
Anonim
DIY daudzfunkcionāls robots ar Arduino
DIY daudzfunkcionāls robots ar Arduino
DIY daudzfunkcionāls robots ar Arduino
DIY daudzfunkcionāls robots ar Arduino
DIY daudzfunkcionāls robots ar Arduino
DIY daudzfunkcionāls robots ar Arduino

Šis robots galvenokārt tika veidots, lai saprastu Arduino un apvienotu dažādus Arduino projektus, veidojot daudzfunkcionālu Arduino robotu. Un tālāk, kurš nevēlas, lai būtu mājdzīvnieku robots? Tāpēc es to nosaucu par BLUE ROVIER 316. Es būtu varējis nopirkt skaistu kāpurķēžu šasiju, bet tās izgatavošana no nulles māca jums vairāk un rada lielāku lepnumu pēc tās pabeigšanas. Robots spēj saprast balss komandas, atbildēt uz vienkāršiem jautājumiem un kontrolēt RC automašīna un pat izvairoties no šķēršļiem pārvietošanās laikā. To galvenokārt kontrolē, izmantojot Android tālruni, kas tam ir savienots, izmantojot Bluetooth. Pamatojoties uz Android funkcijām, piemēram, Google balss atpazīšanu un slīpuma noteikšanu, tas patiešām var uzvesties kā gudrs, gudrs robots. Es pievienoju BLUE tā nosaukumam, jo tas galvenokārt ir balstīts uz Bluetooth. Tas faktiski bija mans pirmais Arduino projekts, un es vēlējos, lai tas būtu unikāls. Ja jums patīk projekts, lūdzu, balsojiet par mani Robotikas konkursā!

1. darbība: demonstrācijas video

Image
Image
ROVIER stāsts
ROVIER stāsts

Jūs varat noskatīties robota demonstrāciju šajā vietnē:

2. darbība: stāsts par ROVIER

ROVIER stāsts
ROVIER stāsts

Jūs varat pāriet uz nākamo soli, ja nevēlaties izbaudīt jauko stāstu par BLUE ROVIER 316. Apmēram gadu atpakaļ es saņēmu Arduino UNO kā dāvanu no sava tēva. Tā kā tas bija mans pirmais solis Arduino jomā, es gribēju izveidot kaut ko atšķirīgu un unikālu no vispārējiem Arduino projektiem. Tam vajadzēja būt gudram un gudram robotam, kas spēj saprast balss komandas un veikt daudz saprātīgākas lietas, piemēram, tālvadību, sekošanu līnijām, izvairīšanos no šķēršļiem un tā tālāk. Jautājums bija, kā tos apvienot. Un pēc patiešām patīkama laika sērfošanas tīklā es secināju, ka Bluetooth būtu lētākais režīms. Un tā, BLUE ROVIER tika uzsākta. Bet radās situācija, kad man bija jāizslēdz daudzas robota iezīmes, kuras es biju gaidījis, galvenokārt Arduino UNO atmiņas trūkuma dēļ (pat mazāks skaits digitālās tapas uz UNO). Nav svarīgi, es turpināju. Pagāja patiešām labs laiks, lai izveidotu robota galīgo versiju. Un tā pēc daudziem izmēģinājumiem un neveiksmēm beidzot radās BLUE ROVIER. Un tagad mēs varam pāriet pie robota izgatavošanas.

3. darbība: sastāvdaļas un detaļas

Sastāvdaļas un detaļas
Sastāvdaļas un detaļas
Sastāvdaļas un detaļas
Sastāvdaļas un detaļas
Sastāvdaļas un detaļas
Sastāvdaļas un detaļas

Jums būs nepieciešami tikai šādi komponenti: 1. Android sistēma 2. Arduino Uno 3. wtv020-sd-16p modulis un 8ohm skaļrunis4. 2x L293d motora kontrollera ķēde 5. 4x bo motori un riteņi6. HC SR04 ultraskaņas sensors 7. 9g servo8. 8 AA bateriju turētājs un baterijas 9. 1gb micro SD karte 10. maza slēdžu kārba šasijai.11. HC 05 Bluetooth modulis Es zinu, ka tas izskatās dārgi! Bet neuztraucieties, tas maksās tikai aptuveni divus vai trīs tūkstošus rūpiju. Runājot par Android, tas nebūs liels jautājums, lai to iegūtu, jo lielākajai daļai tas ir pieejams mūsdienās. Bet jaunākas versijas (virs 5.0) var palielināt veiktspēju. Mēģiniet iegādāties motorus ar mērenu apgriezienu skaitu (60 līdz 100). Tas palīdzētu kontrolēt robota ātrumu, jo nav uzstādīta cita ātruma kontroles ķēde. Un 8 aa baterijas ir pietiekamas, lai robotu labi darbinātu. Un, ņemot vērā Bluetooth, HC 05 ir piemērots robotam, jo tas ir pietiekami lēts un arī veiktspēja ir izcila. 1 GB micro SD karte ir nepieciešama, lai saglabātu balss failus, kas tiek atskaņoti, kad robotam tiek uzdoti kādi jautājumi [Detalizēti apspriests nesaprotamā materiāla vēlākajā daļā]. Pārējās sastāvdaļas ir detalizēti apspriestas attiecīgajā posmā.

Tagad pāriesim pie dažām vienkāršām "teorijām", kas tiek izmantotas šajā robotā.

4. solis: Balss vadības teorija

Balss vadības teorija
Balss vadības teorija
Balss vadības teorija
Balss vadības teorija
Balss vadības teorija
Balss vadības teorija
Balss vadības teorija
Balss vadības teorija

Robots var saprast balss komandas, izmantojot Android tālruni. Es domāju, ka visi ir pazīstami ar Google balss atpazīšanu, Android funkciju, kurā mēs sakām vārdu un Google to ieraksta. To pašu funkciju izmanto šeit, lai atpazītu balss komandas un pārvērstu tās teksta komandās. Šeit esošā lietotne pārvērš runu tekstā, izmantojot Google, un nosūta to robotam, izmantojot Bluetooth. Robots ir ieprogrammēts izpildīt šīs komandas, kas saņemtas, izmantojot Bluetooth. Tas arī spēj atbildēt uz lielu skaitu jautājumu. Jūs pat varat pievienot dažas komandas kodā, lai robots darītu vēl dažas lieliskas lietas. Šeit ir Android lietojumprogramma:

5. solis: žestu kontroles teorija

Žestu kontroles teorija
Žestu kontroles teorija
Žestu kontroles teorija
Žestu kontroles teorija

Žestu vai kustības vadības režīms tiek veikts arī, izmantojot Android. Šajā režīmā robotu var vadīt kā RC automašīnu, izmantojot Android kā stūri. Visos androidos ir sensors, ko sauc par "akselerometru", kas tiek izmantots šajā režīmā. Šis akselerometrs var noteikt tālruņa leņķi, mērot paātrinājuma spēkus, kas iedarbojas uz Android. Tieši šis sensors liek Android ierīcei pagriezt ekrānu, kad mēs noliecam tālruni. Šeit lietotne izmanto tālruņa akselerometru, lai noteiktu tālruņa leņķi. Pēc tam rakstzīme (A, B…) tiek nosūtīta robotam, izmantojot Bluetooth. Arduino ir ieprogrammēts darbam atbilstoši saņemtajiem datiem. Ja tālrunis ir noliekts uz priekšu, tiek nosūtīta rakstzīme A un robots virzās uz priekšu. Pagriežot atpakaļ, tiek nosūtīts B raksturs, un robots pārvietojas atpakaļ un tā tālāk pa kreisi un pa labi. Kad Android ir novietots horizontāli, tiek nosūtīta rakstzīme E un robots pārstāj kustēties.

6. darbība: Bluetooth vadības teorija

Bluetooth vadības teorija
Bluetooth vadības teorija
Bluetooth vadības teorija
Bluetooth vadības teorija

Šajā režīmā robots darbojas kā vispārēja RC automašīna. Šajā režīmā nekas jauns, tā ir tāda pati kā tirgū pieejama vispārēja tālvadības automašīna, vienīgā atšķirība ir tā, ka robota vadīšanai izmantojam Android lietotni. Lietotnē ir dažādas pogas, kurām katrai ir dažādas rakstzīmes ar to saistīts. Pieskaroties jebkurai taustiņai, rakstzīme tiek nosūtīta robotam, izmantojot Bluetooth, tāpat kā žestu vadības režīms. Turklāt, pieskaroties attiecīgajiem taustiņiem, tiek nosūtītas tās pašas rakstzīmes, un robots seko ienākošajām rakstzīmēm. Esmu izmantojis lietotnē 360 un -360 grādu pogas, lai robots izskatītos pa labi un pa kreisi. Jūs varat to mainīt kodā, ja vēlaties likt robotam veikt dažas citas darbības.

7. solis: Šķēršļu novēršanas teorija

Šķēršļu novēršanas teorija
Šķēršļu novēršanas teorija
Šķēršļu novēršanas teorija
Šķēršļu novēršanas teorija

Šajā režīmā robots darbojas kā šķēršļu novēršanas robots, neļaujot sadurties ar jebkuru objektu. Tas tiek darīts ar sensoru HC SR04. Es domāju, ka jūs zināt par SONAR (skaņas navigācija un diapazons). HC SR04 sensors nepārtraukti izstaro ultraskaņas skaņas viļņus. Šie viļņi pēc atsitiena pret cieto virsmu atgriežas un atgriežas pie sensora. Tiek reģistrēts laiks, kas viļņiem vajadzīgs, lai atgrieztos pie sensora. Tā kā skaņa pārvietojas aptuveni ar ātrumu 340 m/s un mēs zinām, ka ĀTRUMS × LAIKS = DISTANCE, mēs varam noteikt attālumu uz priekšu. Piemēram, ja skaņa ilgst 2 sekundes lai atgrieztos, mēs varam noteikt attālumu, izmantojot iepriekš minēto formulu, ti, 340 × 2 = 680 m. Tādā veidā robots var izmērīt attālumu pirms tā caur sensoru. Pārvietojoties, robots nepārtraukti mēra priekšā esošo attālumu caur sensoru. Ja tā nojauš, ka brīva vieta priekšā ir mazāka par 30 cm, tā pārstāj kustēties. Tad tas izskatās pa kreisi un pa labi un salīdzina katras puses attālumu. Ja kreisajai pusei ir lielāks attālums, robots pagriežas pa kreisi. Pretējā gadījumā, ja labā puse ir lielāka, robots pagriežas pa labi. Ja abām pusēm ir vienāds attālums, robots pagriežas atpakaļ. Šis vienkāršais mehānisms palīdz robotam izvairīties no šķēršļiem.

8. darbība: šasijas montāža

Šasijas montāža
Šasijas montāža
Šasijas montāža
Šasijas montāža
Šasijas montāža
Šasijas montāža
Šasijas montāža
Šasijas montāža

Veicot šasiju patstāvīgi, jums jābūt ļoti uzmanīgam attiecībā uz mērījumiem un izlīdzinājumiem. Es izvēlējos to darīt, jo tīklā nevarēju atrast tādu, kas mani apmierinātu. Kā šasija tiek izmantota vispārēja slēdžu kārba, ko izmanto barošanas vajadzībām. Es domāju, ka to var viegli iegūt elektroierīču veikalā. Vispirms pievienojiet četrus motorus apakšā ar līmi vai skavām un pēc tam pievienojiet riteņus. Tad jums ir jāizveido robota galva (servo un HC SR04 sensors). Galvai sagrieziet nelielu gabalu un piestipriniet to servo caur skrūvi. Pēc tam piestipriniet ultraskaņas sensoru pie plātnes ar kādu līmi. Izgrieziet nelielu kvadrātveida caurumu kastes augšpusē un nostipriniet tajā servo. Pēc tam caur skrūvi piestipriniet akumulatora turētāju robota aizmugurē. Ievietojiet ķēdes un citas sastāvdaļas kastē, un jūsu šasija ir gatava. Neaizmirstiet skaļruņa priekšā izveidot dažus caurumus, lai skaņa iznāktu un radītu labāku kvalitāti.

9. solis: Balss moduļa sagatavošana

Balss moduļa sagatavošana
Balss moduļa sagatavošana
Balss moduļa sagatavošana
Balss moduļa sagatavošana
Balss moduļa sagatavošana
Balss moduļa sagatavošana

Robota runas režīmu izpilda WTV 020 SD modulis. Moduli izmanto balss failu atskaņošanai robotam. Kad tiek uzdots kāds jautājums, arduino liks modulim atskaņot attiecīgo balss failu SD kartē. Modulī ir četras sērijas datu līnijas saziņai ar arduino, atiestatīšanu, pulksteni, datiem un aizņemtajām tapām. Atcerieties, ka failu nosaukumiem jābūt decimāldaļās (0001, 0002…). Un ka failiem jābūt vai nu AD4, vai WAV formātā. Turklāt modulis darbojas tikai ar 1 GB micro SD karti. Daži moduļi darbojas pat ar 2 GB kartēm, un kartē var būt ne vairāk kā 504 balss faili. Tātad, lai atskaņotu daudz jautājumu, varat iekļaut lielu skaitu balss failu. Jūs pat varat izveidot savus balss AD4 failus (varat izlaist šo daļu, ja varat pielāgot ar balss failiem, kas iekļauti kopā ar šo nepārbaudāmo)., jums ir jābūt divām programmām, skaņas rediģēšanas programmatūrai un programmatūrai ar nosaukumu 4D SOMO TOOL, kas pārvērš failus AD4 formātā. Otrkārt, jums ir jāsagatavo robotu balsis. Jūs varat pārvērst tekstu runā vai pat ierakstīt savu balsi un padarīt robota balsis. Abas šīs darbības var veikt skaņas rediģēšanas programmatūrā. Bet, protams, roboti neizskatās labi, ja runā cilvēku balsis. Tāpēc vajadzētu labāk pārvērst tekstu runā. Ir dažādi dzinēji, piemēram, Microsoft Anna un Microsoft Sam jūsu dators, kas to palīdzētu. Pēc balss failu sagatavošanas jums tas jāsaglabā 32000 Hz un WAV formātā. Tas ir tāpēc, ka modulis var atskaņot balss failus līdz 32000 Hz. Pēc tam izmantojiet 4D SOMO TOOL, lai pārvērstu failus AD4 formātā. Lai to izdarītu, vienkārši atveriet SOMO TOOL, atlasiet failus un noklikšķiniet uz AD4 Encode, un jūsu balss faili ir gatavi. Jūs varat pārbaudīt attēlu, lai iegūtu atsauci. Ja vēlaties iegūt sīkāku informāciju par robotu balsu veidošanu, varat doties šeit:

[Making Robotic Voices] Šeit ir oriģinālie balss faili un programmatūra:

10. darbība. Savienojumu izveide

Savienojumu veidošana
Savienojumu veidošana
Savienojumu veidošana
Savienojumu veidošana
Savienojumu veidošana
Savienojumu veidošana

Saīsiniet visas attiecīgo moduļu Vcc tapas kopā un pievienojiet to arduino 5V tapai. Dariet to pašu ar gnd tapām. Šeit ir dažādu moduļu savienojumi. HC 05 modulis: RX tapa uz arduino dig pin 0. 0. TX pin uz arduino dig pin 1. HC SR04 sensors: Echo pin to arduino dig pin 6. Trig pin to arduino dig pin 7WTV020-SD modulis: pin1 (atiestatīt tapu) uz arduino dig pin2. pin4 uz skaļruni +pin5 uz skaļruni -pin7 (pulkstenis) uz arduino dig pin3.pin8 līdz gnd.pin10 (dati) uz arduino dig pin4.pin15 (aizņemts) līdz arduino dig pin5.pin16 līdz 3.3v Pēc tam pievienojiet servo signāla (dzelteno) vadu un izvelciet tapu 12. L293d motora kontrolieris: pin A1 līdz arduino dig pin 8. pin A2 to arduino dig pin 9. pin B1 to arduino dig pin 10. pin B2 uz arduino dig pin 11. Atcerieties, ka šajā robotā mēs izmantojam divus L293d moduļus. Tas ir tāpēc, ka viens modulis var darbināt līdz diviem motoriem. Lai kontrolētu četrus motorus, mēs izmantojam divus motoru vadītājus. Tāpēc atcerieties izveidot dublētus savienojumus abos motora kontrollera moduļos. Piemēram, savienojiet Arduino tapu 8 ar abu draivera moduļu tapu A1. Neaizmirstiet pieslēgt viena moduļa izvadi diviem motoriem un otra moduļa pārējiem diviem motoriem. Pārbaudiet diagrammu, lai iegūtu papildu atsauci.

11. solis: Arduino kods

Arduino kods
Arduino kods
Arduino kods
Arduino kods

Tas bija aizraujošs laiks, veidojot kodu. Tas vispār nav sarežģīts kods, tas vienkārši izmanto dažas bibliotēkas, lai sazinātos ar Android un skaņas moduli. Liela daļa darba tiek veikta operētājsistēmā Android, nevis Arduino. Kods ir balstīts uz Bluetooth sakariem un no Bluetooth saņemtajiem datiem. Kods ir veidots tā, ka mums ir jāsniedz robotam balss komandas, lai izpildītu dažādus režīmus, un Arduino nepārtraukti pārbauda ienākošos Bluetooth signālus. Lai apturētu jebkuru režīmu, mums vienkārši jāsaka "stop". Vienīgā koda problēma ir tā, ka mums ir manuāli jāizslēdz robots, kad tas ir šķēršļu novēršanas režīmā. Šajā režīmā mēs nevaram izmantot komandu "stop". Tas ir tāpēc, ka šīs funkcijas ieslēgšana ietekmē objektu attāluma skenēšanas ātrumu. Arduino vienlaicīgi būs jālasa gan objekta attālums, gan ienākošie Bluetooth signāli. Tas traucē režīmu, un robots nespēj pilnībā pasargāt sevi no šķēršļiem. Robots var nespēt apstāties uzreiz, pat ja attālums priekšā ir mazāks par 30 cm. Tāpēc būtu labi neiekļaut šo funkciju šajā režīmā. Vienkārši lejupielādējiet bibliotēkas un kodu un augšupielādējiet to Arduino. Bet neaizmirstiet pirms augšupielādes izņemt TX un RX (0, 1) tapas no Arduino. Šīs tapas tiek izmantotas seriālai saziņai un tiek izmantotas koda augšupielādes laikā. Un šajā robotā šīs tapas tiek izmantotas Bluetooth moduļa savienošanai. Tāpēc atcerieties tos noņemt, pretējā gadījumā tas var traucēt jūsu Bluetooth modulim. Šeit ir kods un bibliotēkas:

12. solis: problēmu sakārtošana un uzlabojumu veikšana

Problēmu sakārtošana un uzlabojumu veikšana
Problēmu sakārtošana un uzlabojumu veikšana

Šo soli var izlaist, jo tas attiecas tikai uz robota uzlabojumiem. WTV-020-SD-16p modulī rodas daudzas problēmas saistībā ar atmiņas kartes ietilpību. Tas ir tāpēc, ka daži moduļi darbojas ar 2 GB kartēm, bet citi to nedara. Tāpēc labāk ir izmantot 1 GB micro SD karti. Izmantojot dažādas komponentu versijas, nebūtu daudz problēmu. Var minēt dažādas wtv 020 sd moduļa versijas. Tas ir tāpēc, ka starp moduļiem pastāv tikai iepakojuma atšķirības, bet lielākā daļa citu iekšējo lietu paliek nemainīgas. Vēl viena svarīga lieta, PCB izmantošana robotam, palīdzēs ievērojami samazināt pašreizējo patēriņu. Ja jūs savienojat dažādus komponentus tāpat kā es, tas jums izmaksātu zināmu strāvu, jo liela daļa to tiks zaudēta vados, un tiem būs augsta pretestība. Tas ir tāpēc, ka ķēde ir pietiekami liela. Šajā intstructable neietver PCB projektēšanu (jo es to neizgatavoju), bet tas var palielināt robota energoefektivitāti. Bet BLUE ROVIER 316 vēl nav pabeigts! Izdomāju iekļaut vēl dažas funkcijas, piemēram, sekot rindām, risināt labirintus un daudzas citas lietas. Bet tas palika sapnis, jo Arduino UNO trūka tapas (BLUE ROVIER patiešām apēd daudzas Arduino tapas). Tāpēc es domāju uzlabot visas šī robota funkcijas un apvienot tās kopā, lai izveidotu sarežģītāku un noderīgāku Arduino robotu. Tāpēc esiet gatavs redzēt ROVIER modificēto skatu pēc dažiem mēnešiem !!! Es pat vēlos redzēt citas modificētas robota versijas, ko veic citi cilvēki, kuriem ir vairāk radošuma nekā manējam !!!!

13. darbība. Spēlēšana ar robotu

Spēlē ar robotu
Spēlē ar robotu

Ieslēdz robotu un redzi, kā tas tevi sveicina, spēlē ar tevi. Uzdodiet jebkuru jautājumu (nevis stulbu!) Un skatieties tā atbildi. Jūs varat pateikt, vai sekot rindām vai iet uz priekšu. Vienkārši sakiet “stop”, kad vēlaties apturēt robotu.

Robotikas konkurss 2017
Robotikas konkurss 2017
Robotikas konkurss 2017
Robotikas konkurss 2017

Otrā vieta Robotikas konkursā 2017

Ieteicams: