Innehållsförteckning:
- Steg 1: Både MASTER och SLAVE i samma kod
- Steg 2: BLUETOOTH -moduler Tal via seriell läsning och skrivning
- Steg 3: Kontrollera loppet
- Steg 4: Resten av koden
- Steg 5: Vad är nästa?
Video: Arduino Hot Wheels Speed Track Part #2 - Kod: 5 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
I den första delen av detta projekt byggde vi upp hårdvaran för prototypen på 2 brödbrädor.
Och i den här delen kommer vi att gå igenom koden, hur den fungerar och sedan testa den.
Se till att titta på videon ovan för hela kodgranskningen och presentationen av arbetskoden.
Steg 1: Både MASTER och SLAVE i samma kod
Koden är i två delar, men inne i samma fil. Jag använder #define och #ifdef för att avgöra vilken kod som ska sammanställas eller ignoreras så att jag kan skilja alla koder som bara är för MASTER -brödbrädan och koden som är bara för SLAVE -brödbrädet.
I grund och botten, om definiera MASTER hittas, kommer varje kod som sitter inuti MASTER -kodblocket att kompileras och eventuell kod utanför det blocket kommer att tas bort vid kompileringstidpunkten.
#ifdef MASTER
// Master specifik kod finns här
#annan
#define SLAVE
// Slavspecifik kod finns här
#endif
Jag använder också samma teknik för att #definera SLAVE när MASTER är sammanställd så du behöver bara oroa dig för att definiera MASTER eller inte för att aktivera SLAVE ska definieras.
Steg 2: BLUETOOTH -moduler Tal via seriell läsning och skrivning
I detta projekt talar bara SLAVE -brödbrädan till MASTER -brödbrädan. MASTERN pratar aldrig tillbaka, den lyssnar bara och agerar sedan på data som kommer in.
Modulerna pratar och lyssnar med den inbyggda serieklassen i Arduino -kodningens ekosystem.
Bluetooth -moduler kommunicerar med 38400 baud, så båda kodvägarna initierar sin seriella kommunikation med:
Serial.begin (38400);
Och SLAVEN använder:
Serial.write (data här);
För att prata med MASTER, och MASTER använder:
data = Serial.read ();
För att lyssna på serieströmmen och läsa dess innehåll och lagra den i en variabel.
Steg 3: Kontrollera loppet
SLAVEN berättar för MASTERN om den är i tävlingsläge eller klarläge via den gröna knappen som är ansluten till dess mikrokontroller. I redo -läget gör IR -sensorerna ingenting och MASTER visar 8 streck på displayen för att indikera att den är i redo -läge.
När SLAVEN säger till MASTERN att ett lopp kommer att börja, SLAVEN börjar polla IR -sensorerna på dess sida (starten på racerbanan) för bilar att passera under.
När varje bil passerar under varje IR -sensor skickar den en A (bil 1) eller B (bil 2) till MASTER.
När MASTER får ett A eller B, aktiverar det timern för den specifika bilen och väntar sedan på att bilen ska passera under motsvarande IR -sensor vid mållinjen.
Displayen uppdateras var 50: e ms för att visa aktuell tid för varje bil i sekunder med 2 decimaler.
När båda bilarna har nått mållinjen bestämmer MASTER vilken bil som var snabbast och blinkar den gången på displayen för att indikera vinnaren.
Steg 4: Resten av koden
Resten av koden är bara verktygskod som antingen styr visning av data på den 8 -siffriga displayen, eller hanterar knapptryckningslogik etc.
I slutet av videon i introduktionsavsnittet i detta projekt visar jag ett exempel på koden som körs på de två brödbrädorna, så se till att kolla in det!
Du kan hämta koden för detta projekt från min github -repo.
Steg 5: Vad är nästa?
Det är det för nu … i del 3 kommer vi att titta på att flytta komponenterna från brödbrädan och över till något mer permanent … håll utkik!
Jag hoppas att du gillar det här projektet!
Följ mig på:
www.youtube.com/c/unexpectedmaker
twitter.com/unexpectedmaker
www.facebook.com/unexpectedmaker
www.instagram.com/unexpectedmaker
www.tindie.com/stores/seonr/
Rekommenderad:
Arduino Multi-track MIDI Loop Station: 6 steg
Arduino Multi-track MIDI Loop Station: En loopstation, eller en loopare, är i huvudsak ett verktyg för att spela upp dina instrumentalriff (loops) i realtid. Det är inte tänkt som ett inspelningsmedium, utan ett instrument för att forma inspirationen utan distraktion (och så småningom uppträda live …). Ther
Hur man ändrar vanliga Hot Wheels till R/C Hot Wheels: D: 6 steg (med bilder)
Hur man ändrar vanliga Hot Wheels till R/C Hot Wheels: D: Sedan jag var liten älskar jag Hot Wheels Cars. Det gav mig inspiration för designfantastiska fordon. Den här gången överträffade de sig själva med Star War Hot Wheels, C-3PO. Jag vill dock mer än att bara skjuta eller resa på ett spår, jag bestämde mig,”L
Star Track - Arduino Powered Star Pointer and Tracker: 11 steg (med bilder)
Star Track - Arduino Powered Star Pointer and Tracker: Star track är ett Arduino -baserat, GoTo -mount inspirerat stjärnspårningssystem. Den kan peka och spåra alla föremål på himlen (Himmelskoordinater anges som inmatning) med 2 Arduinos, en gyro, RTC-modul, två billiga stegmotorer och en 3D-utskriven struktur
Arduino Hot Wheels Speed Track - Del 1 - Prototyp: 4 steg
Arduino Hot Wheels Speed Track - Del 1 - Prototyp: Det borde inte vara någon överraskning att min son älskar heta hjul och tävlar med sina bilar över hela huset! En av hans favorit saker att göra är att tävla av alla sina bilar (över 100 nu) för att avgöra vilken som är den snabbaste bilen. Just nu gör han allt för ögat, och
RC Power Wheels för min sons andra födelsedag !: 13 steg (med bilder)
RC Power Wheels för min sons andra födelsedag !: Jag har haft en dröm att RC-ify ett Power Wheel sedan jag var ungefär 10 år gammal. För några månader sedan gav en vän mig ett gammalt slag, använt-som-tugg-leksak, knappt fungerande Power Wheel. Jag bestämde mig för att få en barndomsdröm att gå i uppfyllelse och fullständigt se över