Sadržaj:
- Korak 1: I MASTER i SLAVE u istom kodu
- Korak 2: Moduli BLUETOOTH razgovaraju putem serijskog čitanja i pisanja
- Korak 3: Kontrola trke
- Korak 4: Ostatak koda
- Korak 5: Šta je sljedeće?
Video: Arduino Hot Wheels Speed Track, dio #2 - Kod: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
U prvom dijelu ovog projekta izgradili smo hardver za prototip na 2 ploče.
U ovom dijelu ćemo proći kroz kod, kako funkcionira, a zatim ga testirati.
Obavezno pogledajte gornji video zapis za cijeli pregled koda i prikaz radnog koda.
Korak 1: I MASTER i SLAVE u istom kodu
Kôd se sastoji od 2 dijela, ali unutar iste datoteke. Koristim #define i #ifdef da odredim koji će se kod sastaviti ili zanemariti, tako da mogu odvojiti bilo koji kôd koji je samo za MASTER matičnu ploču i kod koji je samo za SLAVE matičnu ploču.
U osnovi, ako se pronađe definirani MASTER, tada će se prevesti bilo koji kôd koji se nalazi unutar bloka koda MASTER, a bilo koji kôd izvan tog bloka bit će uklonjen u vrijeme kompajliranja.
#ifdef MASTER
// Ovdje je glavni kod
#else
#define SLAVE
// Ovdje je specifičan kod za slave
#endif
Istu tehniku koristim i za #definiranje SLAVE -a kada se sastavlja MASTER, tako da morate brinuti samo o definiranju MASTER -a ili o onemogućavanju definiranja SLAVE -a.
Korak 2: Moduli BLUETOOTH razgovaraju putem serijskog čitanja i pisanja
U ovom projektu samo SLAVE matična ploča razgovara s MASTER matičnom pločom. MASTER nikada ne odgovara, on samo sluša, a zatim reagira na podatke koji dolaze.
Moduli govore i slušaju koristeći ugrađenu serijsku klasu u Arduino kodirajućem ekosistemu.
Bluetooth moduli komuniciraju brzinom od 38400 baud, pa oba puta koda inicijaliziraju svoju serijsku komunikaciju koristeći:
Serial.begin (38400);
I SLAVE koristi:
Serial.write (podaci ovdje);
Za razgovor s MASTER -om, a MASTER koristi:
data = Serial.read ();
Da biste slušali serijski tok i čitali njegov sadržaj i spremili ga u varijablu.
Korak 3: Kontrola trke
SLAVE govori MASTER-u ako je u utrci više ili u stanju pripravnosti putem zelenog gumba spojenog na mikrokontroler. U pripravnom načinu rada, IR senzori ne rade ništa, a MASTER će prikazati 8 crtica na zaslonu kako bi označio da je u načinu rada spreman.
Kad SLAVE kaže MASTER -u da će utrka početi, SLAVE počinje anketirati IR senzore sa svoje strane (početak trkaće staze) kako bi automobili prošli ispod.
Kako svaki automobil prolazi ispod svakog IR senzora, šalje MASTERU A (automobil 1) ili B (automobil 2).
Kad MASTER primi A ili B, on omogućuje mjerač vremena za taj automobil, a zatim čeka da automobil prođe ispod odgovarajućeg IC senzora na ciljnoj liniji.
Zaslon se ažurira svakih 50 ms kako bi prikazao trenutno vrijeme za svaki automobil u sekundama sa 2 decimalna mjesta.
Nakon što su oba automobila stigla na cilj, MASTER odlučuje koji je automobil bio najbrži i treperi to vrijeme na ekranu kako bi označio pobjednika.
Korak 4: Ostatak koda
Ostatak koda je samo pomoćni kod koji ili kontrolira prikaz podataka na osmeroznamenkastom zaslonu ili upravlja logikom pritiskanja gumba itd.
Na kraju videa u uvodnom dijelu ovog projekta pokazujem primjer koda koji se izvodi na dvije ploče, pa provjerite to!
Kod za ovaj projekt možete preuzeti iz mog github repoa.
Korak 5: Šta je sljedeće?
To je to za sada … u trećem dijelu ćemo pogledati premještanje komponenti s matične ploče na nešto trajnije … ostanite s nama!
Nadam se da uživate u ovom projektu!
Pratite me na:
www.youtube.com/c/unexpectedmaker
twitter.com/unexpectedmaker
www.facebook.com/unexpectedmaker
www.instagram.com/unexpectedmaker
www.tindie.com/stores/seonr/
Preporučuje se:
Arduino multi-track MIDI Loop Station: 6 koraka
Arduino multi-track MIDI Loop Station: Stanica sa petljom ili petlja je u osnovi alat za reprodukciju vaših instrumentalnih rifova (petlji) u stvarnom vremenu. Nije zamišljen kao medij za snimanje, već instrument za oblikovanje inspiracije bez ometanja (i na kraju nastup uživo …)
Mjerač koraka 1. dio: Jednobojni ekran 128x32 i Arduino: 5 koraka
Mjerač koraka 1. dio: Jednobojni ekran 128x32 i Arduino: Ovo je osnovni vodič koji podučava kako koristiti OLED ekran sa svojim Arduinom. Koristim ekran veličine 128x32, ali možete koristiti i drugačiju rezoluciju i promijeniti rezoluciju/koordinate prema potrebi. U ovom dijelu ću vam pokazati kako
Kako izmijeniti standardne Hot Wheels u R/C Hot Wheels: D: 6 koraka (sa slikama)
Kako izmijeniti standardne Hot Wheels u R/C Hot Wheels: D: Od malena volim Hot Wheels automobile. Dao mi je inspiraciju za dizajn fantastičnih vozila. Ovaj put su nadmašili sebe sa Star War Hot Wheels-om, C-3PO. Međutim, želim više od pukog guranja ili putovanja na stazi, odlučio sam: „L
Star Track - Arduino Powered Star Pointer i Tracker: 11 koraka (sa slikama)
Star Track - Arduino Powered Star Pointer i Tracker: Star track je Arduino sistem za praćenje zvijezda inspirisan GoTo montažom. Može usmjeriti i pratiti bilo koji objekt na nebu (nebeske koordinate date su kao ulaz) s 2 Arduina, žiroskopom, RTC modulom, dva jeftina koračna motora i 3D štampanom strukturom
Arduino Hot Wheels staza za brzinu - 1. dio - Prototip: 4 koraka
Arduino Hot Wheels Speed track - 1. dio - Prototip: Ne treba čuditi što moj sin voli vruće kotače i trka svojim automobilima po cijeloj kući! Jedna od njegovih omiljenih stvari je da se utrkuje sa svim svojim automobilima (sada ih ima više od 100) kako bi odredio koji je najbrži automobil. Trenutno sve to radi na oku, a