Përmbajtje:

Pjesë #2 e Arduino Hot Wheels Speed Track Pjesa 2 - Kodi: 5 Hapa
Pjesë #2 e Arduino Hot Wheels Speed Track Pjesa 2 - Kodi: 5 Hapa

Video: Pjesë #2 e Arduino Hot Wheels Speed Track Pjesa 2 - Kodi: 5 Hapa

Video: Pjesë #2 e Arduino Hot Wheels Speed Track Pjesa 2 - Kodi: 5 Hapa
Video: 35 видео со страшными призраками: мегасборник 2023 года [V1] 2024, Korrik
Anonim
Image
Image

Në pjesën e parë të këtij projekti ne ndërtuam pajisjen për prototipin në 2 dërrasa buke.

Dhe në këtë pjesë do të kalojmë mbi kodin, si funksionon dhe më pas do ta testojmë.

Sigurohuni që të shikoni videon e mësipërme për të gjithë rishikimin e kodit dhe shfaqjen e kodit të punës.

Hapi 1: Si MASTER ashtu edhe SLAVE në të njëjtin kod

Kodi është në 2 pjesë, por brenda të njëjtit skedar. Unë përdor #define dhe #ifdef për të përcaktuar se cili kod do të përpilohet ose injorohet, kështu që mund të veçoj çdo kod që është vetëm për breadboard MASTER dhe kodin që është vetëm për breadboard SLAVE.

Në thelb, nëse gjendet MASTER i përcaktuar, atëherë çdo kod që gjendet brenda bllokut të kodit MASTER do të përpilohet dhe çdo kod jashtë atij blloku do të hiqet në kohën e përpilimit.

#ifdef MASTER

// Kodi specifik për Masterin është këtu

#te tjera

#përcakto SKLLAVIN

// Kodi specifik i skllevërve është këtu

#endif

Unë jam duke përdorur të njëjtën teknikë për të #përcaktuar SLAVE kur MASTER është përpiluar, kështu që ju vetëm duhet të shqetësoheni për përcaktimin e MASTER ose për të mos mundësuar që SLAVE të përcaktohet.

Hapi 2: Modulet BLUETOOTH Flisni Përmes Leximit dhe Shkrimit Serial

Në këtë projekt vetëm fletëpalosja SLAVE flet me pjatën MASTER. MASTER nuk flet kurrë, ai vetëm dëgjon dhe pastaj vepron në të dhënat që vijnë.

Modulet flasin dhe dëgjojnë duke përdorur klasën Seriale të ndërtuar në ekosistemin e kodimit Arduino.

Modulet Bluetooth komunikojnë në 38400 baud, kështu që të dyja rrugët e kodit inicializojnë komunikimet e tyre Seriale duke përdorur:

Serial.filloj (38400);

Dhe SLAVE përdor:

Serial.write (të dhënat këtu);

Për të folur me MASTER, dhe MASTER përdor:

të dhëna = Serial.read ();

Për të dëgjuar transmetimin serik dhe për të lexuar përmbajtjen e tij dhe për ta ruajtur atë brenda një ndryshoreje.

Hapi 3: Kontrolli i garës

SLAVE i thotë MASTER nëse është në garë më shumë ose në gjendje të gatshme përmes butonit të gjelbër të lidhur me mikrokontrolluesin e tij. Në modalitetin e gatshëm, sensorët IR nuk bëjnë asgjë dhe MASTER do të shfaqë 8 pika në ekran për të treguar se është në modalitetin e gatshëm.

Kur SLLAVE i thotë Mjeshtrit se një garë do të fillojë, SLAVE fillon të anketojë sensorët IR në anën e saj (Fillimi i pistës së garës) që makinat të kalojnë nën të.

Ndërsa çdo makinë kalon nën çdo sensor IR, ai dërgon një A (makinë 1) ose B (makinë 2) në MASTER.

Kur MASTER merr një A ose B, ai mundëson kohëmatësin për atë makinë specifike dhe pastaj pret që makina të kalojë nën sensorin IR përkatës në vijën e finishit.

Ekrani azhurnohet çdo 50ms për të shfaqur kohën aktuale për secilën makinë në sekonda me 2 shifra dhjetore.

Pasi të dy makinat të kenë arritur në vijën e finishit, MASTER vendos se cila makinë ishte më e shpejta dhe pulson atë kohë në ekran për të treguar fituesin.

Hapi 4: Pjesa tjetër e Kodit

Pjesa tjetër e kodit është vetëm kodi i shërbimeve që ose kontrollon shfaqjen e të dhënave në ekranin 8 shifror, ose trajton logjikën e shtypjes së butonit, etj.

Në fund të videos në pjesën hyrëse të këtij projekti, unë tregoj një shembull të kodit që funksionon në 2 tabelat e bukës, prandaj sigurohuni që ta kontrolloni!

Ju mund të merrni kodin për këtë projekt nga repoja ime e github.

Hapi 5: Çfarë vjen më pas?

Kjo është ajo tani për tani … në pjesën 3 ne do të shikojmë lëvizjen e përbërësve nga pjata e bukës dhe në diçka më të përhershme … qëndroni të sintonizuar!

Shpresoj se ju ka pëlqyer ky projekt!

Më ndiqni në:

www.youtube.com/c/unexpectedmaker

twitter.com/unexpectedmaker

www.facebook.com/unexpectedmaker

www.instagram.com/unexpectedmaker

www.tindie.com/stores/seonr/

Recommended: