Zurück

Sieben Halloween-Projekte, die du im Browser bauen und ausführen kannst

Jeden Oktober kommen dieselben paar Builds wieder auf Hackster, Instructables und dem element14 Halloween-Hackathon zurück: ein Schädel mit Servo-Kiefer, der schreit, wenn jemand vorbeigeht, ein Paar Augen auf runden Displays, die dir folgen, ein Gemälde, das reagiert, wenn du näher kommst, ein Kürbis voller NeoPixels und eine Süßigkeitenschale, die nur etwas hergibt, wenn du die Hand hinhältst.

Wir haben sieben davon als Beispiele in der Velxio-Galerie neu aufgebaut, eines pro Board-Familie, mit Arduino-Teilen und den Modulen unserer Partner Seeed Studio, DFRobot, M5Stack und Pimoroni. Jedes öffnet sich im Editor mit bereits verdrahteter Schaltung und bereits geschriebenem Sketch. Drück auf Run, und es wird kompiliert und startet im Browser, sodass du Timing, Farben und Schwellenwerte abstimmen kannst, bevor du einen einzigen Draht abschneidest.

ProjektBoardHauptteileÖffnen
Jumpscare-SchädelArduino UnoPIR, Servo, 2 LEDs, Buzzerhalloween-uno-jump-scare-skull
SüßigkeitenspenderArduino UnoHC-SR04, Servo, SSD1306 OLED, Buzzerhalloween-uno-candy-dispenser
Das Auge, das dir folgtSeeed XIAO ESP32-S3Seeed Round Display (GC9A01 + Touch)halloween-round-display-eye
Grove-KürbisSeeed XIAO ESP32-S3Grove RGB LED Ring, Lichtsensor, PIR, Passive Buzzerhalloween-grove-pumpkin-ring
SpukporträtESP32 DevKitDFRobot C4001 mmWave-Radar, 2 LEDs, Buzzerhalloween-c4001-haunted-portrait
GeisterdetektorM5Stack Coreeingebautes LCD, Tasten und Lautsprecherhalloween-m5stack-ghost-detector
LED-Matrix-KürbisPimoroni Stellar Unicorn16x16 RGB-Matrix, Tastenhalloween-stellar-unicorn-pumpkin

Eine Suche nach halloween auf der Beispielseite listet alle sieben auf.

Das Foto am Anfang von fünf der Abschnitte ist eine Illustration davon, wie der fertige Requisit aussehen könnte, generiert mit KI. Jedes andere Bild in diesem Artikel ist eine Aufnahme des Beispiels, das in Velxio läuft.

So öffnest und startest du eines davon

  1. Klicke auf den Projektlink in der Tabelle. Der Editor öffnet sich mit dem Board, den Teilen, den Drähten und dem Sketch an Ort und Stelle.
  2. Drücke den grünen Run-Button in der Symbolleiste. Der Sketch wird auf unseren Servern kompiliert (der erste Build eines Boards kann eine Minute dauern) und läuft dann in deinem Browser.
  3. Öffne den Serial Monitor unten. Jeder Sketch gibt aus, was er tut, sodass du die Requisiten auch bei ausgeschaltetem Ton reagieren sehen kannst.
  4. Klicke während der laufenden Simulation auf einen Sensor auf der Zeichenfläche, um sein Panel zu öffnen. Dort findest du die Schieberegler für Entfernung, Licht und Präsenz.

1. Jumpscare-Schädel (Arduino Uno)

Eine KI-Illustration des fertigen Jumpscare-Schädels auf einer Veranda: rote LED-Augen, ein Servo, der die Kiefer öffnet, ein PIR-Sensor davor und ein Arduino Uno mit Buzzer dahinter

Illustration des fertigen Requisits, generiert mit KI. Die Schaltung unten ist die, die in Velxio läuft.

