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

Schreibe einen Kommentar

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

Ich akzeptiere

 

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