Sadržaj:

Arduino Hot Wheels staza za brzine, dio #2 - Kod: 5 koraka
Arduino Hot Wheels staza za brzine, dio #2 - Kod: 5 koraka

Video: Arduino Hot Wheels staza za brzine, dio #2 - Kod: 5 koraka

Video: Arduino Hot Wheels staza za brzine, dio #2 - Kod: 5 koraka
Video: 35 видео со страшными призраками: мегасборник 2023 года [V1] 2024, Srpanj
Anonim
Image
Image

U prvom dijelu ovog projekta izgradili smo hardver za prototip na 2 ploče.

U ovom dijelu ćemo preći preko koda, kako radi, a zatim ga isprobati.

Svakako pogledajte gornji videozapis 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 ploču i kod koji je samo za SLAVE ploču.

U osnovi, ako se pronađe definirani MASTER, tada će se prevesti bilo koji kôd koji se nalazi unutar bloka MASTER koda i svaki kôd izvan tog bloka bit će uklonjen u vrijeme prevođenja.

#ifdef MAJSTOR

// Ovdje je glavni kod

#drugo

#definiraj SLOVE

// Ovdje je specifičan kod za slave

#završi ako

Istu tehniku koristim i za #definiranje SLAVE -a kada se sastavlja MASTER pa se trebate samo brinuti oko definiranja MASTER -a ili ne dopustili definiranje SLAVE -a.

Korak 2: Moduli BLUETOOTH razgovaraju putem serijskog čitanja i pisanja

U ovom projektu samo SLAVE matična ploča razgovara s MASTER pločicom. MASTER nikad ne odgovara, on samo sluša, a zatim djeluje na podatke koji dolaze.

Moduli razgovaraju i slušaju koristeći ugrađenu serijsku klasu u ekosustavu kodiranja Arduino.

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 ();

Slušati serijski tok i čitati njegov sadržaj te ga pohraniti unutar varijable.

Korak 3: Kontrola utrke

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 IC senzori ne rade ništa, a MASTER će na zaslonu prikazati 8 crtica kako bi pokazao 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 njih.

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 određeni automobil, a zatim čeka da automobil prođe ispod odgovarajućeg IR senzora na ciljnoj crti.

Zaslon se ažurira svakih 50 ms kako bi prikazao trenutno vrijeme za svaki automobil u sekundama s 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 zaslonu kako bi označio pobjednika.

Korak 4: Ostatak koda

Ostatak koda je samo usluž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!

Kôd za ovaj projekt možete preuzeti iz mog github repoa.

Korak 5: Što je sljedeće?

To je to za sada … u trećem dijelu pogledat ćemo premještanje komponenti s matične ploče na nešto trajnije … ostanite s nama!

Nadam se da uživate u ovom projektu!

Prati me na:

www.youtube.com/c/unexpectedmaker

twitter.com/unexpectedmaker

www.facebook.com/unexpectedmaker

www.instagram.com/unexpectedmaker

www.tindie.com/stores/seonr/

Preporučeni: