Bauanleitung: Wurmalarm, das Arduino-Geschicklichkeitsspiel mit Laserpointer

Von der lichtempfindlichen Zielscheibe bis zur Zwei-Achs-Steuerung des Lasers: Hier ist alles selbstgebaut und der Nachbau wird Schritt für Schritt erklärt.

In Pocket speichern vorlesen Druckansicht 8 Kommentare lesen

(Bild: Thomas Fischer)

Lesezeit: 15 Min.
Von
  • Thomas Fischer
Inhaltsverzeichnis

Wurmalarm! ist selbsgebautes Geschicklichkeitsspiel und Gedächtnistraining: Mithilfe eines Joysticks wird zum Zielen auf eine lichtempfindliche Scheibe ein Laserpointer über Servos gesteuert. Es stehen zwei Spielmodi zur Verfügung:

  • Im einfacheren Modus "Serie" leuchtet jeweils eine LED auf und das dicht daneben liegende Ziel muss getroffen werden.
  • Im schwierigeren Modus "Memory" geht es darum, eine jeweils nur kurz angezeigte und anwachsende Folge von Zielen in der richtigen Reihenfolge zu treffen.

In beiden Fällen wird die dafür benötigte Zeit gemessen und das Ergebnis am Ende auf dem Display in Sekunden ausgegeben.

Seinen Namen hat das Spiel Wurmalarm! von der Gestaltung der Zielscheibe, die die Form eines Apfels hat. Dazu passt die Geschichte, die man jungen Spielerinnen und Spieler erzählen kann: "Im Apfel haben sich Würmer versteckt. Ab und zu schauen sie aus den Löchern heraus. Da sie sehr lichtscheu sind, sollst Du sie mit dem Lichtstrahl vertreiben."

Wer das Spiel nachbauen will, findet im folgenden erst eine ausführliche Teileliste und dann die Nachbauanleitung Schritt für Schritt. Die nötigen CAD-Dateien für die Sperrholzteile und den Arduino-Code gibt es bei GitHub zum Download.

Materialliste

  • 3 Standardservos mit 29mm × 14 mm Länge × Breite
  • Laserpointer
  • 2 Scharniere
  • M3-Schrauben, Unterlegscheiben und Muttern
  • 2 M4-Senkkopfschrauben
  • 2 M4-Einschlagmuttern
  • Jumperkabel für Breadboards
  • Stiftleisten
  • Litze, zwei- und vieradrig
  • Schrumpfschlauch rot und schwarz, zur Litze passend
  • 2 Ein-/Aus-Schalter
  • 1 Drehschalter mit vier Schaltstellungen
  • 1 Taster (Schließer)
  • 1 LC-Display LCM1602C
  • 1 Buzzer
  • 9 Widerstände 10 kOhm
  • 6 Widerstände 220 Ohm
  • 1 Widerstand 1,5 kOhm
  • 1 Widerstand 2,2 kOhm für das Display, je nach Versorgungsspannung!
  • 1 Widerstand 4,7 kOhm
  • 1 Widerstand 15 kOhm
  • 1 Streifenplatine
  • 1 Arduino Mega
  • 8mm-Pappelsperrholz 290mm × 920mm
  • 5mm-Pappelsperrholz 180mm × 580mm
  • 4mm-Pappelsperrholz 320mm × 530mm
  • 5 verschiedenfarbige LEDs mit weniger als 3000mcd Leuchtkraft
  • 5 Fototransistoren für Wellenlängen 420–1130nm, z. B. SFH 300-3/4
  • 1 Joystick
  • 1 Stromversorgungsstecker für Arduino
  • 9-Volt Batterie oder mindestens 2s-Lipo

Wer die Stromversorgung aller Bauteile vom Arduino abkoppeln möchte, benötigt diese weiteren Bauteile (der Minuspol des Festspannungsreglers muss dann zusätzlich mit Ground des Mega verbunden werden):

  • 1 Festspannungsregler L7805
  • 1 Kondensator 100 nF
  • 1 Kondensator 470 nF

Bevor es an die Beschreibung des Baus Schritt für Schritt geht, ein paar Vorbemerkungen zum Design und zum Nachbau. Alle verwendeten Bauteile oder Materialien sind entweder im Baumarkt oder im einschlägigen Elektronikhandel zu bekommen.

Die Sperrholzteile entwarf ich zum Fräsen in DesignCAD, die entsprechenden DXF-Dateien sind für den Nachbau über GitHub-Link weiter oben herunterladbar. Zu beachten ist dabei, dass bei der Verwendung abweichender Bauteile für Schalter, Taster, Buzzer, Joystick, etc. in allen Sperrholzteilen gegebenenfalls die Aussparungen und Taschen dafür anzupassen sind (für den Joystick ist in der Vorlage noch keine Aussparung vorgesehen). Bevor diese Teile also gefertigt werden, bitte die entsprechenden Maße überprüfen und gegebenenfalls in der DXF-Zeichnung modifizieren!

Für das Verkleben der Holzteile eignen sich am besten entsprechender Weißleim oder Uhu hart. Vor der individuellen Farbgebung zunächst das Holz grundieren und abschleifen. Für die zum Steuern verwendeten Servos reichen Standardservos mit einer Länge von 29mm und einer Breite von 14mm aus.

Bild 1

In der ursprünglichen Version des Spiels erfolgte die Steuerung über die Auswertung von Bewegungssignalen aus einem Beschleunigungsmesser, der in einen Handgriff eingebettet war (Bilder 1 und 2). Diese Methode hatte jedoch zwei entscheidende Nachteile:

Bild 2
  1. Die Bewegungen des Sensors wurden nur sehr ungenau in Servobewegungen umgesetzt.
  2. Trotz Glättung der Signale per Durchschnittswert neigten das Kipp- und Drehservo zum Zittern, was die Steuerung zusätzlich erschwerte.

Aus beiden Gründen tauschte ich den Beschleunigungssensor gegen einen Joystick aus.

Die beiden für den Sketch benötigten Libraries Servo.h und LiquidCrystal.h gehören zur Standardausstattung der Arduino-IDE bei frischer Installation. Sollten sie wider Erwarten doch fehlen, finden Sie hier eine Anleitung, wie Sie der IDE Bibliotheken hinzufügen.

Aufgrund der recht hohen Zahl von Anschlussdrähten ist die richtige Verkabelung recht anspruchsvoll. Man sollte daher so früh wie möglich ein System für eine eindeutige Beschriftung der Kabel machen, die man etwa auf Abschnitten von Kreppklebeband anbringt.