Der klassische Veranda-Requisit. Ein PIR-Bewegungssensor an D2 überwacht die Tür. Wenn jemand vorbeigeht, leuchten zwei rote LED-Augen an D5 und D6 in voller Helligkeit auf, ein Servo an D9 lässt die Kiefer viermal klappern und ein Buzzer an D8 schreit mit einer Sirene, die von 1,8 kHz bis zu einem Knurren hinuntergleitet. Zwischen den Besuchern glimmen die Augen wie Glut, und eine Abklingzeit von vier Sekunden verhindert, dass der Schädel dieselbe Person zweimal hintereinander erschreckt.

Der Jumpscare-Schädel auf einem Arduino Uno: PIR-Sensor, Servo-Kiefer, zwei rote LED-Augen und ein Buzzer

Um es auszuprobieren, klicke auf der Zeichenfläche auf den PIR-Sensor. Der Ausgang geht für drei Sekunden auf HIGH, was ein echter HC-SR501 mit ganz heruntergedrehtem Verzögerungspotentiometer tut.

Der ganze Schreck ist eine kurze Funktion. Beachte, dass tone() auf dem Uno Timer2 verwendet und die Servo-Bibliothek Timer1, sodass der Schrei und die Kiefer nie um einen Timer kämpfen:

void scare() {
  eyes(255);
  for (int i = 0; i < 4; i++) {          // the jaw chatters four times
    jaw.write(JAW_OPEN);
    if (i == 0) scream(); else delay(160);
    jaw.write(JAW_CLOSED);
    delay(140);
  }
  eyes(40);
  lastScare = millis();
}

2. Trick-or-Treat-Süßigkeitenspender (Arduino Uno)

Eine KI-Illustration des fertigen Süßigkeitenspenders: eine bemalte Kürbisbox mit Süßigkeitenröhre, ein Ultraschallsensor über der Schale, eine Rutsche, die eine Süßigkeit fallen lässt, ein OLED und ein Arduino Uno hinter einem Seitenfenster

Illustration des fertigen Requisits, generiert mit KI. Die Schaltung unten ist die, die in Velxio läuft.

Eine berührungslose Süßigkeitenschale. Ein HC-SR04-Ultraschallsensor zeigt von unter der Rutsche nach oben und sucht nach einer Hand, die näher als 10 cm ist. Wenn er eine findet, öffnet ein Servo die Klappe, lässt eine Süßigkeit fallen und schließt sie wieder, der Buzzer spielt ein kurzes Klingeln und ein SSD1306-OLED zählt herunter, was noch übrig ist, mit einem kleinen Kürbis in der Ecke. Wenn der Vorrat zur Neige geht, zeigt der Bildschirm TRICK und der Buzzer lacht dich stattdessen aus.

Der Süßigkeitenspender auf einem Arduino Uno mit geöffneter Klappe und dem OLED, das die Süßigkeiten zählt

Klicke auf den HC-SR04 und ziehe seinen Entfernungsschieberegler unter 10 cm, um eine Hand hinzuhalten. Der Sketch wartet dann, bis die Hand zurückgezogen wird, sodass eine Welle eine Süßigkeit ist und niemand die Schale leert, indem er eine Hand liegen lässt.

3. Das Auge, das dir folgt (Seeed Round Display für XIAO)

Eine KI-Illustration eines Schädel-Requisits mit zwei Seeed Round Displays als Augen, die jeweils ein blutunterlaufenes Auge mit Schlitzpupille zeigen

Illustration eines fertigen Augenpaars, generiert mit KI. Das Beispiel in Velxio läuft mit einem Display; ein Paar sind zwei davon.

Augen auf runden TFT-Displays waren im letztjährigen element14 Halloween-Hackathon überall zu sehen, von 3D-gedruckten Schädeln bis zu radarausgelösten Requisiten. Dieses verwendet das Seeed Round Display für XIAO mit einem XIAO ESP32-S3 auf seiner Rückseite. Das 1,28 Zoll große GC9A01 zeigt einen blutunterlaufenen Augapfel mit oranger Iris.

Ein blutunterlaufener Augapfel auf dem Seeed Round Display, die Pupille blickt dorthin, wo das Glas berührt wird

Drücke auf das Glas und die Pupille folgt deinem Zeiger. Halte gedrückt und sie verengt sich zu einem Katzenschlitz. Lass los und sie blickt wieder von selbst im Raum umher und blinzelt alle paar Sekunden.

Der Touch-Controller ist der CHSC6X auf dem Shield, gelesen auf dieselbe Weise wie in Seeeds eigenem Treiber: eine fallende Flanke an D7 zeigt an, dass ein Finger aufliegt, und ein Fünf-Byte-I2C-Lesevorgang an 0x2E liefert die Position. Jedes Frame wird in einen Offscreen-Sprite gezeichnet und in einem Zug auf das Glas geschoben, sodass das Panel nie ein halb gemaltes Auge zeigt. Nur das 174-Pixel-Quadrat, das die Iris erreichen kann, wird neu gezeichnet; der Rand mit seinen Adern wird einmal gemalt und nach jedem Blinzeln erneut:

static void drawEye() {
  frame.fillScreen(TFT_BLACK);
  drawSclera(frame, BX, BY);           // the part of the sclera inside the box
  ...                                  // iris, streaks, pupil, glint, eyelids
  frame.pushSprite(BX, BY);
}

Die Pins sind die des Shields selbst, sodass derselbe Sketch auf dem echten Stack läuft.

Für ein Augenpaar baue zwei: Ein Schädel oder ein geschnitzter Kürbis nimmt zwei Round Displays in seinen Augenhöhlen auf, jedes mit seinem eigenen XIAO, der diesen Sketch ausführt. Sie blicken und blinzeln unabhängig voneinander, was lebendiger wirkt als zwei Augen im perfekten Gleichschritt.

4. Grove-Kürbis, der im Dämmerlicht erwacht (Seeed XIAO ESP32-S3)

Eine KI-Illustration des fertigen Grove-Kürbisses: ein LED-Ring, der grün und violett in einem geschnitzten Kürbis leuchtet, daneben ein XIAO-Board, ein PIR und ein Lichtsensor an Grove-Kabeln

Illustration des fertigen Requisits, mit KI generiert. Die Schaltung unten ist die, die in Velxio läuft.

Vier Grove-Module an einem XIAO ESP32-S3 ergeben einen Einsatz für einen geschnitzten Kürbis. Der Grove Light Sensor hält den 42-LED Ultimate RGB LED Ring tagsüber dunkel. Sobald es dunkel wird, flackert der Ring orange und gelb wie eine Kerze, jede LED mit ihrer eigenen Flamme. Wenn der Grove PIR jemanden sieht, ist der Kürbis besessen: ein grüner und violetter Wirbel dreht sich um den Ring und der Grove Passive Buzzer spielt ein paar Takte einer gruseligen Melodie.

Der Grove-Kürbis: ein Ultimate RGB LED Ring, der wie eine Kerze flackert, neben einem XIAO ESP32-S3, einem Lichtsensor, einem PIR und einem passiven Buzzer

Um es auszuprobieren, klicke auf den Lichtsensor und ziehe seinen Regler nach unten, um Nacht zu machen, dann klicke auf den PIR und löse ihn aus.

Dieselbe Schaltung mit dem Ring, der grün und violett wirbelt, nachdem der PIR ausgelöst hat

Auf echter Hardware versorgst du den Ring über das 5-V-Pad des XIAO (das Beispiel ist so verdrahtet) und hältst die Helligkeit niedrig: 42 WS2813-LEDs bei voller Weißleistung ziehen weit mehr, als ein USB-Anschluss gerne liefert.

5. Spukporträt (DFRobot C4001 mmWave-Radar)

Eine KI-Illustration des fertigen Spukporträts: ein altes Gemälde in einem vergoldeten Rahmen mit leuchtenden roten Augen, und auf der Rückseite der Leinwand das mmWave-Radar, ein ESP32-Board und ein Buzzer

Illustration des fertigen Requisits, mit KI generiert. Die Schaltung unten ist die, die in Velxio läuft.

Das Gemälde, dessen Augen dem Raum folgen, ist ein alter Jahrmarktstrick, und ein Radar macht ihn zu einem besseren. Der DFRobot C4001 (SEN0610) ist ein 24-GHz-mmWave-Sensor, der misst, wie weit eine Person entfernt ist, und sein Signal geht direkt durch eine Leinwand und einen Holzrahmen. Hinter dem Bild versteckt, verrät ihn nichts.

Der Sketch versetzt das Radar in den Geschwindigkeitsmodus, in dem es sowohl die Entfernung als auch die Anwesenheit meldet. Je näher du stehst, desto heller brennen die beiden LED-Augen des Porträts und desto schneller pocht ein Herzschlag auf dem Buzzer, von einem Schlag alle 1,5 Sekunden bei sechs Metern bis zu fast drei pro Sekunde aus der Nähe. Tritt auf einen Meter heran und es kreischt.

Die Schaltung des Spukporträts: ein ESP32 DevKit, das DFRobot C4001 Radar, zwei rote LED-Augen und ein Buzzer

Klicke auf das Radar und ziehe seinen Entfernungsregler, um auf das Gemälde zuzugehen.

// 6 m away: a dim glow. Right in front: full blaze.
float closeness = constrain((FAR_M - range) / (FAR_M - SHRIEK_M), 0.0f, 1.0f);
eyes(10 + (int)(closeness * 245));

6. Geisterdetektor (M5Stack Core)

Eher ein Spiel als ein Requisit, und das einzige ohne etwas zu verdrahten. Der M5Stack Core Basic zeichnet ein Zeigerinstrument, das das „spektrale Feld” des Raums anzeigt. Der Zeiger wandert von selbst und schlägt immer wieder in die rote HAUNT-Zone aus; dann schwebt ein Geist auf den Bildschirm und der Lautsprecher beginnt zu knistern.

Der Geisterdetektor auf einem M5Stack Core: ein Zeigerinstrument in der roten Zone und ein Geist auf dem Bildschirm

Die drei vorderen Tasten sind die Steuerung:

Das Instrument wird in einen 8-Bit-M5Canvas-Sprite gezeichnet und in einem Rutsch übertragen, was verhindert, dass der Zeiger flackert. Ein 16-Bit-Sprite über den ganzen Bildschirm würde nicht passen: Der Core Basic hat kein PSRAM.

7. LED-Matrix-Kürbis (Pimoroni Stellar Unicorn)

Der letzte ist reine Dekoration. Die 16x16-RGB-Matrix des Pimoroni Stellar Unicorn wird zu einem gerippten Kürbisgesicht, dessen Augen, Nase und gezackter Mund von einer Kerze im Inneren leuchten. Drücke A für einen Blitzeinschlag, gefolgt von einem scrollenden HAPPY HALLOWEEN, B, um einen Geist über das Gesicht treiben zu lassen, und LUX + und -, um die Helligkeit einzustellen.

Ein Kürbisgesicht auf der 16x16-LED-Matrix des Pimoroni Stellar Unicorn

Das Gesicht ist ein 16-mal-16-Raster aus Zeichen im Sketch, ein Buchstabe pro LED, sodass der Ausdruck einfach durch Bearbeiten des Textes geändert wird.

Auf echte Hardware bringen

Die Sketches sind gegen dieselben Bibliotheken und Pins geschrieben, die du auch auf der Werkbank verwenden würdest, sodass der Wechsel vom Simulator zu einem echten Aufbau hauptsächlich eine Frage von Stromversorgung und Mechanik ist:

Grenzen


Teilen auf:
David Montero

Geschrieben von

David Montero

Creator of Velxio, the open-source circuit and Arduino simulator.

GitHub velxio.dev

Ähnliche Artikel


Vorheriger Artikel
Analoge Elektronik im Browser: sieben Schaltungen zum Ausführen und Messen
Nächster Artikel
Cute Desktop Robot: ein Gesicht, das auf dem ESP-VoCat zuhört, mit seinem Emulator im Browser