Satura rādītājs:

Arduino kontrolēts servo robots (SERB): 7 soļi (ar attēliem)
Arduino kontrolēts servo robots (SERB): 7 soļi (ar attēliem)

Video: Arduino kontrolēts servo robots (SERB): 7 soļi (ar attēliem)

Video: Arduino kontrolēts servo robots (SERB): 7 soļi (ar attēliem)
Video: Control de un brazo robótico con Python y Arduino 2024, Novembris
Anonim
Arduino kontrolēts servo robots (SERB)
Arduino kontrolēts servo robots (SERB)
Arduino kontrolēts servo robots (SERB)
Arduino kontrolēts servo robots (SERB)
Arduino kontrolēts servo robots (SERB)
Arduino kontrolēts servo robots (SERB)
Arduino kontrolēts servo robots (SERB)
Arduino kontrolēts servo robots (SERB)

Kāds ir labāks veids, kā sākt eksperimentēt ar atvērtā pirmkoda mikrokontrolleriem (Arduino), pēc tam izveidojot savu atvērtā pirmkoda robotu (CC (SA -BY))? Ko darīt ar SERB?

  • (šeit) - kā savienot SERB ar internetu un vadīt to, izmantojot Skype videozvanu.
  • (šeit) - Kā kontrolēt SERB, izmantojot Wii nunchuck akselerometrus
  • (šeit) - Kā savam robotam pievienot šķēršļu noteikšanas ūsas
  • (šeit) - Kā izgatavot 30 komplektus (atvērtā ražošana)

Iespējas:

  • Pilnībā programmējams, izmantojot Arduino Duemilanove mikrokontrolleri (vai citu jūsu izvēlētu mikrokontrolleri).
  • Nav nepieciešams lodēt.
  • Griešanas iespēju izvēle akrila gabaliem. (ritināšanas zāģis, piekļuve lāzera griezējam, iepriekš sagrieztu gabalu iegāde)
  • Viegli paplašināms un maināms ar papildu skrūvju atverēm un iekļautu maizes dēli.
  • Dubults lodīšu gultnis aizmugurējais ritenis.
  • Sāks darboties 1-2 stundu laikā. (no komplekta)
  • Atvērtā koda dizains (izveidojiet tik daudz, cik vēlaties)

(Bezkaunīgs spraudnis) Lielbritānijā un kā Arduino lietas? apskatiet mūsu tikko atvērto interneta veikalu oomlout.co.uk Ātrs video par pabeigtu Arduino kontrolētu servobotoru - (SERB), kas palaiž iekļauto testa programmu (6. darbība) Piezīme. Avota faili ir pieejami paralēli Instructable (Source Files For) - Kā izveidot Arduino kontrolētu servo robotu - (SERB)

1. darbība: detaļas un rīki

Daļas un rīki
Daļas un rīki

Visas skrūves var atrast vietējā Home Depot. Pārējās daļas var atrast tiešsaistē (katrai no tām esmu pievienojis saiti uz manu iecienītāko avotu). Daļu saraksts: komplektu, kurā ir visi aparatūras elementi, var iegādāties oomlout.com veikalā (šeit) ($ 120) Uzgriežņi un skrūves:

  • 3 mm x 15 mm skrūve (x20)
  • 3 mm x 10 mm skrūve (x12)
  • 3 mm uzgrieznis (x34)
  • 3 mm mazgātājs (x12)
  • 8 mm x 25 mm skrūve (x2)
  • 8 mm uzgrieznis (x2)
  • Slidas gultņi (x2) (VXB) (tie ir standarta slidas gultņi, lai tos varētu izglābt no rullīšu asmeņu pāra vai skeitborda)

