Indholdsfortegnelse:
- Trin 1: Både MASTER og SLAVE i samme kode
- Trin 2: BLUETOOTH -moduler Tal via seriel læsning og skrivning
- Trin 3: Kontrol af løbet
- Trin 4: Resten af koden
- Trin 5: Hvad er det næste?
Video: Arduino Hot Wheels Speed Track Part #2 - Kode: 5 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
I den første del af dette projekt opbyggede vi hardware til prototypen på 2 brødbrætter.
Og i denne del vil vi gå over koden, hvordan den fungerer og derefter teste den.
Sørg for at se videoen ovenfor for hele kodeoversigten og fremvisning af arbejdskoden.
Trin 1: Både MASTER og SLAVE i samme kode
Koden er i 2 dele, men inde i den samme fil. Jeg bruger #define og #ifdef til at bestemme, hvilken kode der skal kompileres eller ignoreres, så jeg kan adskille enhver kode, der kun er til MASTER -brødbrættet, og kode, der kun er til SLAVE -brødbrættet.
Grundlæggende, hvis definere MASTER findes, vil enhver kode, der sidder inde i MASTER -kodeblokken, blive kompileret, og enhver kode uden for denne blok vil blive fjernet på kompileringstidspunktet.
#ifdef MASTER
// Master specifik kode er her
#andet
#define SLAVE
// Slave -specifik kode er her
#Afslut Hvis
Jeg bruger også den samme teknik til at #define SLAVE, når MASTER er udarbejdet, så du behøver kun at bekymre dig om at definere MASTER eller ikke aktivere SLAVE, der skal defineres.
Trin 2: BLUETOOTH -moduler Tal via seriel læsning og skrivning
I dette projekt taler kun SLAVE breadboard til MASTER breadboard. MASTER taler aldrig tilbage, den lytter kun og handler derefter på de data, der kommer ind.
Modulerne taler og lytter ved hjælp af den indbyggede serielle klasse i Arduino -kodende økosystem.
Bluetooth -moduler kommunikerer med 38400 baud, så begge kodeveje initialiserer deres serielle kommunikation ved hjælp af:
Serial.begin (38400);
Og SLAVEN bruger:
Serial.write (data her);
At tale med MASTER, og MASTER bruger:
data = Serial.read ();
For at lytte til seriel stream og læse dens indhold og gemme den i en variabel.
Trin 3: Kontrol af løbet
SLAVEN fortæller MASTEREN, om den er i race mere eller klar-tilstand via den grønne knap, der er sluttet til dens mikro-controller. I klar -tilstand gør IR -sensorerne ikke noget, og MASTER viser 8 streger på displayet for at angive, at den er i klar -tilstand.
Når SLAVEN fortæller MASTEREN, at et løb skal begynde, begynder SLAVEN at afstemme IR -sensorerne på dens side (starten på racerbanen), så biler kan passere nedenunder.
Når hver bil passerer under hver IR -sensor, sender den en A (bil 1) eller B (bil 2) til MASTEREN.
Når MASTER modtager et A eller B, aktiverer det timeren for den specifikke bil og venter derefter på, at bilen passerer under den tilsvarende IR -sensor ved målstregen.
Displayet opdateres hver 50 ms for at vise den aktuelle tid for hver bil i sekunder med 2 decimaler.
Når begge biler har ramt målstregen, bestemmer MASTER hvilken bil der var den hurtigste og blinker den gang på displayet for at angive vinderen.
Trin 4: Resten af koden
Resten af koden er bare hjælpekode, der enten styrer visning af data på det 8 -cifrede display, eller håndterer knappetryk logik osv.
I slutningen af videoen i introduktionsafsnittet i dette projekt viser jeg et eksempel på koden, der kører på de 2 brødbrætter, så sørg for at tjekke det ud!
Du kan få koden til dette projekt fra min github -repo.
Trin 5: Hvad er det næste?
Det er det for nu … i del 3 vil vi se på at flytte komponenterne fra brødbrættet og over på noget mere permanent … følg med!
Jeg håber du nyder dette projekt!
Følg mig på:
www.youtube.com/c/unexpectedmaker
twitter.com/unexpectedmaker
www.facebook.com/unexpectedmaker
www.instagram.com/unexpectedmaker
www.tindie.com/stores/seonr/
Anbefalede:
Arduino Multi-track MIDI Loop Station: 6 trin
Arduino Multi-track MIDI Loop Station: En loopstation eller en looper er i det væsentlige et værktøj til afspilning i realtid af dine instrumentale riffs (loops). Det er ikke tænkt som et optagemedie, men et instrument til at forme inspirationen uden distraktion (og i sidste ende optræde live …). Ther
Mecanum Omni Wheels Robot Med GRBL Stepper Motors Arduino Shield: 4 trin
Mecanum Omni Wheels Robot With GRBL Stepper Motors Arduino Shield: Mecanum Robot - Et projekt, jeg har ønsket at bygge lige siden jeg så det på Dejans gread mechatronics blog: howtomechatronics.com Dejan gjorde virkelig et godt stykke arbejde, der dækkede alle aspekter fra hardware, 3D -print , elektronik, kode og en Android -app (MIT
Sådan ændres Standard Hot Wheels til R/C Hot Wheels: D: 6 trin (med billeder)
Sådan ændres Standard Hot Wheels til R/C Hot Wheels: D: Siden jeg var lille, elsker jeg Hot Wheels Cars. Det gav mig inspiration til design fantasy -køretøjer. Denne gang overgik de sig selv med Star War Hot Wheels, C-3PO. Jeg vil dog mere end bare at skubbe eller rejse på et spor, jeg besluttede, “L
Star Track - Arduino Powered Star Pointer and Tracker: 11 trin (med billeder)
Star Track - Arduino Powered Star Pointer and Tracker: Star track er et Arduino baseret, GoTo -mount inspireret stjernesporingssystem. Det kan pege og spore ethvert objekt på himlen (Himmelske koordinater er angivet som input) med 2 Arduinos, en gyro, RTC-modul, to billige steppermotorer og en 3D-printet struktur
Arduino Hot Wheels Speed Track - Del 1 - Prototype: 4 trin
Arduino Hot Wheels Speed Track - Del 1 - Prototype: Det burde ikke være nogen overraskelse, at min søn elsker varme hjul og kører med sine biler i hele huset! En af hans foretrukne ting at gøre er at køre af med alle sine biler (over 100 nu) for at afgøre, hvilken der er den hurtigste bil. Lige nu gør han det hele med øjet, og