Sommario:
- Passaggio 1: sia MASTER che SLAVE nello stesso codice
- Passaggio 2: i moduli BLUETOOTH parlano tramite lettura e scrittura seriale
- Passaggio 3: controllare la gara
- Passaggio 4: il resto del codice
- Passaggio 5: cosa c'è dopo?
Video: Arduino Hot Wheels Speed Track Parte #2 - Codice: 5 Passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
Nella prima parte di questo progetto abbiamo realizzato l'hardware per il prototipo su 2 breadboard.
E in questa parte esamineremo il codice, come funziona e poi lo testeremo.
Assicurati di guardare il video qui sopra per l'intera revisione del codice e la presentazione del codice funzionante.
Passaggio 1: sia MASTER che SLAVE nello stesso codice
Il codice è in 2 parti, ma all'interno dello stesso file. Uso #define e #ifdef per determinare quale codice verrà compilato o ignorato in modo da poter separare qualsiasi codice solo per la breadboard MASTER e il codice solo per la breadboard SLAVE.
Fondamentalmente, se viene trovato il define MASTER, verrà compilato qualsiasi codice che si trova all'interno del blocco di codice MASTER e qualsiasi codice esterno a quel blocco verrà rimosso in fase di compilazione.
#ifdef MASTER
//Il codice specifico del master è qui
#altro
#define SLAVE
// Il codice specifico dello slave è qui
#finisci se
Sto anche usando la stessa tecnica per #define SLAVE quando MASTER viene compilato, quindi devi solo preoccuparti di definire MASTER o non abilitare SLAVE da definire.
Passaggio 2: i moduli BLUETOOTH parlano tramite lettura e scrittura seriale
In questo progetto solo la breadboard SLAVE parla con la breadboard MASTER. Il MASTER non risponde mai, ascolta solo e poi agisce sui dati in arrivo.
I moduli parlano e ascoltano utilizzando la classe Serial integrata nell'ecosistema di codifica Arduino.
I moduli Bluetooth comunicano a 38400 baud, quindi entrambi i percorsi di codice inizializzano le loro comunicazioni seriali utilizzando:
Serial.begin(38400);
E lo SLAVE usa:
Serial.write (dati qui);
Per parlare con il MASTER, e il MASTER usa:
data = Serial.read();
Per ascoltare il flusso seriale e leggerne il contenuto e memorizzarlo all'interno di una variabile.
Passaggio 3: controllare la gara
Lo SLAVE comunica al MASTER se è in modalità gara more o ready tramite il pulsante verde collegato al suo microcontrollore. In modalità ready i sensori IR non fanno nulla e il MASTER visualizzerà 8 trattini sul display per indicare che è in modalità ready.
Quando lo SLAVE dice al MASTER che sta per iniziare una gara, lo SLAVE inizia a interrogare i sensori IR sul suo lato (l'inizio della pista) per far passare le auto sotto.
Quando ogni auto passa sotto ogni sensore IR, invia un A (auto 1) o B (auto 2) al MASTER.
Quando il MASTER riceve un A o B, abilita il timer per quella specifica auto e poi attende che l'auto passi sotto il corrispondente sensore IR al traguardo.
Il display viene aggiornato ogni 50 ms per visualizzare l'ora corrente per ogni vettura in secondi con 2 decimali.
Una volta che entrambe le vetture hanno tagliato il traguardo, il MASTER decide quale vettura è stata la più veloce e lampeggia quel tempo sul display per indicare il vincitore.
Passaggio 4: il resto del codice
Il resto del codice è solo un codice di utilità che controlla la visualizzazione dei dati sul display a 8 cifre o gestisce la logica della pressione dei pulsanti, ecc.
Alla fine del video nella sezione introduttiva di questo progetto, mostro un esempio del codice in esecuzione sulle 2 breadboard, quindi assicurati di controllarlo!
Puoi prendere il codice per questo progetto dal mio repository github.
Passaggio 5: cosa c'è dopo?
Per ora è tutto… nella terza parte vedremo come spostare i componenti dalla breadboard a qualcosa di più permanente… restate sintonizzati!
Spero che questo progetto vi piaccia!
Seguimi su:
www.youtube.com/c/unexpectedmaker
twitter.com/unexpectedmaker
www.facebook.com/unexpectedmaker
www.instagram.com/unexpectedmaker
www.tindie.com/stores/seonr/
Consigliato:
Arduino Multi-track MIDI Loop Station: 6 passaggi
Arduino Multi-track MIDI Loop Station: una loop station, o un looper, è essenzialmente uno strumento per riprodurre in tempo reale i tuoi riff strumentali (loop). Non è inteso come un supporto di registrazione, ma uno strumento per plasmare l'ispirazione senza distrazioni (ed eventualmente esibirsi dal vivo…).Ther
Robot Mecanum Omni Wheels con motori passo-passo GRBL Arduino Shield: 4 passaggi
Robot Mecanum Omni Wheels con motori passo-passo GRBL Arduino Shield: Mecanum Robot - Un progetto che volevo realizzare da quando l'ho visto sul grande blog di meccatronica di Dejan: howtomechatronics.com Dejan ha fatto davvero un buon lavoro coprendo tutti gli aspetti dall'hardware, alla stampa 3D , elettronica, codice e un'app Android (MIT
Come Modificare Hot Wheels Standard in Hot Wheels R/C:D: 6 Passaggi (con Immagini)
Come modificare Hot Wheels standard in Hot Wheels R/C: D: Da quando ero un ragazzino, adoro le Hot Wheels Cars. Mi ha dato ispirazione per il design di veicoli fantasy. Questa volta si sono superati con la Star War Hot Wheels, C-3PO. Tuttavia, voglio qualcosa di più che spingere o viaggiare su una pista, ho deciso: "L
Star Track - Puntatore e tracker a stella alimentato da Arduino: 11 passaggi (con immagini)
Star Track - Puntatore e tracker a stella alimentato da Arduino: Star Track è un sistema di tracciamento delle stelle basato su Arduino e ispirato al montaggio GoTo. Può puntare e tracciare qualsiasi oggetto nel cielo (le coordinate celesti sono fornite come input) con 2 Arduino, un giroscopio, un modulo RTC, due motori passo-passo a basso costo e una struttura stampata in 3D
Pista di velocità Arduino Hot Wheels - Parte 1 - Prototipo: 4 passaggi
Arduino Hot Wheels Speed Track - Parte 1 - Prototipo: Non dovrebbe sorprendere il fatto che mio figlio ami le hot wheels e correre con le sue auto per tutta la casa! Una delle sue cose preferite da fare è correre su tutte le sue auto (più di 100 ora) per determinare qual è l'auto più veloce. In questo momento fa tutto a occhio e