![Arduino Hot Wheels Speed Track Teil 2 - Code: 5 Schritte Arduino Hot Wheels Speed Track Teil 2 - Code: 5 Schritte](https://i.howwhatproduce.com/images/002/image-4945-45-j.webp)
Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-23 12:52
![Image Image](https://i.howwhatproduce.com/images/002/image-4945-47-j.webp)
![](https://i.ytimg.com/vi/P7c8ZG5DwfY/hqdefault.jpg)
Im ersten Teil dieses Projektes haben wir die Hardware für den Prototypen auf 2 Steckbrettern aufgebaut.
Und in diesem Teil werden wir den Code durchgehen, wie er funktioniert und ihn dann testen.
Sehen Sie sich das obige Video an, um die gesamte Codeüberprüfung und die Präsentation des funktionierenden Codes zu sehen.
Schritt 1: Sowohl MASTER als auch SLAVE im selben Code
Der Code besteht aus 2 Teilen, aber in derselben Datei. Ich verwende #define und #ifdef, um zu bestimmen, welcher Code kompiliert oder ignoriert wird, damit ich jeden Code trennen kann, der nur für das MASTER-Steckbrett und Code nur für das SLAVE-Steckbrett ist.
Grundsätzlich wird jeder Code, der sich innerhalb des MASTER-Codeblocks befindet, kompiliert, wenn der Define MASTER gefunden wird, und jeder Code außerhalb dieses Blocks wird zur Kompilierzeit entfernt.
#ifdef MEISTER
//Masterspezifischer Code ist hier drin
#anders
#sklave definieren
// Slave-spezifischer Code ist hier drin
#endif
Ich verwende die gleiche Technik auch, um SLAVE zu definieren, wenn MASTER kompiliert wird, sodass Sie sich nur darum kümmern müssen, MASTER zu definieren oder nicht, um SLAVE zu definieren.
Schritt 2: BLUETOOTH-Module sprechen über serielles Lesen und Schreiben
In diesem Projekt spricht nur das SLAVE-Steckbrett mit dem MASTER-Steckbrett. Der MASTER spricht nie zurück, er hört nur zu und reagiert dann auf die eingehenden Daten.
Die Module sprechen und hören mit der eingebauten Serial-Klasse im Arduino-Codierungsökosystem.
Bluetooth-Module kommunizieren mit 38400 Baud, daher initialisieren beide Codepfade ihre serielle Kommunikation mit:
Serial.begin (38400);
Und der SLAVE verwendet:
Serial.write (Daten hier);
Um mit dem MASTER zu sprechen, verwendet der MASTER:
Daten = Serial.read ();
Um den seriellen Stream abzuhören und seinen Inhalt zu lesen und ihn in einer Variablen zu speichern.
Schritt 3: Kontrolle des Rennens
Der SLAVE teilt dem MASTER über den mit seinem Mikrocontroller verbundenen grünen Knopf mit, ob er sich im Race-More- oder Ready-Modus befindet. Im Bereitschaftsmodus tun die IR-Sensoren nichts und der MASTER zeigt 8 Striche auf dem Display an, um anzuzeigen, dass er sich im Bereitschaftsmodus befindet.
Wenn der SLAVE dem MASTER mitteilt, dass ein Rennen beginnen wird, beginnt der SLAVE, die IR-Sensoren auf seiner Seite (dem Beginn der Rennstrecke) abzufragen, damit Autos darunter vorbeifahren können.
Wenn jedes Auto unter jedem IR-Sensor vorbeifährt, sendet es ein A (Auto 1) oder B (Auto 2) an den MASTER.
Wenn der MASTER ein A oder B erhält, aktiviert er den Timer für dieses spezifische Auto und wartet dann darauf, dass das Auto an der Ziellinie unter dem entsprechenden IR-Sensor vorbeifährt.
Die Anzeige wird alle 50 ms aktualisiert, um die aktuelle Uhrzeit für jedes Auto in Sekunden mit 2 Dezimalstellen anzuzeigen.
Sobald beide Autos die Ziellinie erreicht haben, entscheidet der MASTER, welches Auto das schnellste war und blinkt diese Zeit auf dem Display, um den Sieger anzuzeigen.
Schritt 4: Der Rest des Codes
Der Rest des Codes ist nur ein Utility-Code, der entweder die Anzeige von Daten auf dem 8-stelligen Display steuert oder die Tastendrucklogik usw.
Am Ende des Videos im Intro-Abschnitt dieses Projekts zeige ich ein Beispiel für den Code, der auf den 2 Steckbrettern ausgeführt wird, also überprüfen Sie das unbedingt!
Sie können den Code für dieses Projekt aus meinem Github-Repository abrufen.
Schritt 5: Was kommt als nächstes?
Das war's für den Moment… in Teil 3 werden wir uns ansehen, wie wir die Komponenten vom Steckbrett auf etwas Dauerhafteres verschieben… bleiben Sie dran!
Ich hoffe, Sie genießen dieses Projekt!
Folge mir auf:
www.youtube.com/c/unexpectedmaker
twitter.com/unexpectedmaker
www.facebook.com/unexpectedmaker
www.instagram.com/unexpectedmaker
www.tindie.com/stores/seonr/
Empfohlen:
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 2 - Temperatur- / Feuchtigkeitsmonitor - Rev 3: 7 Schritte
![Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 2 - Temperatur- / Feuchtigkeitsmonitor - Rev 3: 7 Schritte Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 2 - Temperatur- / Feuchtigkeitsmonitor - Rev 3: 7 Schritte](https://i.howwhatproduce.com/images/001/image-1144-j.webp)
Easy Very Low Power BLE in Arduino Teil 2 – Temperatur-/Feuchtigkeitsmonitor – Rev 3: Update: 23. November 2020 – Erster Austausch von 2 x AAA-Batterien seit 15. Januar 2019 dh 22 Monate für 2x AAA AlkalineUpdate: 7. April 2019 – Rev 3 of lp_BLE_TempHumidity, fügt Datum/Uhrzeit-Plots hinzu, verwendet pfodApp V3.0.362+ und automatische Drosselung, wenn
Arduino Portable Workbench Teil 3: 11 Schritte
![Arduino Portable Workbench Teil 3: 11 Schritte Arduino Portable Workbench Teil 3: 11 Schritte](https://i.howwhatproduce.com/images/001/image-1638-41-j.webp)
Arduino Portable Workbench Teil 3: Wenn Sie sich die Teile 1, 2 und 2B angesehen haben, gab es bisher nicht viel Arduino in diesem Projekt, aber nur ein paar Platinendrähte usw muss gebaut werden, bevor der Rest funktioniert. Das ist die Elektronik und A
Tragbare Arduino-Workbench Teil 1: 4 Schritte
![Tragbare Arduino-Workbench Teil 1: 4 Schritte Tragbare Arduino-Workbench Teil 1: 4 Schritte](https://i.howwhatproduce.com/images/002/image-5377-12-j.webp)
Portable Arduino Workbench Teil 1: Mehrere Projekte im Flug zu haben bedeutet, dass ich schnell desorganisiert werde und das Bild meines Schreibtisches zeigt, was passieren kann. Nicht nur dieser Schreibtisch, ich habe eine Kabine, die in einem ähnlichen Zustand endet, und eine Holzwerkstatt wie, wenn auch aufgeräumter, Elektrowerkzeuge
So ändern Sie Standard-Hot Wheels zu R / C Hot Wheels: D - Gunook
![So ändern Sie Standard-Hot Wheels zu R / C Hot Wheels: D - Gunook So ändern Sie Standard-Hot Wheels zu R / C Hot Wheels: D - Gunook](https://i.howwhatproduce.com/images/005/image-12735-20-j.webp)
So ändern Sie Standard-Hot Wheels zu R / C Hot Wheels: D: Seit ich ein kleines Kind war, liebe ich Hot Wheels Cars. Es gab mir Inspiration für Design-Fantasy-Fahrzeuge. Diesmal übertrafen sie sich selbst mit den Star War Hot Wheels, C-3PO. Ich möchte jedoch mehr als nur schieben oder auf einer Strecke fahren, ich entschied mich: „L
Arduino Hot Wheels Speed Track - Teil 1 - Prototyp - Gunook
![Arduino Hot Wheels Speed Track - Teil 1 - Prototyp - Gunook Arduino Hot Wheels Speed Track - Teil 1 - Prototyp - Gunook](https://i.howwhatproduce.com/images/002/image-5377-39-j.webp)
Arduino Hot Wheels Speed Track - Teil 1 - Prototyp: Es sollte keine Überraschung sein, dass mein Sohn Hot Wheels liebt und mit seinen Autos durch das ganze Haus fährt! Eine seiner Lieblingsbeschäftigungen ist es, mit all seinen Autos (jetzt über 100) Rennen zu fahren, um das schnellste Auto zu bestimmen. Im Moment macht er alles nach Augenmaß und