In meiner neuen Rubrik der Programmierung von einfachen bis komplexen Spielen mit dem Arduino möchte ich das wohl bekannteste elektronische Spiel “Der heiße Draht” vorstellen.
Eigentlich benötigt man für dieses kleine Spiel keinen Arduino, aber für einige Features möchte ich natürlich darauf nicht verzichten.
Ablauf des Spiels
Der Ablauf ist relativ einfach. Es wird auf einem blanken Kabel welches an einer Niederspannung (<12V) angeschlossen ist ein kleiner Stift mit einem Ring geführt. Das Ziel ist es dabei von Anfang bis Ende des Parkuour zu gelangen ohne den Stromkreis zu schließen. Sollte der Stromkreis geschlossen werden, so wird eine kleine Lampe und / oder ein Signalhorn ertönen.
Aufbau des Spielbretts
Das Spielbrett besteht bei mir aus einem einfachen, 30cm langen und 5cm breiten Holzbrettes. In dieses Brett habe ich hinten und vorne ein 2,5mm Lochgebohrt. Auf der Rückseite habe ich zusätzlich das Loch auf 8mm breite und ca. 5mm tiefe erweitert.
Durch die beiden Löcher stecken wir das 2,5mm Kupferkabel und verdrehen die Enden mit einer Rundzange zu einer kleinen Schnecke. Diese kleine Schnecke stecken wir nun in die 8mm Aussparung somit kippelt unser Brett nicht auf dem Tisch.
Das Kupferkabel kann nun frei zu einer Bahn gebogen werden.
Kupfer ist ein sehr weiches Material, aber ist auch sehr spröde d.h. wenn man es zu oft hin und her biegt dann kann es brechen.
Daher immer etwas vorsichtig sein!
Verbinden der Kabel
Wenn die Bahn erstellt wurde so muss noch ein Kontakt für unsere Schaltung hergestellt werden. Hierfür benötigen erst einmal etwas Schleifpapier damit wir das Kupferkabel an einer Stelle säubern. Wenn die Stelle blitz blank ist streichen wir mit einem kleinen Pinsel etwas Lötfett darauf. Das Fett wird später dazu benötigt das wir Lötzinn drauf anbringen können.
Da das Kupferkabel mit einem Querschnitt von 2,5mm schon recht Stark ist empfehle ich dafür einen 30 Watt Lötkolben, dieser erhitzt das Kabel schneller und der Lötvorgang ist sauberer. (Aber es klappt auch mit einem 15 Watt Lötkolben.)
der Stick
Als Stick benutze ich zunächst ein Rundholz mit 8mm Durchmesser und ca. 10cm länge. Dieses gibt es als Meterware für knapp 1€ im Baumarkt.
Zusätzlich wird natürlich noch ein Kupferkabel von ca. 15cm benötigt. An einem Ende des Kabels biegen wie einen kleinen Kreis welcher später auf unsere Bahn gefädelt wird.
Am anderen Ende löten wir wiederum ein Kabel an. Wenn dieses erledigt ist, so wird das Kupferkabel an das Rundholz mit Isolierband geklebt.
Version 1 – einfacher Aufbau ohne Schnickschnack
Die erste Version welche ich vorstellen möchte ist ohne viel Schnicktschnack. Denn wenn man sich die Funktion mal genauer anschaut, so benötigen wir nur einen Schalter und einen akustischen wie optischen Zeiger das der Stromkreis geschlossen ist. Dafür benötigt man wahrlich keinen Microcontroller.
benötigte Bauteile
- 1x LED, 5mm
- 1x Vorwiderstand 220 Ohm,
- 1x Piezo Buzzer,
- 1x Breadboard 400 Pin
- 1x Stromversorgung für Breadboard,
- 1x 9V Blockbatterie inkl. Adapter mit Hohlstecker
Aufbau der Schaltung
In dem Video kommt die eigentliche Tonhöhe und Lautstärke nicht zur Geltung. Diese ist doch schon sehr stark.
Die eingesetzte Hupe wird normalerweise in Alarmanlagen verwendet.
Version 2 – einfacher Aufbau mit Microcontroller
In dieser Version bauen wir uns eine kleine Schaltung auf und programmieren das Spiel.
Für den Aufbau benötigen wir:
- einen Microcontroller,
- eine LED,
- einen Vorwiderstand von 220 Ohm für die LED,
- einen 10kOhm Widerstand (für den Taster),
- einen Piezo Buzzer,
- ein 400 Pin Breadboard,
- Breadboardkabel
Aufbau & Schaltung
Quellcode
#include <Bounce2.h> //Taster #define BTN 4 //Anzeige für den Kontakt #define LED 2 #define BUZZER 3 Bounce btnBouncer = Bounce(BTN, 50); void setup() { pinMode(BTN, INPUT); pinMode(LED, OUTPUT); pinMode(BUZZER, OUTPUT); digitalWrite(BTN, HIGH); } void loop() { btnBouncer.update(); //Wenn der Kontakt geschlossen ist, //also ein Wechsel von LOW auf HIGH stattgefunden hat //dann... if (btnBouncer.rose()) { digitalWrite(LED, HIGH); //LED aktivieren tone(BUZZER, 900); //Ton aktivieren, in einer Frequenz 900 Hz delay(350); //kleine Pause von 350ms } else { //ansonsten digitalWrite(LED, LOW); //LED deaktivieren noTone(BUZZER); //Ton deaktivieren } }
erstes Fazit
Die ersten beiden Versionen des Spiels sind schnell aufgebaut.
Vor allem werden für dieses Spiel nicht viele Komponenten benötigt und wenn doch sind diese günstig zu beziehen.
Als nächstes wird es nun ein erweiterte Version geben mit welcher wir die Zeit stoppen können.
Also bleibe doch dran und schaue die Tage noch einmal rein…