Halloween-Geist mit Arduino

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

Schaltplan Arduino 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 (normaler Weise 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 einen 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 an!

Darin findest du die beliebtesten Arduino-Projekte von StartHardware. Jedes Projekt umfasst Schaltplan, Bauteile, Beschreibung und Code. Für Einsteiger gibt es ein Arduino-Schnellstart-Kapitel und einen kompakten Programmierkurs. Zusätzlich findest du Zwischenkapitel mit Expertenwissen zu den Komponenten, die verwendet werden. Alle Code-Beispiele gibt es natürlich als Download.

Weitere Informationen findest du auf der Produktseite. Klicke jetzt auf den Button, um Details anzusehen.


Stefan Hermann

Ich bin Stefan und arbeite seit 2007 mit Arduino. Als Designer und Produktmanager setze ich das Board in erster Linie zum Bau von Prototypen ein. Hier teile ich meine Faszination und Erfahrung mit dir!

4 thoughts on “Halloween-Geist mit Arduino

  1. 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

  2. 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

    1. 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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

 

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.