Riepas

  • Liels O-gredzens (4,5 "ID 3/16" lodītes svītra #349) (x2) (McMaster-Carr produkts #9452K407)
  • Mazs O-gredzens (3/4 "ID 3/16" lodītes domuzīme #314) (x1) (McMaster-Carr produkts #9452K387)

Elektronika

  • Arduino Duemilanove (x1) (Maker Shed)
  • Nepārtrauktas rotācijas servo (x2) (paralakss)
  • 400 kontaktu maizes dēlis (x1) (visa elektronika))
  • Četru AA bateriju kārba (x1) (visa elektronika)
  • 9V akumulatora klipsis (x1) (visa elektronika)
  • 2,1 mm spraudnis (x1) (visa elektronika)
  • 3 kontaktu galvene (x2) (visa elektronika)
  • A -B USB kabelis - printera stils (x1) (visa elektronika) (nav iekļauts komplektā)

Baterijas:

  • AA baterija (x4) (nav iekļauta komplektā)
  • 9v akumulators (x1) (nav iekļauts komplektā)

Vads: (viss vads ir 22 AWG ciets, es to iegādājos caur McMaster-Carr)

  • 15 cm violeta (x2)
  • 15 cm melns (x1)
  • 5 cm melns (x2)
  • 5 cm sarkans (x2)

Rīki

  • Skrūvgriezis (x1) (Philips)
  • Knaibles adatām (x1)

2. darbība: gabalu griešana

Griešanas gabali
Griešanas gabali
Griešanas gabali
Griešanas gabali
Griešanas gabali
Griešanas gabali
Griešanas gabali
Griešanas gabali

Lūdzu, izvēlieties, kuras darbības jāveic, pamatojoties uz jūsu izvēlēto griešanas iespēju. 1. variants (iepriekš sagrieztu detaļu iegāde)

Iegādājieties iepriekš sagrieztu šasiju no oomlout.com veikala (šeit) (60 USD, ieskaitot piegādi uz ASV un Kanādu)

2. iespēja (digitālā ražošana (ti. Ponoko) / piekļuve lāzera griezējam)

  • Lejupielādējiet lāzera griezēja izkārtojumu ("03 SERB Ponoko Cutting Layout P2.eps" vai "03- (SERB) -Ponoko Cutting Layout (P2). Cdr")
  • Izgrieziet failus, izmantojot Ponoko vai savu lāzera griezēju (izmantojot 3 mm,.118 "akrilu (dažreiz tiek pārdots kā.125"))

3. iespēja (ritināšanas zāģis un urbis)

  • Lejupielādējiet un izdrukājiet PDF modeli (lūdzu, izvēlieties failu, kas atbilst jūsu papīra izmēram) 03- (SERB) -ScrollSaw Pattern (burts).pdf 03- (SERB) -ScrollSaw Pattern (A4).pdf (ir svarīgi nemainīt zīmējums drukāšanas laikā)
  • Izmēriet lineālu uz izdrukas pret lineālu, kuram uzticaties, ja tas neatbilst modelim, kurš ir mērogots, un pirms atkārtotas drukāšanas ir jāpārbauda printera iestatījumi. Ja tie sakrīt, tad uz priekšu.
  • Līmējiet zīmējumu uz akrila loksnes (3 mm,.118 "(dažreiz pārdod kā.125")).
  • Urbt caurumus.
  • Izgrieziet gabalus, izmantojot ritināšanas zāģi

3. solis: montāža

Montāža
Montāža
Montāža
Montāža
Montāža
Montāža

Apsveicam ar 90% procesa pabeigšanu, vienkārši lejupielādējiet montāžas instrukcijas šajā solī (04- (SERB)-Montāžas rokasgrāmata.pdf), un pēc nelielas lego/mechano stila montāžas būsit gatavs vadam. Lai jūs izklaidētu šajā ceļā, ir manas sapulces laika intervāls:

4. solis: elektroinstalācija

Elektroinstalācija
Elektroinstalācija
Elektroinstalācija
Elektroinstalācija

Kad visi lielie gabali ir kopā, ir pienācis laiks pievienot mazās elektriskās vēnas, kas ļaus vadīt mūsu robotu. Lai to izdarītu, lejupielādējiet un izdrukājiet elektroinstalācijas shēmu (05- (SERB) -instalācijas shēma.pdf). No pirmā acu uzmetiena tas var izskatīties diezgan biedējoši, tomēr, ja katru savienojumu veidojat secīgi un nesteidzaties, tas sanāk ārkārtīgi ātri. Elektroinstalācija ir pavisam vienkārša, un jūsu ķēdei nevar nodarīt kaitējumu, līdz pievienojat baterijas. Tātad visu vadu vēlreiz pārbaudiet, pēc tam pievienojiet jaudu.

5. darbība. Testēšana un problēmu novēršana

Testēšana un problēmu novēršana
Testēšana un problēmu novēršana

