Circuits

Paano Gumawa ng Robot - Aralin 2: Bumuo ng isang Basic Robot Arduino: 19 Hakbang

Korea International Robot Contest 2014 - Rumble

Korea International Robot Contest 2014 - Rumble

Talaan ng mga Nilalaman:

Anonim

Sumusunod sa unang aralin (Paano Upang Gumawa ng Isang Robot - Panimula), mayroon ka ngayong isang pangunahing kaalaman sa kung ano ang isang Arduino robot, kung ano ang kailangan mo upang bumuo ng isang robot pati na rin kung paano gamitin ang mga tool. Ngayon, oras na upang simulan ang paggawa!

Sa ikalawang tutorial na ito, tuturuan ka na bumuo ng isang basic robot na Arduino. Upang gawing madaling sundin ang tutorial na ito, isang Arduino robot kit (Pirate: 4WD Arduino Mobile Robot Kit na may Bluetooth 4.0) ay ginagamit dito bilang isang halimbawa.

Mga Aralin Menu:

Aralin 1: Panimula

Aralin 2: Bumuo ng isang Basic Arduino Robo

Aralin 3: Gumawa ng Pagsubaybay sa Linya ng Arduino Robot

Aralin 4: Gumawa ng isang Arduino Robot na Maaring Iwasan ang mga Balakid

Aralin 5: Buuin ang isang Arduino Robot na May Liwanag At Mga Epekto sa Tunog

Aralin 6: Gumawa ng isang Arduino Robot na Puwede ang Monitor Environment

Aralin 7: Bumuo ng isang Arduino Robot na Kinokontrol ng Bluetooth

Mga Tagubilin sa Pagtitipon

HAKBANG 1: Magtipon ng Iyong Sariling Motor

Tumingin sa iyong mga bahagi ng bag para sa walong matagal na tornilyo. Ang mga ito ay ginagamit upang ayusin at i-secure ang mga motors sa lugar. Ilagay ang mga motors sa tamang pagkakahanay, pagkatapos ay i-torn ang mga ito sa lugar tulad ng ipinapakita sa larawan sa ibaba.

Mangyaring tandaan na ang mga washers at gaskets ay kasama rin sa mga bag na bahagi. Ang mga washers ay maaaring gamitin upang madagdagan ang alitan, na tumutulong sa pag-igting ang mga motors sa lugar. Ang mga gaskets ay nakakatulong na pigilan ang mga screw ng mani mula sa pag-loos at pagbagsak dahil sa paggalaw at collision ng iyong robot.

Mga Kagamitan:

Hakbang 1:

HAKBANG 2: Paghihinang sa mga Cable

Kunin ang itim at pulang mga wire mula sa mga bag na bahagi. Maglakip ng isang itim at isang pulang cable (15 cm ang haba) sa bawat motor (4 motors sa kabuuan). Pagkatapos ay gamitin ang iyong wire stripper upang i-strip ang pagkakabukod sa parehong dulo ng wires (siguraduhin na huwag i-strip masyadong-sumangguni sa mga larawan sa ibaba). Susunod, maghinang ang mga wires papunta sa mga pin na nakalagay sa mga motors. Ulitin ang proseso ng paghihinang para sa lahat ng apat na motors.

TANDAAN: Magbayad ng pansin sa tamang mga lokasyon ng pula at itim na mga wire kapag nagpapalamuti. Mangyaring kumonsulta sa mga sumusunod na larawan para sa mga detalye.

Hakbang 2:

HAKBANG 3: Magtipon ng controller ng Romeo BLE

Tumingin sa iyong mga bahagi ng bag para sa tatlong sumusuporta sa tanso. Ang mga 1cm na haba na suporta ay ginagamit upang i-fasten ang board ng controller ng Romeo. Tulad ng ipinakita sa larawan sa ibaba, may tatlong butas sa controller board. Ilagay ang tatlong tanso na sumusuporta sa mga butas, pagkatapos ay i-fasten ang mga ito sa lugar na may naaangkop na mga screws.

Hakbang 3:

HAKBANG 4: Magtipon ng Battery Box

Kumuha ng dalawang countersunk screws (ang kanilang mga ulo ay flat). Pagkatapos ay sundin ang mga hakbang na ipinapakita sa larawan sa ibaba at ilagay ang baterya sa base ng kotse.

Hakbang 4:

HAKBANG 5: Paglikha ng Power Switch

Ang mga baterya ay mahalaga sa buhay ng mga robot. Upang kontrolin ang paggamit ng kuryente, kailangan naming gumamit ng switch ng kapangyarihan: lumipat ang switch off ang kapangyarihan kapag hindi ginagamit, kaya pinapanatili ang koryente at buhay ng baterya. Sumangguni sa larawan sa ibaba bago mag-assemble at i-install ang switch ng kapangyarihan.

Mangyaring bigyang pansin ang pagkakasunud-sunod ng mga gaskets at tornilyo na mani kapag assembling ang switch.

Hakbang 5:

Pagkatapos ng assembling ang switch, gusto naming simulan ang paghihinang nito wires. Kunin ang ilan sa natitirang kawad na tira mula sa dati. I-strip ang mga kable sa parehong mga dulo ng mga cable upang ang loob ng kawad ay nailantad (parehong proseso tulad ng mga motors bago). Gusto naming maghinang ang nakalantad na dulo ng mga wire sa mga pin sa switch. Kapag ang paghihinang, napakahalaga na tandaan natin ang posisyon ng pin ng switch.

Hakbang 6:

Gawin natin ang hakbang na ito sa pamamagitan ng hakbang.

a) Ikunekta ang switch sa charger ng baterya. Bigyang-pansin ang eksaktong lokasyon ng parehong mga item.

Hakbang 7:

b) panghinang ang mga pulang kable na kumukonekta sa switch gamit ang charger ng baterya tulad ng ipinapakita sa larawan sa ibaba.

Hakbang 8:

Narito ang isa pang larawan upang gawing mas malinaw ang mga bagay.

c) Panghuli, kumuha ng isang pulang cable at isang itim na cable. Ilakip ang isang dulo ng isang cable sa negatibong poste ng charger ng baterya at isang dulo ng iba pang mga cable sa positibong poste ng charger ng baterya. Pagkatapos ay ilakip ang iba pang mga dulo ng parehong mga cable sa Romeo BLE controller.

Hakbang 9:

c) Panghuli, kumuha ng isang pulang cable at isang itim na cable. Ilakip ang isang dulo ng isang cable sa negatibong poste ng charger ng baterya at isang dulo ng iba pang mga cable sa positibong poste ng charger ng baterya. Pagkatapos ay ilakip ang iba pang mga dulo ng parehong mga cable sa Romeo BLE controller.

Hakbang 10:

Ang pagtingin sa pinalaki na larawan ay dapat magbigay sa iyo ng isang mas mahusay na ideya kung paano ang mga wires ay dapat na konektado. Pagkatapos ng paghihinang, siguraduhin na suriin at makita kung ang iyong mga kable sa pagitan ng baterya at Romeo controller ay pare-pareho mula simula hanggang matapos at tumutugma sa mga larawan sa itaas.

STEP6: Magtipon ng Car Base

Paggamit ng walong M3x6mm screws, ilakip ang mga gilid na plato sa harap at likod na mga plato ng bumper na ipinakita ng diagram sa ibaba.

TANDAAN: Kapag pinindot ang mga tornilyo sa hakbang na ito, siguraduhing hindi ganap na higpitan ang mga tornilyo sa simula - sa ganitong paraan, maaari nating madaling iwaksi ang nangungunang board sa mga hakbang sa ibang pagkakataon kung kailangan nating gumawa ng mga pagsasaayos.

Hakbang 11:

Pagkatapos, i-attach muli ang base plate sa katawan ng kotse tulad ng ipinapakita sa larawan sa ibaba.

Hakbang 12:

** Ito ay kung ano ang gusto ng kotse base pagkatapos na ito ay binuo - tandaan na i-install ang baterya pack!

STEP7: Ikonekta ang Motors sa Microcontroller Board

Ngayon kailangan namin sa Motors sa microcontroller board. Maingat na sundin ang mga sumusunod na diagram: ang red at black wires sa kaliwang motor ay dapat na soldered sa M2; ang red at black wires ng tamang motor ay dapat na ibenta sa M1. Magbayad ng espesyal na pansin sa pack ng baterya: ang itim na kawad ay dapat na ibenta sa wire port na nagbabasa ng GND, samantalang ang pulang kawad ay dapat na ibenta sa wire port na may label na VND. Gamitin ang iyong distilyador upang paluwagin at higpitan ang mga port ng wire - tiyakin na ang mga port na ito ay nakaayos nang maayos kapag ang mga wire ay naipasok.

TANDAAN: Siguraduhin na ang mga wire mula sa isang motor (ibig sabihin ang kaliwang motor) ay ibinebenta sa port ng motor. (ibig sabihin ang M2 port sa diagram sa ibaba - huwag maghinang ng wires sa isang motor sa dalawang magkahiwalay na port.)

Hakbang 13:

Pagkatapos ng paghihinang ang mga wire ng motor sa microcontroller board, handa kami na ilakip ang tuktok na plato sa base ng kotse.

Bago kami ilakip sa tuktok na plato, mayroon kang opsyon na mag-attach sa isang sensor plate (tingnan ang diagram sa ibaba) - kung hindi mo planong gumamit ng mga sensor pa lang, maaari mong laktawan ang dagdag na hakbang na ito.

Hakbang 14:

Pagkatapos ng paglakip sa tuktok ng platfrom, ang iyong robotic platform ay dapat na maging katulad ng larawan sa ibaba.

Hakbang 15:

STEP8: Maglakip ng dagdag na antas sa iyong robot

Hanapin ang apat na butas sa tuktok na plato ng base. Tornilyo sa apat na M3x60mm Copper Standoffs, pagkatapos ay i-attach ang karagdagang tuktok plate tulad ng ipinapakita sa diagram sa ibaba - gamitin ang M3x6mm Turnilyo upang i-attach ang plato sa tanso standoffs.

Hakbang 16:

Ihagis ang ilang mga gulong sa iyong robotic platform at ikaw ay handa na upang ipaalam ito mamalo!

Hakbang 17:

CODING

Pagkatapos ng assembling, oras na upang mag-upload ng code papunta sa microcontroller at gawin ang iyong Arduino robot ilipat. Ang robot ay may lahat ng mga sangkap para sa paglipat ng isang beses binuo. Tingnan ang sample code para sa Arduino file na may pamagat na "MotorTest.ino".

Sample code MotorTest:

# isama

DFMobile Robot (4,5,7,6); // simulan ang Motor pin

walang bisa setup () {

Robot.Direction (LOW, HIGH); // simulan ang positibong direksyon

}

walang bisa loop () {

Robot.Speed ​​(255,255); / Forward

pagkaantala (1000);

Robot.Speed ​​(-255, -255); / Bumalik

pagkaantala (2000);

}

I-download ang code, pagkatapos ay i-upload ito sa iyong microcontroller. Ang mga motors at mga gulong ay dapat na mabuhay nang magmadali. Kung hindi, suriin upang makita kung maayos na naka-install ang iyong baterya at kapangyarihan switch. Kapag nagtatrabaho ang mga motorsiklo, binabati kita! Nakumpleto mo ang isang malaking hakbang - halos oras na upang ilagay ang aming goma sa kalsada.

Pagkatapos ay pagmasdan ang iyong robot na kotse at suriin kung maaari itong sumulong sa loob ng 1 segundo at ilipat pabalik sa loob ng 1 segundo. Kung ganiyan ang kaso, MAHUSAY NA LUCK. Hindi mo kailangang ayusin ang mga sangkap. Para sa mga nangangailangan upang gumawa ng ilang mga pagsasaayos sa base ng kotse o motors, mangyaring hanapin ang sumusunod na impormasyon tungkol sa kung paano gumagalaw ang robot.

Suriin upang makita kung ang iyong robotic platform ay sumusunod sa code na ipinapakita sa itaas: dapat itong ilipat pasulong para sa 1 segundo, pagkatapos ay i-reverse para sa 1 segundo. Kung ganoon nga ang kaso, saksakin lang ang nilalaman sa ibaba at pagkatapos ay handa ka nang umalis!

Gayunman, karamihan sa mga tao ay kailangang gumawa ng mga pagsasaayos sa kanilang mga motors. Bago natin ito gawin, pagbalik-aralan natin kung paano gumagana ang function ng motor ng robot at code.

Paano Gawin ang Pag-forward ng Robot? Upang maintindihan ang tanong na ito, suriin muna ang kilusan ng aming robot.

Ang diagram sa ibaba ay naglalarawan ng kilusang ito sa hinaharap.

Hakbang 18:

Ang pulang arrow sa itaas ay kumakatawan sa direksyon ng mga gulong. Tulad ng ipinapakita sa mapa sa itaas, ang kotse ay maaaring sumulong lamang kung pareho ang mga kaliwa at kanang gulong / motors ay umaandar. Tulad ng ipinakita sa itaas, ang Arduino robot ay naglilipat lamang kapag ang dalawa sa kaliwa at kanan na mga gulong at gulong ay umaandar.

Buod ng Code

Ang unang linya ng code ay:

#include // call library

Hindi namin kailangang mag-isip ng masyadong maraming tungkol sa linyang ito. Ang lahat ng ginagawa namin ay pagtawag sa / paggamit ng isang hanay ng mga pag-andar - ang DFMobile library - na umiiral sa labas ng pangunahing balangkas ng Arduino. Para sa karagdagang impormasyon sa mga Arduino library, mangyaring tingnan ang website ng Arduino.

Ang susunod na linya ng code ay:

DFMobile Robot (4,5,7,6); // simulan ang Motor pin

Ang function na ito ay kinuha mula sa DFMobile library (iyon ay, ito ay hindi isang unibersal na function Arduino).Ginagamit namin ito dito upang magpasimula ng mga pin ng motor (4, 5, 7, 6) sa microcontroller - nang walang ito, ang mga motors ay hindi magsisimula.

Gagamitin din namin ang function na ito sa paglaon.

Tingnan ang function sa ibaba:

DFMobile Robot

(EnLeftPin, LeftSpeedPin, EnRightPin, RightSpeedPin);

Ang function na ito ay ginagamit upang magpasimula ng apat na pin ng motor (4, 5, 7, 6) at nahahati sa apat na hiwalay na parameter:

EnLeftPin: Pin na kontrol ng kaliwang direksyon ng motor

LeftSpeedPin: Pin na kontrol ang kaliwang bilis ng motor

EnRightPin: Pin na kinokontrol ng tamang direksyon ng motor

RightSpeedPin: Pin na kumokontrol sa tamang bilis ng motor

Pakitandaan: ang motors ng robot ay hindi tatakbo nang walang pagsasama ng function na ito. Gayundin, ang function na ito ay dapat ilagay sa loob ng patlang ng walang bisa setup () sa iyong sketch ng Arduino.

Sa pagsubok ng iyong galaw sa pagsulong ng iyong robot bago, maaaring nakatagpo kami ng isang partikular na problema: magsisimula ang kotse upang lumipat, baguhin ang mga direksyon at hindi lubos na sundin ang code na ibinigay namin ito. Ito ay dahil sa mga wires ng motor na hindi na-soldered sa mga baterya sa tamang paraan.

Huwag mag-alala - maaari naming iwasto ito sa pamamagitan ng code. Sa pamamagitan ng paggamit ng LOW / HIGH values, maaari naming ayusin ang direksyon ng mga liko ng kotse.

Paano Ayusin ang Straight Direction para sa Robot Car?

Upang ayusin ang direksyon ng mga motors at gulong, kailangan namin ang sumusunod na linya ng code:

Robot.Direction (LOW, HIGH);

Ang function ay ang mga sumusunod:

Robot.Direction (LeftDirection, RightDirection);

Ang function na ito ay ginagamit upang gawin ang mga motors ilipat sa isang direksyon ng pasulong. Ang function ay nahahati sa dalawang parameter: LeftDirection & RightDirection, na nakasulat sa Arduino code bilang alinman sa LOW o HIGH.

Mas maaga, binanggit namin sa madaling sabi kung paano gawin ang Arduino robot na lumipat sa isang direksyon ng pasulong. Dito, gagamitin natin ang LOW / HIGH upang iwasto ang mapanghimasok na paggalaw ng robot. Halimbawa, ang LeftDirection ay nakatakda bilang LOW sa sample code. Ngunit ang mga natitirang gulong ng robot na kotse ay maaaring paikutin ang paurong sa halip na pag-ikot ng pasulong. Ngayon ang kailangan mo lang gawin ay baguhin ang LeftDirection mula sa LOW to HIGH. Ang parehong mga pamamaraan ay nalalapat sa mga tamang gulong.

Halimbawa: sa halimbawang code na ito, ang LeftDirection ay isinaayos na LOW. Ipagpalagay na ang iyong mga gulong sa kaliwa, sa halip na umusad nang naaayon, dapat ilipat sa likod. Sa kasong ito, baguhin ang pagsasaayos ng LeftDirection mula sa LOW to HIGH. Sa sandaling baguhin mo ito sa HIGH, i-upload muli ang iyong code - dapat mong mapansin na ang iyong kaliwang gulong ay sumusulong ngayon sa halip na paurong. Kung gumagana ang pag-aayos na ito, gawin ang parehong para sa RightDirection (mababa sa HIGH o kabaligtaran).

Sa sandaling matagumpay mong naayos ang direksyon ng iyong Arduino robot, naka-set ka na! Binabati kita - maaari mo na ngayong gamitin ang lahat ng pangunahing mga function ng robot. Bago matapos, gayunpaman, ito ay katumbas ng halaga upang madaling pag-usapan ang function na Robot.Speed ​​().

Kumuha ng gander sa sumusunod na function:

Robot.Speed ​​(LeftSpeed, RightSpeed);

Ang function na ito na may dalawang elemento (LeftSpeed ​​at RightSpeed) ay ginagamit upang itakda ang bilis ng motor. Maaari kang magsulat ng numero sa pagitan ng -255 at 255. 255 ang pinakamataas na pigura at ang minus sign ay kumakatawan sa direksyon.

Ang function na ito ay ginagamit upang i-configure ang bilis ng mga motors. Ang function ay nahahati sa dalawang parameter: LeftSpeed ​​& RightSpeed. Ang mga parameter na ito ay nakasulat sa Arduino code bilang isang halaga mula sa -255 sa 255. 255 ay ang pinakamabilis na bilis ng paglipat ng pasulong; -255 ay ang pinakamabilis na bilis na gumagalaw pabalik (iyon ay, pag-reverse).

Na-configure na namin ang bilis ng robot sa walang bisa setup () na bahagi ng aming code. Ngayon, maaari naming gamitin ang bilis () function upang kontrolin ang bilis ng kotse at kahit pasulong / paurong direksyon.

Tingnan kung maaari mong maunawaan ang sumusunod na dalawang linya:

Robot.Speed ​​(255,255);

Robot.Speed ​​(-255, -255);

Ang unang linya ay nagpapakita ng paglipat ng kotse sa buong bilis - buong bilis ng maaga, kung ikaw ay (aye aye, kapitan). Ang ikalawang linya ay nagpapakita ng kotse na gumagalaw pabalik (reversing) sa buong bilis.

Sa puntong ito, ang bilis () ay isang kailangang-kailangan na pag-andar. Susunod, susuriin namin ang aming huling seksyon: ang mga prinsipyo sa likod kung paano gumagalaw at lumiliko ang robot.

Paano gumagalaw at lumiliko ang robot

Ang mapa sa ibaba ay nagpapakita ng ilang mga regular na paraan ng paggalaw para sa robot na kotse. Halimbawa, kung ang bilis ng Kaliwa ng Direksyon ay zero, ang robot ay i-kaliwa kung nag-aalok ka ng tamang mga gulong ng ilang puwersa upang sumulong.

Ang sumusunod na diagram ay nagpapakita ng ilang mga paraan kung saan ang Arduino robot ay maaaring lumipat at lumiko. Halimbawa, kung ang bilis ng mga kaliwang gulong ay naka-set sa 0, na magiging sanhi ng mga gulong sa kanan upang lumipat - kaya, ang Arduino robot ay bumabaling sa kaliwa.

Hakbang 19:

Isang bagay na dapat isaalang-alang: kung paano namin maaaring i-rotate ang iyong robot sa bilog habang nakapirmi?

Panghuli: kung gusto mo, maaari kang magpatakbo ng higit pang code upang subukan at i-calibrate ang kilos ng iyong sariling robot. Buksan ang "MotorTest2.ino" na file. Ang code na ito ay dapat makatulong sa iyo na mas mahusay na maunawaan at masukat ang mga kakayahan ng pasulong at paurong kilusan, bilang karagdagan sa kaliwa at kanang mga liko. Sa pamamagitan nito sa isip, ilagay ang mga gulong sa kalsada (o karpet) at let'er rip!

Binabati kita, ngayon ay itinayo mo ang iyong unang robot! Ito ay may mga function ng bacis na maaaring sumulong, paatras, lumiko sa kaliwa at lumiko kanan.

Ang pakiramdam ay nasasabik? Sa susunod na ilang mga tutorial, ituturo namin sa iyo kung paano bumuo ng isang mas advanced na robot na maaaring maiwasan ang mga obstacles at subaybayan ang linya halimbawa.