Bald ist Halloween, also bauen wir uns einen Arduino-Halloween-Geist. Dazu brauchen wir zwei LEDs, einen 220 Ohm Widerstand und einen Lautsprecher (z. B. einen Piezo oder Transducer – in den meisten Arduino-Starterkits enthalten). Die LEDs sind die schaurig blinkenden Augen, der Lautsprecher erzeugt gruselige Geräusche.
Schaltplan für den Halloween-Geist
Der Schaltplan ist recht einfach. Zwei parallel geschaltete LEDs sind mit einem Vorwiderstand von 220 Ohm (rot-rot-braun oder rot-rot-schwarz-schwarz) in Reihe geschaltet und mit dem digitalen Pin 12 vom Arduino-Board verbunden. Es ist wichtig, dass die LEDs den gleichen Innenwiderstand haben (normalerweise ist das bei gleichfarbigen LEDs der Fall), sonst leuchtet nur eine LED. Der Lautsprecher wird mit dem GND und dem digitalen Output-Pin 2 vom Arduino-Board verbunden.
Arduino-Code
Der Code erweckt in unregelmäßigen Abständen unseren Geist. Dieser blinkt dann mit den Augen und spielt eine Melodie ab.
const int ledPin = 12; const int speakerPin = 2; int einschaltZufall = 100; // je höher die Zahl, desto seltener wird ausgelöst int einschaltTimer = 0; int einschaltDauer = 1000; void setup() { pinMode(ledPin, OUTPUT); pinMode(speakerPin, OUTPUT); Serial.begin(9600); } void aufwachen() { for (int j = 0; j < 4; j++) { for (int i = 0; i < 20; i++) { digitalWrite(ledPin, HIGH); tone(speakerPin, 2600); delay(80); digitalWrite(ledPin, LOW); tone(speakerPin, 20); delay(10); } for (int i = 0; i < 20; i++) { digitalWrite(ledPin, HIGH); tone(speakerPin, 2300); delay(80); digitalWrite(ledPin, LOW); tone(speakerPin, 20); delay(10); } } } void loop() { int zufallsZahl = random(einschaltZufall); Serial.println(zufallsZahl); if (zufallsZahl == 0) { aufwachen(); } else { digitalWrite(ledPin, LOW); noTone(speakerPin); delay(50); } delay(10); }
Gucken wir noch einmal etwas genauer auf den Code. In der ersten Zeile im Loop wird eine Variable zufallsZahl per Zufall (random) errechnet. Der Wertebereich liegt zwischen 0 und dem Wert der Variablen einschaltZufall-1. Nun prüfen wir in der if-Abfrage, ob die zufallsZahl genau 0 ist. Das passiert per Zufall und kommt desto seltener vor, desto größer die Variable einschaltZufall ist.
Übrigens hab ich hier einen kleinen Überblick, wie man Arduino programmiert geschrieben.
Ausblick
Jetzt kannst du eine Geisterform aus Papier basteln und über die Teile des Breadboards legen, oder du baust einen Geist aus einem Laken und verlängerst die Kabel für die LEDs. Oder wie wäre es, wenn du einen Kürbis mit etwas Elektronik ausstattest? Denk dir was Cooles aus und schick mir ein Foto! hallo@starthardware.org
Wenn dir dieses Projekt gefällt, drücke doch auf den Like-Button. Das würde mich sehr freuen :-)
Titelfoto von Bong Grit, CC-BY-ND
Wenn dir das Projekt gefallen hat und du von weiteren interessanten Projekten inspiriert werden willst, sieh dir doch mal mein neues E-Book »Arduino Projekte Volume 1« an!
- Die beliebtesten Arduino-Projekte von StartHardware
- Inklusive Schaltplan, Beschreibung und Code
- Arduino-Schnellstart-Kapitel
- Kompakter Programmierkurs
Hi Stefan, danke für die schnelle Antwort. Ich habe den Fehler gefunden. Scheinbar sind die Verbindungen von mehreren Löchern des Breadboards unterbrochen.
Gruß Oli
Super! Das freut mich! Happy Halloween :-)
Hallo Stefan,
bei mir kommt kein Ton aus dem Lautsprecher. Die Anschlüsse habe ich jetzt mehrmals überprüft und sind identisch zu deiner Abbildung. Vielleicht kannst du oder jemand anderes weiterhelfen?
Gruß Oli
Hallo Oli, Fehlerquellen sind hier: dass die Kabel auf dem Breadboard nicht genau im richtigen Loch zum Speaker stecken, dass der Speaker falsch herum betrieben wird – schließe den Speaker einfach mal anders herum an, dass der Speaker kaputt ist, dass der Code nicht auf das Arduino-Board übertragen wurde. Wenn das nicht hilft, schick mir mal ein Foto der Schaltung an hello(at)starthardware.org – Liebe Grüße Stefan