Ja pasūtījāt komplektu, jūsu Arduino ir iepriekš ielādēts ar testa programmu. Vienkārši ievietojiet 4 AA baterijas un pievienojiet 9 V bateriju Arduino. Un, ja viss ir izdarīts pareizi, jūsu robots sāks kustēties (tas pagriezīsies nejaušā virzienā uz laiku no 0,1 līdz 1 sekundei, pirms dosies uz priekšu nejaušu laiku no 1 līdz 2 sekundēm, pēc tam apturēs 2 sekundes pirms atkārtotas sākšanas). Ja neesat iegādājies komplektu, ir jāveic papildu darbība. Lejupielādējiet pievienoto zip failu (07- (SERB)-SERB-Test Arduino Program.zip). Pēc tam izpakojiet to savā Arduino skiču direktorijā (noklusējums "my Documents / Arduino \") un lejupielādējiet to savā arduino panelī. (ja esat jauns Arduino lietotājs, pārejiet vienu soli uz priekšu, kur ir saites uz lieliskām darba sākšanas pamācībām.) Bieži sastopamās problēmas: Mana SERB pārvietojas lēni, kad to vajadzētu apturēt. Tas ir tāpēc, ka jūsu servo nav pareizi kalibrēts, lai kalibrētu savus servos, pagaidiet, līdz programma tiek apturēta, pēc tam ar nelielu skrūvgriezi pagrieziet potenciometru servo iekšpusē (mazā atvere servo korpusā tieši virs vadu atrašanās vietas)). Pagrieziet to pa kreisi vai pa labi, līdz servo ir patiešām apstājies. Lietas nedarbojas pareizi. Nosūtiet mums e-pastu ar saviem simptomiem, un mēs centīsimies jums palīdzēt, kamēr gaidāt atbildi, vēlreiz pārbaudiet visus vadus, izmantojot elektroinstalācijas shēmu no 4. darbības. Ja rodas kāda problēma, lūdzu, pievienojiet komentāru uz šo pamācību vai nosūtiet e-pastu uz [email protected], un mēs darīsim visu iespējamo, lai palīdzētu jums nodrošināt SERB darbību

6. darbība: programmēšana

Programmēšana
Programmēšana

Fiziskais robots ir beidzis laiku, lai sāktu dot tam smadzenes. Pirms iedziļināties Arduino kontrolētā servo robota - (SERB) programmēšanas detaļās - dažas saites uz dažiem izciliem Arduino programmēšanas resursiem internetā. Arduino sākuma rokasgrāmata lai palīdzētu jums sākt lietot Arduinos, sākot no programmēšanas vides lejupielādes līdz pirmās programmas uzrakstīšanai. Arduino programmēšanas atsauce - pilnīgs viegli atsaucams ceļvedis Arduino programmēšanas valodā. Kā darbojas servi - ātrs servomotoru darbības sākums. - Kā darbojas Arduino Servo bibliotēka (kā mēs kontrolējam savus servos). Labi, ja mācāties no ceļa, ļaujiet programmēt. Ir trīs veidi, kā sākt programmēt savu Arduino kontrolēto servo robotu - (SERB). 1. variants: (SERB_Test.pde modificēšana) Dažreiz, programmējot, visvienkāršāk ir paņemt darba programmu un sākt tai pievienot savu kodu. Lai to izdarītu, lejupielādējiet programmu SERB_Test zipped (07- (SERB)-SERB-Test Arduino Program.zip). Turpiniet to izpakot savā Arduino skiču mapē (noklusējums "Mani dokumenti / Arduino \"). Visbeidzot atveriet Arduino programmēšanas vidi un lejupielādējiet to savā Arduino. Kods ir labi komentēts. (Vai nokopējiet un ielīmējiet kodu no šīs darbības pielikuma uz jaunu Arduino skici) 2. iespēja: (SERB rutīnas pievienošana programmai) Iepriekšējai programmai pievienojiet dažas vienkāršas darbības (piemēram, goForward (), setSpeed (int) utt.). Lai to izdarītu, lejupielādējiet kārtību teksta failā (07- (SERB)- vienkāršas rutīnas teksts.txt). 1. Kopējiet un ielīmējiet preambulas daļu programmas sākumā.2. Kopējiet un ielīmējiet ikdienas daļu savas programmas pamattekstā. Pievienot zvanu serbSetup (); uz jūsu iestatīšanas () rutīnu. 3. iespēja: (izveidot savu programmu no nulles) Tas nav pārāk grūti. Viss, kas jums nepieciešams, ir iepazīties ar Arduino servo bibliotēku. Tad labais servo tiek pievienots 9. tapai, bet kreisais - 10. tapai. Piezīme. Šeit tiks pievienotas papildu programmas, tiklīdz tās tiks izstrādātas; vai, ja jūs kaut ko izstrādājat un vēlaties, lai tas tiktu parādīts, nosūtiet man privātu ziņu, un to var pievienot. Pielikums: (SERB_Test.pde kods)

/ * * Arduino kontrolēts servo robots (SERB) - testa programma * Lai iegūtu sīkāku informāciju, apmeklējiet: https://www.oomlout.com/serb * * Uzvedība: vienkārša testa programma, kas liek SERB * nejauši pagriezties pa kreisi vai pa labi * nejaušam laika periodam no 0,1 līdz 1 sekundei. * Pēc tam SERB brauks uz priekšu nejaušā laika periodā no 1 līdz 2 sekundēm. Visbeidzot * pauze uz 2 sekundēm pirms atkārtotas sākšanas. * * Elektroinstalācija: labais servo signāls - 9. tapa * Kreisais servo signāls - 10. tapa * * Licence: Šis darbs ir licencēts saskaņā ar Creative Commons * Attribution -Share Alike 3.0 Unported License. Lai * apskatītu šīs licences kopiju, apmeklējiet vietni * https://creativecommons.org/licenses/by-sa/3.0/ * vai nosūtiet vēstuli uz Creative Commons, 171 Second * Street, Suite 300, Sanfrancisko, Kalifornija 94105, * ASV. * */// --------------------------------------------- ----------------------------- // ARDUINO KONTROLĒTA SERVO ROBOTA (SERB) PREAMBULES SĀKUMS #ietver #define LEFTSERVOPIN 10 #define RIGHTSERVOPIN 9Servo pa kreisiServo; Servo pa labiServo; int ātrums = 100; // iestata robota ātrumu (abi servo) // procenti no 0 līdz 100 // ARDUINO KONTROLĒTA SERVO ROBOTA (SERB) PREAMBULA BEIGAS // ---------------- -------------------------------------------------- --------/ * * nosaka tapas atbilstošos stāvokļos un piestiprina servos. Pēc tam pauzes * uz 1 sekundi, pirms programma sākas */ void setup () {serbSetup (); // nosaka visu nepieciešamo // piespraužu stāvokli un pievieno servos jūsu skicei randomSeed (analogRead (0)); // iestata nejaušā skaitļa sēklu ar // kaut ko nedaudz nejaušu aizkavi (1000);}/ * * pagriež robotu pa kreisi vai pa labi (nejauši) uz laiku no * 0,1 līdz 1 sekundei. Pirms doties uz priekšu nejaušā laika periodā * no 1 līdz 4 sekundēm. Pirms pauzes uz divām sekundēm un pēc tam sākat *. */Void loop () {turnRandom (100, 1000); // Nejauši pagriežas pa kreisi vai pa labi // nejaušam laika periodam starp.1 sekundi // un vienu sekundi goForwardRandom (1000, 2000); // Virzās uz priekšu par nejaušu laika periodu // starp // 1 un 2 sekundēm goStop (); // Aptur robota kavēšanos (2000); // pauzes uz 2 sekundēm (kamēr apstājas)}/ * * pagriež robotu nejauši pa kreisi vai pa labi nejaušam laika periodam starp * minTime (milisekundes) un maxTime (milisekundes) */void turnRandom (int minTime, int maxTime) {int izvēle = nejauša (2); // nejaušs skaitlis izlemšanai // starp kreiso (1) un labo (0) int turnTime = random (minTime, maxTime); // Nejaušs pauzes numurs // laiks, ja (izvēle == 1) {goLeft ();} // Ja nejaušs skaitlis = 1, tad pagriezieties // pa kreisi cits {goRight ();} // Ja nejaušs skaitlis = 0, tad pagriezties // aizkave pa labi (turnTime); // kavēšanās nejaušam laikam}/ * * iet uz priekšu par nejaušu laika periodu starp minTime (milisekundes) * un maxTime (milisekundes) */void goForwardRandom (int minTime, int maxTime) {int forwardTime = random (minTime, maxTime); // noteikt nejaušu laiku līdz // iet uz priekšu goForward (); // iestata SERB pārsūtīšanas aizkavi (forwardTime); // kavējumi nejaušam laika periodam} // ---------------------------------------- -------------------------------- // ARDUINO KONTROLĒTA SERVO ROBOT (SERB) ROUTINES START/ * * izveido jūsu arduino, lai adresētu jūsu SERB, izmantojot iekļautās procedūras*/void serbSetup () {setSpeed (ātrums); pinMode (LEFTSERVOPIN, OUTPUT); // iestata kreiso servo signāla tapu // uz izejas pinMode (RIGHTSERVOPIN, OUTPUT); // iestata labo servo signāla tapu // lai izvadītu leftServo.attach (LEFTSERVOPIN); // pievieno kreiso servo rightServo.attach (RIGHTSERVOPIN); // piestiprina labo servo goStop ();}/ * * iestata robota ātrumu starp 0- (apturēts) un 100- (pilns ātrums) * PIEZĪME: ātrums nemainīs pašreizējo ātrumu, jums jāmaina ātrums *, tad zvaniet vienam no go metodēm, pirms notiek izmaiņas.*/void setSpeed (int newSpeed) {if (newSpeed> = 100) {newSpeed = 100;} // ja ātrums ir lielāks par 100 // padariet to par 100, ja (newSpeed <= 0) {newSpeed = 0;} // ja ātrums ir mazāks par 0, padariet // to 0 ātrums = newSpeed * 0,9; // mērogo ātrumu līdz // no 0 līdz 90}/ * * nosūta robotu uz priekšu */void goForward () {leftServo.write (90 + ātrums); rightServo.write (90 - ātrums);}/ * * nosūta robotu atpakaļ */void goBackward () {leftServo.write (90 - ātrums); rightServo.write (90 + ātrums);} / * * nosūta robotu pa labi * /void goRight () {leftServo.write (90 + ātrums); rightServo.write (90 + ātrums);}/ * * nosūta robotu pa kreisi */void goLeft () {leftServo.write (90 - ātrums); rightServo.write (90 - ātrums);}/ * * aptur robotu */void goStop () {leftServo.write (90); rightServo.write (90);} // ARDUINO KONTROLĒTO SERVO ROBOTU (SERBU) ROUTINES BEIGAS // ---------------------------- -----------------------------------------------

7. solis: pabeigts, citi, kas ir pabeiguši un nākotne

Pabeigts, citi, kas ir pabeiguši un nākotne
Pabeigts, citi, kas ir pabeiguši un nākotne
Pabeigts, citi, kas ir pabeiguši un nākotne
Pabeigts, citi, kas ir pabeiguši un nākotne
Pabeigts, citi, kas ir pabeiguši un nākotne
Pabeigts, citi, kas ir pabeiguši un nākotne
Pabeigts, citi, kas ir pabeiguši un nākotne
Pabeigts, citi, kas ir pabeiguši un nākotne

Apsveicam, ka esat tik tālu, un es ceru, ka jums ir jautri ar savu Arduino kontrolēto servo robotu - (SERB). Michael Beck SERB -Michael atrada SERB plānus vietnē Thingiverse.com un izgrieza viņu no dzeltenā un sarkanā akrila. Manuprāt, tas izskatās lieliski. Maika SERB - Maikam (Sentluisas apgabala robotu klubam ROBOMO) draugs lāzerā sagrieza SERB šasiju un izmantoja savu robotizēto zinātību, lai to iedarbinātu. Manuprāt, tas izskatās lieliski zilā krāsā. (skatiet viņa vietni, lai iegūtu sīkāku informāciju par šo, kā arī citiem viņa robotiem (šeit). Šajā sadaļā būs detalizēta informācija par turpmāko attīstību un pielikumiem (tie tiks parādīti šeit, pirms tie ir pienācīgi dokumentēti). Bet es arī vēlētos parādīt attēlus citu cilvēku SERB's. Tātad, ja esat pabeidzis, nosūtiet man privātu ziņu ar fotoattēlu un dažiem vārdiem (vai tas būtu apraksts vai saite uz jūsu vietni), un es to pievienošu šeit. (Nekaunīgs spraudnis) Ja jums patika šo pamācošo pārbaudiet vietnē oomlout.com citiem jautriem atvērtā koda projektiem.

Pirmā balva konkursā SANYO eneloop Battery Powered Battery

Ieteicams: