Talaan ng mga Nilalaman:

ARCA (Adorable Remote Controlled Android): 4 na Hakbang (na may Mga Larawan)
ARCA (Adorable Remote Controlled Android): 4 na Hakbang (na may Mga Larawan)

Video: ARCA (Adorable Remote Controlled Android): 4 na Hakbang (na may Mga Larawan)

Video: ARCA (Adorable Remote Controlled Android): 4 na Hakbang (na may Mga Larawan)
Video: God Will Shake All Things | Derek Prince 2024, Hulyo
Anonim
ARCA (Adorable Remote Controlled Android)
ARCA (Adorable Remote Controlled Android)
ARCA (Adorable Remote Controlled Android)
ARCA (Adorable Remote Controlled Android)
ARCA (Adorable Remote Controlled Android)
ARCA (Adorable Remote Controlled Android)

Ang itinuturo na ito ay nilikha bilang pagtupad sa kinakailangan ng proyekto ng Makecourse sa University of South Florida (www.makecourse.com).

Ang ARCA ay isang kaibig-ibig na Remote na Kinokontrol na Android na hindi kapani-paniwalang masaya na bumuo at maglaro. Ang layunin ng proyektong ito ay upang lumikha ng isang bagay na maaaring maunawaan at maiugnay ng sinuman sa pamamagitan ng paglikha ng isang robot na parehong kaibig-ibig at gumagana.

Gumagana ang robot sa pamamagitan ng pagpapakita ng iba't ibang mga emosyon sa isang 8 by 8 LED matrix, ang mga emosyong ito ay may kasamang kagalakan, pagtulog, pag-ibig, galit, uto, at pagtingin sa itaas, kaliwa, at kanan. Gumagana rin ang robot tulad ng isang RC car at maaaring sumulong at kumaliwa o pakanan. Ang robot ay nagpapatuloy sa pamamagitan ng pag-aktibo ng parehong mga motor na gulong, lumiliko sa kaliwa sa pamamagitan ng pag-on sa kanang motor, at lumiliko pakanan sa pamamagitan ng pag-on sa kaliwang motor. Napakasimple ng disenyo ngunit gumagana lamang ito, at nais kong magkaroon ng isang mabigat na pagtuon sa pagprograma ng Arduino dahil ako ay isang programmer sa puso.

Ang mga pinakabagong bersyon ng lahat ng mga file na ginamit sa tutorial na ito ay matatagpuan sa aking Github ARCA Repository.

Hakbang 1: Listahan ng Mga Bahagi at Pag-print ng 3D

Listahan ng Mga Bahagi at Pag-print ng 3D
Listahan ng Mga Bahagi at Pag-print ng 3D
Listahan ng Mga Bahagi at Pag-print ng 3D
Listahan ng Mga Bahagi at Pag-print ng 3D

Ang mga bahagi para sa proyektong ito ay maaaring naka-print sa 3D o binili nang online. Kapag iniisip ang pagpupulong, nais kong gumawa ng key key at subukan din na hindi (medyo literal) na likhain muli ang gulong. Ang 3D printer na ginamit para sa proyektong ito ay isang Makerbot Replicator, kung nais mong tiyakin na ang iyong mga 3D print ay naaayon sa minahan pagkatapos ay gamitin ang printer na ito.

Mga Sangkap ng istruktura

  • Kahon na may mga butas sa mga gilid para sa mga gulong at braso
  • Takip ng kahon na may mga butas para sa mga gulong sa likod at isang butas para sa IR sensor
  • Kaliwang braso
  • Kanang kamay
  • Axle para sa dalawang gulong sa likod
  • dalawang konektor ng axle upang ikonekta ang takip sa axel
  • 4 na gulong (kasama rin ang mga motor sa link na ito)
  • Maliit na mga turnilyo (upang magkasya sa mga motor)

Mga Sangkap ng Elektrikal

  • Arduino Uno
  • Maliit na breadboard (binili ko ang Arduino kit at kasama nito)
  • Dalawang MAX7219 Red Dot Matrices na may MCU Control
  • Infrared reciever at remote
  • Dalawang TIP 120 transistors
  • Pagkonekta ng mga wire (Gumamit ako ng maraming lalaki sa mga babaeng wires pati na rin lalaki hanggang lalaki, at inirerekumenda ang pagkuha ng mahabang wires na taliwas sa mga maiikling wires)
  • isang 220 ohm risistor
  • Dalawang motor na pang-gear
  • Mga power pack na nakakonekta na USB (ang mga portable na ginagamit para sa mga cell phone)

Hakbang 2: Assembly

Assembly
Assembly
Assembly
Assembly
Assembly
Assembly

Struktural Assembly

Ang mga naka-print na bahagi ng 3D ay malamang na nangangailangan ng ilang paglilinis, at inirerekumenda kong i-sanding ito ng isang pinong grit at paggamit ng acetone (kuko ng polish remover) upang alisin ang anumang nalalabi na pandikit na ginamit sa proseso ng pag-print ng 3D. Ang ilan sa mga bahagi ay maaaring hindi magkasya ganap na ganap, at kinakailangan para sa akin na buhangin ang ehe upang maging ganap na bilog at magkasya nang maayos sa mga butas.

Ang mga gulong ay nangangailangan ng kaunting pag-aayos, kailangan nilang mag-drill nang higit pa upang magkasya ang mga sukat ng ehe sa likod at ang mga tornilyo sa harap. Gumamit ng isang 6mm drill bit upang mag-drill sa pamamagitan ng mga butas sa gulong upang maipanganak ang mas malaking mga butas sa mga gulong.

Para sa pagpupulong na ito ay gumamit ako ng iba't ibang mga pandikit, ngunit nalaman ko na ang likidong kongkreto (modeling glue) ang pinakamainam na hawakan sa kabila ng mahabang panahon ng pagpapatayo ngunit ang epoxy ay pinakamahusay para sa mga bagay na kailangan mong matuyo nang mabilis at mahawak nang mabuti, sa kabila ng pagiging magulo.

Ang natitirang pagpupulong ay medyo tuwid pasulong:

  1. Ikabit ang mga may hawak ng ehe sa likod ng takip ng kahon, gamit ang epoxy upang tatatakan
  2. Patakbuhin ang ehe sa mga may hawak ng ehe
  3. Idikit ang mga gulong sa ehe gamit ang likidong kongkreto
  4. Ilagay ang mga braso sa itaas na mga butas, at kola sa may hawak ng braso gamit ang epoxy
  5. I-screw ang takip ng kahon sa kahon
  6. Gumamit ng electrical tape sa ilalim ng kahon kung nasaan ang mga gulong

Electrical Assembly

Ang mga gulong sa harap ay nakakabit nang direkta sa mga motor, at kailangan mong gumamit ng isang maliit na tornilyo sa motor upang gawin itong sapat na haba upang magkasya sa butas ng robot sa bawat panig. Dapat mayroong isang maliit na butas sa umiikot na peg ng motor at maaari mong i-tornilyo sa tornilyo doon at idikit ang ulo ng tornilyo sa gulong pagkatapos itulak ang tornilyo sa butas sa kahon.

Ang likod ng aking breadboard ay may isang malagkit na pag-back, ngunit maaari mong gamitin ang electrical tape upang sundin ito kung ang iyong ay hindi. Ginamit din ang electrical tape para sa paglakip ng mga de-koryenteng sangkap na wala sa pisara, para sa mga kadahilanang pangkaligtasan. Ang mga MCU na may LED display ay nakakabit sa likod ng mga socket ng mata gamit ang electrical tape at ang mga motor ay nakakabit din sa mga gilid ng kahon na malapit sa mga butas gamit ang electrical tape. Gumamit ako ng red electrical tape upang gawing mas hindi nakikita ito, kung sakali, at inirerekumenda ko ang paggamit ng isang electrical tape na may katulad na kulay sa iyong bersyon ng ARCA.

Ang breadboard at mga pin ay naka-set up tulad ng Fritzing na imaheng ito. Kung nais mong magdagdag ng higit pa sa diagram na ito upang ipasadya ang ARCA maaari mong i-download ang Fritzing file sa aking imbakan ng Github at i-edit ito sa nilalaman ng iyong puso.

Inilakip ko ang mga wire sa mga loop sa mga motor na pang-gear sa pamamagitan ng baluktot ng mga wire sa paligid ng mga loop, upang mapanatili silang nakakabit. Marahil ay isang mas mahusay na ideya na maghinang ng mga koneksyon na ito kung mayroon kang access sa soldering iron, ngunit ito ay isang madaling solusyon kung wala ka nito.

Ang power pack ay nakakabit sa parehong kurdon na ginamit upang ikonekta ang Arduino sa computer upang i-download ang iyong programa, at ito ay maluwag lamang sa robot upang madali itong matanggal at masingil.

Hakbang 3: Programming

Programming
Programming

Narito ang code na maaari mong i-upload sa iyong ARCA upang maandar ito nang eksakto tulad ng sa akin, kailangan mo rin ang sumusunod na dalawang mga aklatan upang magamit ang code.

Para sa kapakanan ng kalinawan at pagpapasadya, gayunpaman, ilalakad kita sa pamamagitan ng aking code. Huwag mag-atubiling laktawan ang hakbang na ito kung hindi mo pinasadya ang iyong robot o hindi plano na baguhin ang damdamin.

Una, nagsasama ako ng dalawang mga silid-aklatan para magamit sa aking code, pinapayagan akong gamitin ang mga pag-andar at object ng mga libraryong ito. Tinutukoy ko rin ang aking mga pin dito. Kung nagpasya kang gawin ang iyong mga pin na naiiba kaysa sa aking na-set up sa nakaraang hakbang, gawin ang mga pagbabago sa iyong code dito gamit ang tamang mga pin.

Susunod, tinukoy ko ang mga emosyon, idineklara ang mga kinakailangang bagay para sa IR sensor at ang 8 by 8 LED display, at tinukoy ang ilang mga variable sa buong mundo. Ang mga emosyon ay idineklara sa isang byte array, kung saan ang bawat isa sa mga hex na numero sa array ay kumakatawan sa mga hilera sa nagresultang 8 by 8 display. Upang likhain ang iyong pasadyang damdamin, inirerekumenda kong iguhit ang damdaming nais mo sa isang grid na 8 by 8, at pagkatapos ay isulat ang bawat hilera na 8 bit na binary number kung saan ang ilaw ay isang 0 at ang ilaw ay isang 1, at pagkatapos ay lumikha isang hexadecimal na numero mula doon at inilagay ito sa isang hanay ng haba 8. Natukoy ko rin ang ilang mga pandaigdigang variable na gagamitin sa loop; ang mga variable para sa mekanismo ng blinking at mga pahiwatig upang maiimbak ang mga emosyon at itakda ang mga ito upang magsimula sa walang kinikilingan.

Nakarating na kami sa naka-set up na loop, kung saan binubuksan ko ang serial monitoring alang-alang sa pagsubok, at dapat itong maging kapaki-pakinabang upang subukan ang iyong code sa iba't ibang mga IR remote. Pagkatapos, isinugod ko ang kaliwa at kanang mga bagay ng mata gamit ang mga pag-andar mula sa LED control library. Itinakda ko rin ang mga gear motor pin upang mag-output at sinimulan ang IR receiver.

Sa loop, mahalagang hinihintay nito ang signal ng IR na baguhin ang status quo ng robot. Kaya't kung natanggap ang isang signal ng IR at tumutugma ito sa isa sa mga code mula sa isang tukoy na pindutan, kung gayon kung mag-trigger ang pahayag at itinatakda ang kaliwang mata at mga tamang halaga ng mata nang naaayon para sa mga emosyon. Kung ang isang pindutan ng paggalaw ay itinulak, tulad ng kaliwa, kanan, pasulong, at OK, kung gayon ang mga pin ay digital na nakasulat upang mai-on o i-off depende sa pindutang naitulak. Isang tala lamang sa mga code ng tatanggap ng IR: mayroong isang sample code sa IR remote library na magbibigay sa iyo ng mga hex code para sa iyong remote, kung walang nangyayari kapag pinindot mo ang mga pindutan pagkatapos buksan ang program na ito upang matiyak na ang mga code ay tama. Ang kailangan mo lang gawin ay baguhin ang numero ng hex na napupunta sa bawat pindutan.

Panghuli, mayroon kang pagpapaandar na naglilimbag ng mga emosyon sa 8 hanggang 8 na ipinapakita. Ginagamit nito ang mga pagpapaandar na setRow mula sa LED control library at dumadaan lamang sa mga array na iyong nilikha at itinakda ang mga hilera nang naaayon. Tumatagal ito sa dalawang mga parameter: ang array para sa kaliwang mata at ang array para sa kanang mata. Maaari itong maging isang byte pointer o isang byte array mismo (ibig sabihin, ang pangalang "walang kinikilingan") na kumikilos tulad ng isang pointer.

Hakbang 4: Mga Tip at Trick ng Bonus

Mga Tip at Trick ng Bonus
Mga Tip at Trick ng Bonus

Tiyak na maraming natutunan ako sa proyektong ito at nais kong magbahagi ng ilang mga karagdagang tip dito na nalalapat para sa parehong proyektong ito at para sa iba pang mga proyekto na gumagamit ng isang Arduino.

  • Mayroong maraming mga mapagkukunan sa online para sa Arduino at ang pinaka kapaki-pakinabang sa aking opinyon ay nagmula sa website ng Arduino dahil sa kanilang malinaw at maigsi na mga halimbawa ng code.
  • Huwag muling likhain ang gulong mayroong maraming mga kit at prebuilt na mga piraso na maaari mong gamitin upang gawing mas madali ang iyong proyekto. Ako ay isang programmer at hindi isang mechanical engineer at nahihirapan akong subukang malaman kung paano ko gagawin ang robot na ito, ngunit madali itong makahanap ng isang bagay na bibilhin sa online at ipatupad ito sa aking disenyo kumpara sa literal na muling pag-likha ng gulong
  • Ang mga aklatan ay iyong kaibigan sa Arduino pati na rin sa lahat ng mga wika na nakatuon sa object at mayroon sila para sa isang kadahilanan. Ipares ito sa mga micro-controler at pag-program ng 8 by 8 LED ay simple. Na-program ko ang isa sa mga ito sa pamamagitan ng kamay bago at isa lamang ang gumagamit tungkol sa bawat pin sa Arduino at nangangailangan ng isang tonelada ng code. Napaka magulo at hindi masyadong masaya.
  • Ang mga 3D printer ay cool ngunit hindi perpekto at okay lang na mabawasan ang ilang mga bagay-bagay. Mas gugustuhin mong lumaki nang mas malaki kapag nagpi-print ang 3D para sa kadahilanang ito dahil sa karamihan ng mga kaso maaari mo itong buhangin nang kaunti upang makuha ang perpektong akma.
  • Ang kapangyarihan ay maaaring maging isang problema dahil naisip ko ang paggamit ng kuryente sa huling minuto at naisip kong ang isang 5v na baterya ay gagawa ng trick. Pagkatapos, tila sapalaran, minsan ang isang motor o isang LED display ay hindi gagana. Kapag na-upgrade ko sa power pack wala nang mga isyu, sa kabila ng pagiging mas malaki sa loob ng robot.

Inirerekumendang: