Sisällysluettelo:
- Vaihe 1: Sekä MASTER että SLAVE samassa koodissa
- Vaihe 2: BLUETOOTH -moduulit puhuvat sarjaliikenteen luku- ja kirjoitustoiminnon kautta
- Vaihe 3: Kilpailun hallinta
- Vaihe 4: Loput koodista
- Vaihe 5: Mitä seuraavaksi?
Video: Arduino Hot Wheels Speed Track Osa #2 - Koodi: 5 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Projektin ensimmäisessä osassa rakensimme prototyypin laitteiston kahdelle leipälevylle.
Ja tässä osassa käymme läpi koodin, miten se toimii ja sitten testataan sitä.
Muista katsoa yllä oleva video koko koodin tarkastelu ja esittely työkoodista.
Vaihe 1: Sekä MASTER että SLAVE samassa koodissa
Koodi on kahdessa osassa, mutta saman tiedoston sisällä. Käytän #define- ja #ifdef -ohjelmia määrittääkseni, mikä koodi kootaan tai jätetään huomiotta, jotta voin erottaa minkä tahansa koodin, joka on tarkoitettu vain MASTER -leipälevylle, ja koodin, joka on tarkoitettu vain SLAVE -leipälevylle.
Periaatteessa, jos MASTER -määritelmä löytyy, kaikki MASTER -koodilohkon sisällä olevat koodit kootaan ja kaikki lohkon ulkopuoliset koodit poistetaan käännösaikana.
#ifdef MASTER
// Pääkohtainen koodi on tässä
#muu
#määritä orja
// Orjakohtainen koodi on tässä
#loppu Jos
Käytän samaa tekniikkaa myös #define SLAVE: n määrittämiseen, kun MASTER kootaan, joten sinun tarvitsee vain huolehtia MASTERin määrittämisestä tai olla ottamatta käyttöön sallittua SLAVEa.
Vaihe 2: BLUETOOTH -moduulit puhuvat sarjaliikenteen luku- ja kirjoitustoiminnon kautta
Tässä projektissa vain SLAVE -leipälauta puhuu MASTER -leipälevylle. MASTER ei koskaan puhu takaisin, se vain kuuntelee ja toimii sitten saapuvien tietojen perusteella.
Moduulit puhuvat ja kuuntelevat Arduinon koodausekosysteemin sisäänrakennetun sarjaluokan avulla.
Bluetooth -moduulit kommunikoivat 38400 baudilla, joten molemmat koodipolut alustavat sarjaliikenteen käyttämällä:
Sarja.alku (38400);
Ja orja käyttää:
Serial.write (tiedot tässä);
Puhuminen MASTERille, ja MASTER käyttää:
data = Serial.read ();
Voit kuunnella sarjavirtaa ja lukea sen sisältöä ja tallentaa sen muuttujan sisälle.
Vaihe 3: Kilpailun hallinta
SLAVE ilmoittaa MASTERille, onko se kilpailussa enemmän tai valmiustilassa sen mikro-ohjaimeen liitetyn vihreän painikkeen kautta. Valmiustilassa IR -anturit eivät tee mitään ja MASTER näyttää 8 viivaa näytössä osoittaakseen olevansa valmiustilassa.
Kun SLAVE kertoo MASTERILLE, että kilpailu on alkamassa, SLAVE alkaa kyseenalaistaa sen puolella olevia IR -antureita (kilparadan alku) autojen ohittamiseksi alla.
Kun jokainen auto kulkee jokaisen IR -anturin alle, se lähettää A (auto 1) tai B (auto 2) MASTERille.
Kun MASTER vastaanottaa arvon A tai B, se ottaa ajastimen käyttöön kyseisessä autossa ja odottaa sitten auton kulkua vastaavan infrapuna -anturin alla maalissa.
Näyttö päivitetään 50 ms välein näyttämään kunkin auton nykyinen aika sekunteina 2 desimaalin tarkkuudella.
Kun molemmat autot ovat saavuttaneet maalilinjan, MASTER päättää, mikä auto oli nopein, ja vilkkuu tuolloin näytöllä voittajan osoittamiseksi.
Vaihe 4: Loput koodista
Loput koodista ovat vain apuohjelmakoodia, joka joko ohjaa tietojen näyttämistä 8 -numeroisessa näytössä tai käsittelee painikkeiden logiikkaa jne.
Tämän projektin johdanto -osan videon lopussa näytän esimerkin kahdella leipälevyllä toimivasta koodista, joten tarkista se!
Voit noutaa tämän projektin koodin github -repostani.
Vaihe 5: Mitä seuraavaksi?
Siinä se nyt … osassa 3 tarkastelemme komponenttien siirtämistä leipälevyltä ja jotain pysyvämpää… pysy kuulolla!
Toivottavasti pidät tästä projektista!
Seuraa minua:
www.youtube.com/c/unexpectedmaker
twitter.com/unexpectedmaker
www.facebook.com/unexpectedmaker
www.instagram.com/unexpectedmaker
www.tindie.com/stores/seonr/
Suositeltava:
Arduino-tomation Osa 5: LE TUNNEL DE CHAUFFE: 4 vaihetta
Arduino-tomation Osa 5: LE TUNNEL DE CHAUFFE: Kaksi kuukautta sitten päätin asentaa jälkikäteen pienen unohdetun järjestelmän, joka on tallennettu sen paikan sotataloon, jossa työskentelen. Tämä järjestelmä tehtiin lämmittämään ja lämmittämään elektronisia laitteita tai mitä tahansa erityistä korkeaa lämpötilaa vastustaa kuljetinhihnaa.Niinpä loin joitakin
Arduino-tomation Osa 4: TRI DE BRIQUE: 5 vaihetta
Arduino-tomation Osa 4: TRI DE BRIQUE: Tässä käyttöohjeessa kerron sinulle toisesta koneesta, joka on jälkiasennettu ja jota ohjaa Arduino-kloonilevy, joka on valmistettu Atmega1284p: stä. Tämä levy voi tukea ethernet -suojaa, ja sitä voi valvoa SCADA (AdvancedHMI, Unigo) tai teollinen
Arduino Multi-track MIDI Loop Station: 6 vaihetta
Arduino-moniraitainen MIDI-silmukka-asema: Silmukka-asema tai silmukka on lähinnä työkalu instrumentaalisten riffien (silmukoiden) toistamiseen reaaliajassa. Sitä ei ole tarkoitettu tallennusvälineeksi, vaan välineeksi inspiraation muokkaamiseen häiritsemättä (ja lopulta esiintymään suorana …)
Kuinka muuttaa vakio Hot Wheels R/C Hot Wheelsiksi: D: 6 vaihetta (kuvilla)
Kuinka muuttaa vakio Hot Wheels R/C Hot Wheelsiksi: D: Pienestä lapsesta lähtien rakastan Hot Wheels Carsia. Se antoi minulle inspiraatiota fantasia -ajoneuvojen suunnitteluun. Tällä kertaa he ylittivät itsensä Star War Hot Wheels, C-3PO. Haluan kuitenkin enemmän kuin vain työntää tai matkustaa radalla, päätin:”L
Arduino Hot Wheels Speed Track - Osa 1 - Prototyyppi: 4 vaihetta
Arduino Hot Wheels Speed Track - Osa 1 - Prototyyppi: Ei pitäisi olla yllätys, että poikani rakastaa kuumia pyöriä ja kilpa -autoja ympäri taloa! Yksi hänen suosikkiasioistaan on kilpailla kaikista autoistaan (nyt yli 100) selvittääkseen, mikä on nopein auto. Juuri nyt hän tekee kaiken silmällä ja