Obsah:
- Krok 1: MASTER i SLAVE ve stejném kódu
- Krok 2: Moduly BLUETOOTH hovoří prostřednictvím sériového čtení a zápisu
- Krok 3: Ovládání závodu
- Krok 4: Zbytek kódu
- Krok 5: Co bude dál?
Video: Speed Track Arduino Hot Wheels Část 2 - Kód: 5 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
V první části tohoto projektu jsme vybudovali hardware pro prototyp na 2 prkénkách.
A v této části si projdeme kód, jak funguje, a poté ho vyzkoušíme.
Nezapomeňte se podívat na video výše, kde najdete celou recenzi kódu a ukázku pracovního kódu.
Krok 1: MASTER i SLAVE ve stejném kódu
Kód je rozdělen na 2 části, ale uvnitř stejného souboru. Používám #define a #ifdef k určení, který kód bude kompilován nebo ignorován, abych mohl oddělit jakýkoli kód, který je jen pro MASTER breadboard a kód, který je jen pro SLAVE breadboard.
V zásadě platí, že pokud je definován MASTER nalezen, bude zkompilován jakýkoli kód, který je umístěn v bloku kódu MASTER, a jakýkoli kód mimo tento blok bude při kompilaci odstraněn.
#ifdef MASTER
// Zde je hlavní kód
#jiný
#define SLAVE
// Zde je kód specifický pro slave
#endif
Stejnou technikou také používám #define SLAVE, když je MASTER sestaven, takže si musíte dělat starosti jen s definováním MASTERu, nebo není povoleno definovat SLAVE.
Krok 2: Moduly BLUETOOTH hovoří prostřednictvím sériového čtení a zápisu
V tomto projektu hovoří pouze SLAVE breadboard s MASTER breadboardem. MASTER nikdy nehovoří, pouze naslouchá a poté jedná podle vstupujících dat.
Moduly mluví a poslouchají pomocí vestavěné třídy Serial v kódovacím ekosystému Arduino.
Moduly Bluetooth komunikují rychlostí 38 400 baudů, takže obě cesty kódu inicializují svou sériovou komunikaci pomocí:
Serial.begin (38400);
A SLAVE používá:
Serial.write (data zde);
K rozhovoru s MASTEREM a MASTER používá:
data = Serial.read ();
Chcete -li poslouchat sériový proud, přečíst si jeho obsah a uložit jej do proměnné.
Krok 3: Ovládání závodu
SLAVE řekne MASTEROVI, zda je v závodním režimu nebo v režimu připravenosti, prostřednictvím zeleného tlačítka připojeného k jeho mikrořadiči. V pohotovostním režimu infračervené senzory nedělají nic a MASTER zobrazí na displeji 8 pomlček, což znamená, že je v režimu připravenosti.
Když SLAVE řekne MASTEROVI, že závod začne, SLAVE začne vyzvedávat infračervené senzory na jeho straně (začátek závodní dráhy), aby projížděla auta pod ním.
Jak každé auto projde pod každým IR senzorem, pošle A (auto 1) nebo B (auto 2) na MASTER.
Když MASTER obdrží A nebo B, aktivuje časovač pro toto konkrétní auto a poté čeká, až vůz projede pod odpovídajícím IR senzorem v cílové rovince.
Displej je aktualizován každých 50 ms, aby zobrazoval aktuální čas pro každé auto v sekundách se 2 desetinnými místy.
Jakmile obě auta dorazí do cíle, MASTER rozhodne, které auto bylo nejrychlejší, a na displeji bliká, aby označil vítěze.
Krok 4: Zbytek kódu
Zbytek kódu je pouze obslužný kód, který buď ovládá zobrazování dat na 8místném displeji, nebo zpracovává logiku stisknutí tlačítka atd.
Na konci videa v úvodní části tohoto projektu ukazuji příklad kódu běžícího na 2 prkénkách, takže si to určitě zkontrolujte!
Můžete získat kód pro tento projekt z mého github repo.
Krok 5: Co bude dál?
To je prozatím vše … v části 3 se podíváme na přesun komponent z prkénka na něco trvalejšího … zůstaňte naladěni!
Doufám, že se vám tento projekt líbí!
Následujte mě na:
www.youtube.com/c/unexpectedmaker
twitter.com/unexpectedmaker
www.facebook.com/unexpectedmaker
www.instagram.com/unexpectedmaker
www.tindie.com/stores/seonr/
Doporučuje:
Snadný BLE s velmi nízkým výkonem v Arduino Část 2 - Monitor teploty/vlhkosti - Rev 3: 7 kroků
Snadný velmi nízký výkon BLE v Arduinu Část 2 - Monitor teploty/vlhkosti - Rev 3: Aktualizace: 23. listopadu 2020 - První výměna 2 x baterií AAA od 15. ledna 2019, tj. 22 měsíců za 2xAAA Alkaline Aktualizace: 7. dubna 2019 - Rev. lp_BLE_TempHumidity, přidává grafy data/času pomocí pfodApp V3.0.362+a automatické škrcení
Arduino Multi-track MIDI Loop Station: 6 kroků
Arduino Multi-track MIDI Loop Station: Loop station, neboli looper, je v podstatě nástrojem pro přehrávání vašich instrumentálních riffů (smyček) v reálném čase. Není určen jako záznamové médium, ale jako nástroj k utváření inspirace bez rozptylování (a případně k živému vystoupení …)
Jak upravit standardní hot Wheels na Hot Wheels R/C: D: 6 kroků (s obrázky)
Jak upravit standardní Hot Wheels na R/C Hot Wheels: D: Od malička miluji Hot Wheels Cars. Dalo mi to inspiraci pro design fantasy vozidel. Tentokrát překonali sami sebe Star War Hot Wheels, C-3PO. Chci však víc než jen tlačit nebo cestovat po trati, rozhodl jsem se: „L
Star Track - Arduino Powered Star Pointer and Tracker: 11 kroků (s obrázky)
Star Track - Arduino Powered Star Pointer and Tracker: Star Track je Arduino založený, GoTo -mount inspirovaný systém sledování hvězd. Může ukazovat a sledovat jakýkoli objekt na obloze (nebeské souřadnice jsou uvedeny jako vstup) pomocí 2 Arduinos, gyroskopu, modulu RTC, dvou levných krokových motorů a 3D tištěné struktury
Speed Track Arduino Hot Wheels - Část 1 - Prototyp: 4 kroky
Speed Track Arduino Hot Wheels - Část 1 - Prototyp: Nemělo by být překvapením, že můj syn miluje hot Wheels a závodí se svými vozy po celém domě! Jednou z jeho nejoblíbenějších věcí je závodit se všemi svými vozy (nyní více než 100), aby určil, které auto je nejrychlejší. Právě teď to všechno dělá od oka a