Circuits

Paano Gumawa ng Robot - Aralin 3: Gumawa ng Pagsubaybay sa Linya ng Robot: 16 Mga Hakbang

Making a TRANSFORMER 4-Legged Robot Ball!

Making a TRANSFORMER 4-Legged Robot Ball!

Talaan ng mga Nilalaman:

Anonim

Matapos makumpleto ang mga pangunahing pag-andar, handa na kami ngayon upang bigyan ang Arduino robot ng isang upgrade na kakayahan - Line-tracking!

Sa tutorial na ito, matuturuan ka nang hakbang-hakbang upang gumawa ng isang linya sa pagsubaybay ng Arduino robot. 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 Robot

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

Maaaring Kailanganin ng Mga Bahagi ng Hardware:

Pagsubaybay sa Linya (Sumusunod) Sensor Para sa Arduino × 3

Mga Kagamitan:

Hakbang 1:

Lapad 2.5CM Black Electrical Tape × 1

Hakbang 2:

1M * 1M White Board × 1

Hakbang 3:

M3 * 30MM Naylon suporta (Turnilyo, mani) × 3

Hakbang 4:

Mga Tagubilin sa Pagtitipon

Hindi mahirap i-assemble ang Arduino robot. Mangyaring sundin ang mga sumusunod na tagubilin.

Hakbang 1:

Una, kailangan mo ng 3 mga suporta sa naylon at ang kanilang mga kasamang mga screw at nuts.

Hakbang 5:

Hakbang 2: Pag-attach ng mga Nylon support

Paggamit ng mga mani, ilakip ang mga suporta ng naylon sa ibabaw ng mga sensor ng Mini. Kapag naglalakip sa mga suporta, mangyaring bigyang-pansin ang kanilang direksyon: ang mga nuts at probes ay dapat na pareho sa isang direksyon.

Hakbang 6:

Hakbang 3: Pag-assemble ng sensor board

Alisin ang itaas na plato mula sa robotic platform. Pagkatapos, ilakip ang sensor board sa harap ng platform.

Hakbang 7:

Hakbang 4: Pag-assemble ng sensor sa pagsubaybay sa linya

Una, ikonekta ang sensor sa wire na itinalaga para sa paghahatid ng data. Pagkatapos, gamitin ang iyong M3 screws upang i-attach ang sensors sa expansion board na nakausli mula sa harap ng platform.

Hakbang 8:

Pagkonekta sa hardware

Pagkatapos mag-assemble ng mga sensors, huwag magmadali upang ilagay ang itaas na plato sa likod pabalik sa - bago gawin iyon, kailangan naming unang ikonekta ang mga sensors sa Romeo BLE.

Ang larawan sa kaliwang bahagi ay nagpapakita ng tamang ABC placement ng sensors sa sensor board, na tumutugma sa mga pin 10, 9, at 8 sa Romeo BLE. Kapag kumokonekta sa mga sensors, siguraduhin na suriin na nakakonekta ka sa kanila sa tamang pagkakasunud-sunod. Pagkatapos ng pagkonekta sa mga sensor, muling i-attach ang itaas na plato ng platform pabalik sa ibabaw ng base.

Hakbang 9:

Pagsasaayos ng mga sensor

Bago i-download ang code, kailangan naming ayusin ang aming mga sensor. Una, plug isang USB cable sa iyong Romeo BLE (Arduino Robot Control Board na may Bluetooth 4.0) upang bigyan ito ng kapangyarihan. Tulad ng nakikita sa larawan sa ibaba, ang sensor sa ibaba ay may ulo ng screw ng Philips; Ang tornilyo na ito ay maaaring magamit upang ayusin ang pagtuklas ng distansya ng sensor. Kumuha ng isang puting piraso ng papel at ilagay ito sa ilalim ng probe ng sensor (ang kulay ng papel ay ginagamit para sa mga layunin ng pagkakalibrate). Kumuha ng distilyador at gamitin ito upang higpitan ang ulo ng screw ng Philips. Pakiramdam mo ang probe ng sensor ay lumalakad pataas at pababa depende sa kung gaano ka mahigpit na higpitan ang tornilyo. Makikita mo rin ang LED light ng sensor sa lalong madaling simulan mo ang pagpigil. Patigilin ang tornilyo ulo hanggang sa ang probe point ay sa paligid ng 2 cm sa itaas ng piraso ng papel.

Hakbang 10:

Coding

I-plug in ang iyong USB. I-download ang Arduino code, na pinangalanang "HuntingLineBlack.ino", mula sa GitHub. I-click ang pindutang Mag-upload sa Arduino IDE upang i-upload ang code sa iyong control board ng BLE.

Hakbang 11:

Pag-configure ng path ng iyong Arduino Robot

Dalhin ang iyong whiteboard. Gamitin ang iyong 2.5 cm lapad na de-koryenteng tape upang mag-ipon ng isang landas sa whiteboard tulad ng ipinapakita sa larawan sa ibaba.

Hakbang 12:

Ang lapad ng kawad ay humigit-kumulang 2.5 cm, ang tinatayang distansya sa pagitan ng mga sensor A at C. Pinili namin ang path sa itaas para sa mga kadahilanang may kaugnayan sa code; ang susunod na seksyon ay magpapaliwanag nang mas maigi ang pangangatuwirang ito.

Hakbang 13:

Transmission: Paano ito gumagana

Paano namin ginagawa ang robot na manatili sa track nito? Kailangan naming matiyak na ang robot ay patuloy na matatagpuan sa gitna ng track. Ang robot ay gumagamit ng 3 transmisyon sensor nito upang i-calibrate ang posisyon nito na may kaugnayan sa track - sa sandaling ito veers sa gilid, ang robot ay i-adjust ang sarili pabalik patungo sa gitna.

Kapag ang aming robot gumagalaw, tatlong mga kondisyon ang mangyayari.

Hakbang 14:

(a) Kapag ang unang robot ay nagsisimula lumipat sa subaybayan, tanging ang gitnang sensor (B) ay nakikita ang itim na linya - ang mga kaliwa at kanang sensors ay hindi pa nakapaglaro. Ang kotse ay mananatiling nakasentro sa track at sumulong.

Hakbang 15:

(b) Pagkatapos magpatuloy sa track nito, ang robot ay maaaring magsimulang mag-off center. Sa ilalim ng mga sitwasyong ito, ang mga sensor sa kaliwa at kanan ay susubukan na makita ang itim na linya at patnubayan ang robot pabalik sa track. Halimbawa, kung ang robot ay lumilipat patungo sa kanang bahagi ng track, ang kotse ay kailangang muling i-center ang sarili nito sa pamamagitan ng pag-on patungo sa kaliwa - ang kaliwang sensor ay kick in at awtomatikong i-on ang robot hanggang sa muling mag-sentro.

Hakbang 16:

(c) Sa kabaligtaran, kung ang robot ay lumilipat patungo sa kaliwang bahagi ng track, ang susi sensor ay kick in at ayusin ang path ng robot hanggang sa muling i-sentro.

Buod ng Code

Hindi na kailangang pag-usapan ang pangunahing code - tingnan lamang natin ang bahagi na may kinalaman sa paghahatid.

int RightValue; / / Traktor sensor kanan linya sa Pin 8

int MiddleValue; / / Gitnang linya traktor sensor sa Pin 9

int LeftValue; / / Left line tractor sensor sa Pin 10

/ pagbabasa 3 mga halaga ng pin ng Line Tracking Sensor

RightValue = digitalRead (8);

MiddleValue = digitalRead (9);

LeftValue = digitalRead (10);

Gumamit ng tatlong mga variable - RightValue, MiddleValue, LeftValue - upang i-record ang mga read value ng 3 sensor.

Ang digitalRead (pin) function ay ginagamit upang basahin ang halaga ng digital Input / Output port. Kung hindi pa malinaw ang bahaging ito, mangyaring tingnan ang aming Terminology Manual o website ng Arduino.

Kapag nakita ng gitnang transmisyon sensor isang itim na linya (ang track), ito ay makakabuo ng isang mababang output ng enerhiya. Kapag nakita nila ang isang puting espasyo, makakagawa sila ng isang mataas na output ng enerhiya.

Halimbawa A sa ibaba ay naglalarawan ng mga prinsipyo ng nagtatrabaho code ng paghahatid. Kapag nakita ng gitnang sensor ang isang itim na linya (ang track), ito ay makakabuo ng isang LOW energy output. Kapag nakikita ng kaliwa / kanan sensor ang puting espasyo, makakagawa sila ng HIGH output.

kung (MiddleValue == LOW) {// linya sa gitna Robot.Speed ​​(100,100); pagkaantala (10);}

ibang tao kung ((LeftValue == HIGH) && (RightValue == HIGH)) {Robot.Speed ​​(100,100); pagkaantala (10);}

Kung nakita ng mga sensor ang itim na linya / track sa kaliwa habang nakikita rin ang puting espasyo sa kanan, ang robot ay i-kaliwa. Tingnan ang Halimbawa B sa ibaba:

ibang tao kung ((LeftValue == LOW) && (RightValue == HIGH)) {Robot.Speed ​​(-100,100); / / baligtad sa kaliwa pagkaantala (10);}

Sa kabilang banda, kung nakita ng mga sensor ang itim na linya / track sa kanan habang nakikita ang puting espasyo sa kaliwa, ang robot ay i-right. Tingnan ang Halimbawa C sa ibaba:

ibang tao kung ((LeftValue == HIGH) && (RightValue == LOW)) {Robot.Speed ​​(100, -100); // i-right right delay (10);}