Talaan ng mga Nilalaman:

Arduino Hot Wheels Speed Track Part # 2 - Code: 5 Hakbang
Arduino Hot Wheels Speed Track Part # 2 - Code: 5 Hakbang

Video: Arduino Hot Wheels Speed Track Part # 2 - Code: 5 Hakbang

Video: Arduino Hot Wheels Speed Track Part # 2 - Code: 5 Hakbang
Video: Using 28BYJ-48 Stepper Motor Push button Speed with 8 projects: Ultimate Video Tutorial Lesson 107 2024, Hulyo
Anonim
Image
Image

Sa unang bahagi ng proyektong ito binuo namin ang hardware para sa prototype sa 2 mga breadboard.

At sa bahaging ito ay susubukan namin ang code, kung paano ito gumagana at pagkatapos ay subukan ito.

Tiyaking panoorin ang video sa itaas para sa buong pagsusuri ng code at showcase ng gumaganang code.

Hakbang 1: Parehong MASTER at SLAVE sa Parehong Code

Ang code ay nasa 2 bahagi, ngunit sa loob ng parehong file. Gumagamit ako ng #define at #ifdef upang matukoy kung aling code ang maiipon o hindi papansinin kaya maaari kong paghiwalayin ang anumang code na para lamang sa MASboard breadboard at code na para lamang sa SLAVE breadboard.

Talaga, kung ang natukoy na MASTER ay natagpuan, kung gayon ang anumang code na nakaupo sa loob ng MASTER code block ay maiipon at ang anumang code sa labas ng block na iyon ay aalisin sa oras ng pagsulat.

#ifdef MASTER

// Ang tukoy na code ng master ay narito

#else

# tukuyin ang Alipin

// Ang tukoy na code ng alipin ay narito

#tapusin kung

Gumagamit din ako ng parehong pamamaraan upang # tukuyin ang pagka-alipin kapag naipon ang MASTER kaya kailangan mo lamang mag-alala tungkol sa pagtukoy sa MASTER o hindi upang paganahin ang SLAVE upang matukoy.

Hakbang 2: Nag-uusap ang Mga Module na BLUETOOTH Sa Pamamagitan ng Pagbasa at Pagsulat ng Serial

Sa proyektong ito, ang SLAVE breadboard lamang ang nakikipag-usap sa MASTER breadboard. Ang MASTER ay hindi na muling naguusap, nakikinig lamang ito at kumikilos sa papasok na data.

Ang mga module ay nagsasalita at nakikinig gamit ang built in na Serial class sa Arduino coding ecosystem.

Ang mga module ng Bluetooth ay nakikipag-usap sa 38400 baud, kaya ang parehong mga landas ng code ay nagpasimula sa kanilang mga Serial na komunikasyon gamit ang:

Serial.begin (38400);

At ang ULIP ay gumagamit ng:

Serial.write (data dito);

Upang makausap ang MASTER, at ang MASTER ay gumagamit ng:

data = Serial.read ();

Upang makinig sa serial stream at basahin ang mga nilalaman nito at iimbak ito sa loob ng isang variable.

Hakbang 3: Pagkontrol sa Lahi

Ang SLAVE ay nagsasabi sa MASTER kung nasa karera ng higit pa o handa na mode sa pamamagitan ng berdeng pindutan na konektado sa ito ay micro-controller. Sa handa na mode, ang mga IR sensor ay walang ginawa at ang MASTER ay magpapakita ng 8 gitling sa display upang ipahiwatig na ito ay nasa handa na mode.

Kapag sinabi ng SLAVE sa MASTER na magsisimula ang isang karera, magsisimulang mag-poll ang SLAVE ng mga IR sensor sa gilid nito (Ang pagsisimula ng track ng lahi) para sa mga kotse na dumaan sa ilalim.

Habang dumadaan ang bawat kotse sa ilalim ng bawat IR sensor, nagpapadala ito ng A (kotse 1) o B (kotse 2) sa MASTER.

Kapag nakatanggap ang MASTER ng A o B, binibigyan nito ang timer para sa tukoy na kotse na iyon at naghihintay para sa kotse na dumaan sa ilalim ng kaukulang IR sensor sa linya ng tapusin.

Ang display ay na-update bawat 50ms upang ipakita ang kasalukuyang oras para sa bawat kotse sa segundo na may 2 decimal na lugar.

Kapag ang parehong mga kotse ay naabot ang linya ng tapusin, ang MASTER magpasya kung aling kotse ang pinakamabilis at i-flash ang oras na iyon sa display upang ipahiwatig ang nagwagi.

Hakbang 4: Ang Natitirang Code

Ang natitirang code ay utility code lamang na kontrolado ang pagpapakita ng data sa 8 digit na pagpapakita, o humahawak ng pindutan ng pindutin ang lohika atbp.

Sa pagtatapos ng video sa seksyon ng intro ng proyektong ito, nagpapakita ako ng isang halimbawa ng code na tumatakbo sa 2 mga breadboard, kaya tiyaking suriin mo iyon!

Maaari mong kunin ang code para sa proyektong ito mula sa aking github repo.

Hakbang 5: Ano ang Susunod?

Iyon lang ito

Inaasahan kong nasisiyahan ka sa proyektong ito!

Sundin ako sa:

www.youtube.com/c/unexpectedmaker

twitter.com/unexpectedmaker

www.facebook.com/unexpectedmaker

www.instagram.com/unexpectedmaker

www.tindie.com/stores/seonr/

Inirerekumendang: