Taula de continguts:
- Pas 1: Tant MASTER com ESCLAU al mateix codi
- Pas 2: els mòduls BLUETOOTH parlen mitjançant lectura i escriptura en sèrie
- Pas 3: controlar la cursa
- Pas 4: la resta del codi
- Pas 5: què segueix?
Vídeo: Arduino Hot Wheels Speed Track Part 2 - Codi: 5 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
A la primera part d’aquest projecte vam construir el maquinari per al prototip en dues taules de suport.
I en aquesta part repassarem el codi, com funciona i després el provarem.
Assegureu-vos de veure el vídeo anterior per veure tota la revisió del codi i l’aparador del codi de treball.
Pas 1: Tant MASTER com ESCLAU al mateix codi
El codi està dividit en dues parts, però dins del mateix fitxer. Utilitzo #define i #ifdef per determinar quin codi es compilarà o ignorarà, de manera que puc separar qualsevol codi que sigui només per a la taula de proves MASTER i el codi que sigui només per a la taula de treball SLAVE.
Bàsicament, si es troba la definició MASTER, es compilarà qualsevol codi que estigui dins del bloc de codi MASTER i qualsevol codi que estigui fora d’aquest bloc s’eliminarà en el moment de la compilació.
#ifdef MASTER
// El codi específic principal està aquí
#else
#define ESCLAU
// El codi específic de l'esclau és aquí
#endif
També estic fent servir la mateixa tècnica per definir #SLAVE quan es compila MASTER, de manera que només us heu de preocupar de definir MASTER o de no definir SLAVE habilitat.
Pas 2: els mòduls BLUETOOTH parlen mitjançant lectura i escriptura en sèrie
En aquest projecte, només la taula de treball SLAVE parla amb la taula de treball MASTER. El MASTER no torna a parlar, només escolta i després actua sobre les dades que entren.
Els mòduls parlen i escolten mitjançant la classe Serial integrada a l’ecosistema de codificació Arduino.
Els mòduls Bluetooth es comuniquen a 38400 baud, de manera que tots dos camins de codi inicialitzen les seves comunicacions en sèrie mitjançant:
Serial.begin (38400);
I SLAVE utilitza:
Serial.write (dades aquí);
Per parlar amb el MASTER i el MASTER utilitza:
dades = Serial.read ();
Per escoltar el flux en sèrie i llegir-ne el contingut i emmagatzemar-lo dins d’una variable.
Pas 3: controlar la cursa
L'ESCLAVE li indica al MASTER si està en mode carrera més o llest mitjançant el botó verd connectat al seu microcontrolador. En mode llest, els sensors IR no fan res i el MASTER mostrarà 8 guions a la pantalla per indicar que està en mode llest.
Quan l’ESCLAVE li diu al MÀSTER que començarà una cursa, l’ESCLAVAT comença a sondear els sensors d’IR del seu costat (L’inici de la pista) perquè els cotxes passin per sota.
Quan cada cotxe passa per sota de cada sensor IR, envia un A (cotxe 1) o un B (cotxe 2) al MASTER.
Quan el MASTER rep una A o una B, habilita el temporitzador per a aquest cotxe específic i després espera que el cotxe passi per sota del sensor IR corresponent a la línia de meta.
La pantalla s’actualitza cada 50 ms per mostrar l’hora actual de cada cotxe en segons amb 2 decimals.
Una vegada que tots dos cotxes han arribat a la meta, el MASTER decideix quin és el cotxe més ràpid i llança aquest temps a la pantalla per indicar el guanyador.
Pas 4: la resta del codi
La resta del codi és només un codi d’utilitat que controla la visualització de dades a la pantalla de 8 dígits, o bé gestiona la lògica de premsat de botons, etc.
Al final del vídeo, a la secció d'introducció d'aquest projecte, mostro un exemple del codi que s'executa a les dues taules de suport, així que assegureu-vos de comprovar-ho.
Podeu agafar el codi d’aquest projecte a la meva reposició de github.
Pas 5: què segueix?
Això és tot per ara … a la tercera part, mirarem de moure els components de la taula de treball per aconseguir alguna cosa més permanent … estigueu atents!
Espero que gaudiu d’aquest projecte!
Segueix-me a:
www.youtube.com/c/unexpectedmaker
twitter.com/unexpectedmaker
www.facebook.com/unexpectedmaker
www.instagram.com/unexpectedmaker
www.tindie.com/stores/seonr/
Recomanat:
Arduino Multi-track MIDI Loop Station: 6 passos
Arduino Multi-track MIDI Loop Station: una estació de bucle, o un looper, és essencialment una eina per reproduir en temps real els vostres riffs instrumentals (bucles). No pretén ser un mitjà de gravació, sinó un instrument per modelar la inspiració sense distracció (i, finalment, actuar en directe …)
Robot Mecanum Omni Wheels amb escut Arduino per motors passos GRBL: 4 passos
Robot Mecanum Omni Wheels amb motors passos GRBL Arduino Shield: Mecanum Robot: un projecte que volia construir des que el vaig veure al bloc de mecatrònica de Dejan: howtomechatronics.com Dejan realment va fer un bon treball abastant tots els aspectes del maquinari i la impressió 3D , electrònica, codi i una aplicació per a Android (MIT
Com modificar Hot Wheels estàndard a Hot Wheels R / C: D: 6 passos (amb imatges)
Com modificar Hot Wheels estàndard a Hot Wheels R / C: D: Des de petit, m’encanten els cotxes Hot Wheels. Em va inspirar per dissenyar vehicles de fantasia. Aquesta vegada es van superar amb les Hot Wheels de Star War, C-3PO. No obstant això, vull més que empènyer o viatjar per una pista, vaig decidir: "L
Star Track: indicador i seguidor d’estrelles amb tecnologia Arduino: 11 passos (amb imatges)
Star Track - Arduino Powered Star Pointer and Tracker: Star track és un sistema de seguiment d’estrelles inspirat en GoTo, basat en Arduino. Pot assenyalar i rastrejar qualsevol objecte del cel (les coordenades celestes es donen com a entrada) amb 2 Arduinos, un giroscopi, un mòdul RTC, dos motors pas a pas de baix cost i una estructura impresa en 3D
Arduino Hot Wheels Speed Track - Part 1 - Prototip: 4 passos
Arduino Hot Wheels Speed Track - Primera part: prototip: no hauria de sorprendre que al meu fill li encantin les rodes calentes i les carreres dels seus cotxes per tota la casa. Una de les seves coses preferides és fer amb tots els seus cotxes (més de 100 ara) per determinar quin és el cotxe més ràpid. Ara mateix ho fa tot a ull i