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.
| Projekt | Board | Hauptteile | Öffnen |
|---|---|---|---|
| Jumpscare-Schädel | Arduino Uno | PIR, Servo, 2 LEDs, Buzzer | halloween-uno-jump-scare-skull |
| Süßigkeitenspender | Arduino Uno | HC-SR04, Servo, SSD1306 OLED, Buzzer | halloween-uno-candy-dispenser |
| Das Auge, das dir folgt | Seeed XIAO ESP32-S3 | Seeed Round Display (GC9A01 + Touch) | halloween-round-display-eye |
| Grove-Kürbis | Seeed XIAO ESP32-S3 | Grove RGB LED Ring, Lichtsensor, PIR, Passive Buzzer | halloween-grove-pumpkin-ring |
| Spukporträt | ESP32 DevKit | DFRobot C4001 mmWave-Radar, 2 LEDs, Buzzer | halloween-c4001-haunted-portrait |
| Geisterdetektor | M5Stack Core | eingebautes LCD, Tasten und Lautsprecher | halloween-m5stack-ghost-detector |
| LED-Matrix-Kürbis | Pimoroni Stellar Unicorn | 16x16 RGB-Matrix, Tasten | halloween-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
- 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.
- 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.
- Öffne den Serial Monitor unten. Jeder Sketch gibt aus, was er tut, sodass du die Requisiten auch bei ausgeschaltetem Ton reagieren sehen kannst.
- 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)

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.

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)

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.

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)

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.

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)

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.

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.

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)

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.

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.

Die drei vorderen Tasten sind die Steuerung:
- A scannt drei Sekunden lang intensiver, sodass Geister häufiger auftauchen.
- B macht ein Foto. Erwische den Geist, während er auf dem Bildschirm ist, und der Zähler in der Ecke steigt.
- C schaltet den Ton ein und aus.
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.

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:
- Servos ziehen Stromspitzen, die der 5-V-Regler des Uno nicht mag. Gib dem Servo für den Schädel und den Spender eine eigene 5-V-Versorgung und verbinde die Massen.
- Ein echter PIR braucht nach dem Einschalten etwa eine Minute zum Einschwingen und löst in dieser Minute ein paar Mal von selbst aus.
- Versorge den LED-Ring für den Ring aus 5 V und halte
setBrightness()niedrig, es sei denn, du hast eine dafür dimensionierte Versorgung. - Der C4001 sieht durch dünnes Holz, Pappe und Stoff, aber nicht durch Metall, also achte auf die Aufhängevorrichtung des Rahmens.
Grenzen
- Das Radar, der Lichtsensor und der Ultraschallsensor werden über Regler gesteuert. Sie liefern dem Sketch die Zahlen, die ein echter Sensor liefern würde, keine physische Szene.
- Der Ton wird über den Browser abgespielt. Die Buzzer-Parts folgen der Frequenz, die der Pin erzeugt; sie modellieren nicht die Lautstärke oder die Klangfarbe eines echten Piezo.
- Öffne eines, ändere es und baue die Version, die deine eigene Haustür erschreckt. Frohes Halloween.