Tartalomjegyzék:

Arduino Hot Wheels Speed Track 2. rész - kód: 5 lépés
Arduino Hot Wheels Speed Track 2. rész - kód: 5 lépés

Videó: Arduino Hot Wheels Speed Track 2. rész - kód: 5 lépés

Videó: Arduino Hot Wheels Speed Track 2. rész - kód: 5 lépés
Videó: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Július
Anonim
Image
Image

A projekt első részében 2 kenyérpályán építettük fel a prototípus hardverét.

És ebben a részben áttekintjük a kódot, hogyan működik, majd teszteljük.

Feltétlenül nézze meg a fenti videót a teljes kód felülvizsgálatához és a működő kód bemutatásához.

1. lépés: A MASTER és a SLAVE is ugyanabban a kódban

A kód két részből áll, de ugyanabban a fájlban. A #define és az #ifdef használatával határozzam meg, hogy melyik kód kerül lefordításra vagy figyelmen kívül hagyásra, így elkülöníthetek minden olyan kódot, amely csak a MASTER kenyértáblához és a csak a SLAVE kenyértáblához való.

Alapvetően, ha megtaláljuk a MASTER definíciót, akkor a MASTER kódblokkon belül található összes kódot lefordítjuk, és a blokkon kívüli kódokat a fordítás idején eltávolítjuk.

#ifdef MESTER

// A mesterspecifikus kód itt található

#más

#define SZOLGÁS

// A szolga specifikus kódja itt található

#endif

Ugyanezt a technikát használom a SZOLGÁLAT #define meghatározásához is, amikor a MASTER össze van állítva, így csak a MASTER definiálásán kell aggódnia, vagy nem kell engedélyeznie a SLAVE -t.

2. lépés: A BLUETOOTH modulok soros olvasás és írás útján beszélnek

Ebben a projektben csak a SLAVE kenyértábla beszél a MASTER kenyérpaddal. A MESTER soha nem beszél vissza, csak hallgat, majd cselekszik a beérkező adatok alapján.

A modulok az Arduino kódoló ökoszisztéma beépített soros osztályával beszélnek és hallgatnak.

A Bluetooth -modulok 38400 baudon kommunikálnak, így mindkét kódút inicializálja a soros kommunikációt a következők használatával:

Sorozat.kezdet (38400);

A SLAVE pedig a következőket használja:

Serial.write (adatok itt);

A MESTERrel való beszélgetéshez a MASTER a következőket használja:

adatok = Serial.read ();

A soros adatfolyam hallgatása, tartalmának elolvasása és tárolása egy változóban.

3. lépés: A verseny irányítása

A SLAVE a mikrovezérlőhöz csatlakoztatott zöld gombbal tájékoztatja a MESTER-t, ha versenyen van vagy készenléti üzemmódban van. Készenléti üzemmódban az infravörös érzékelők nem tesznek semmit, és a MASTER 8 kötőjelet jelenít meg a kijelzőn, jelezve, hogy készenléti módban van.

Amikor a SZOLGÁS közli a Mesterrel, hogy verseny kezdődik, a SZOLGÁS elkezdi lekérdezni az oldalán található infravörös érzékelőket (A versenypálya kezdete), hogy az autók elhaladjanak alatta.

Ahogy minden autó áthalad az egyes infravörös érzékelők alatt, A -t (1 -es autó) vagy B -t (2 -es autó) küld a MASTER -nek.

Amikor a MASTER A vagy B jelzést kap, engedélyezi az adott autó időzítőjét, majd megvárja, amíg az autó elhalad a megfelelő infravörös érzékelő alatt a célban.

A kijelzőt 50 ms -onként frissítik, hogy másodpercenként 2 tizedesjegy jelenítse meg az egyes autók aktuális idejét.

Miután mindkét autó elérte a célvonalat, a MESTER eldönti, melyik autó volt a leggyorsabb, és ekkor villog a kijelzőn, jelezve a győztest.

4. lépés: A kód többi része

A kód többi része csak segédprogram kód, amely vagy vezérli az adatok megjelenítését a 8 számjegyű kijelzőn, vagy kezeli a gombnyomás logikáját stb.

Ennek a projektnek a bevezető részében található videó végén mutatok egy példát a 2 kenyértáblán futó kódra, ezért feltétlenül nézze meg!

Ennek a projektnek a kódját lekérheti a github repóból.

5. lépés: Mi a következő lépés?

Egyelőre ennyi … a 3. részben megvizsgáljuk, hogyan kell az alkatrészeket eltávolítani a kenyértábláról és valami tartósabbra … maradjon velünk!

Remélem, élvezni fogja ezt a projektet!

Kövess engem:

www.youtube.com/c/unexpectedmaker

twitter.com/unexpectedmaker

www.facebook.com/unexpectedmaker

www.instagram.com/unexpectedmaker

www.tindie.com/stores/seonr/

Ajánlott: