Tartalomjegyzék:
- 1. lépés: A MASTER és a SLAVE is ugyanabban a kódban
- 2. lépés: A BLUETOOTH modulok soros olvasás és írás útján beszélnek
- 3. lépés: A verseny irányítása
- 4. lépés: A kód többi része
- 5. lépés: Mi a következő lépés?
Videó: Arduino Hot Wheels Speed Track 2. rész - kód: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
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:
Arduino-tomation 5. rész: LE TUNNEL DE CHAUFFE: 4 lépés
Arduino-tomation 5. rész: LE TUNNEL DE CHAUFFE: Két hónappal ezelőtt úgy döntöttem, hogy utólag beszerelök egy kis, elfelejtett rendszert, amelyet abban a helyen, ahol dolgozom, a haditeremben tárolnak. Ezt a rendszert úgy készítették, hogy felmelegítsék és felmelegítsék az elektronikus eszközöket, vagy bármit, amit különleges magas hőmérsékletre helyeztek. ellenálljon a szállítószalagnak. Így létrehoztam néhányat a
Arduino-tomation 4. rész: TRI DE BRIQUE: 5 lépés
Arduino-tomation 4. rész: TRI DE BRIQUE: Ebben az utasításban egy másik gépről fogok beszélni, amelyet egy Atmega1284p-ből készült Arduino klónlap gondoskodik. Ez a tábla támogathatja az ethernet pajzsot, és felügyelheti egy SCADA (AdvancedHMI, Unigo) vagy egy ipari
Arduino LTC6804 BMS - 2. rész: Kiegyenlítő tábla: 5 lépés
Arduino LTC6804 BMS - 2. rész: Kiegyensúlyozó tábla: Az 1. rész itt található Az Akkumulátor -kezelő rendszer (BMS) magában foglalja az akkumulátor fontos paramétereinek érzékelését, beleértve a cellafeszültséget, az akkumulátoráramot, a cellahőmérsékletet stb. meghatározott tartományban a csomag diszkó lehet
Hogyan lehet a normál Hot Wheels -t R/C Hot Wheels -re módosítani: D: 6 lépés (képekkel)
Hogyan lehet a normál Hot Wheels -t R/C Hot Wheels -re módosítani: D: Gyerekkorom óta szeretem a Hot Wheels Cars -t. Inspirációt adott a fantasy járművek tervezéséhez. Ezúttal a Star War Hot Wheels, C-3PO-val felülmúlták magukat. Mindazonáltal többet akarok, mint pusztázni vagy utazni egy pályán, úgy döntöttem: „L
Arduino Hot Wheels Speed Track - 1. rész - Prototípus: 4 lépés
Arduino Hot Wheels Speed Track - 1. rész - Prototípus: Nem lehet meglepő, hogy a fiam szereti a forró kerekeket és száguldozik autóival az egész házban! Az egyik kedvenc dolga az, hogy lehajtja az összes autóját (több mint 100 -at), hogy megállapítsa, melyik a leggyorsabb autó. Jelenleg mindezt szemmel teszi, és