Leap Motion-gesteuerter Laser-Panzer bauen – Arduino, Raspberry Pi, RGB-LEDs
Komponenten und Materialien
| Komponente | Anzahl |
|---|---|
| Infrarot-LED | 1 |
| Infrarot-Empfänger | 1 |
| Arduino UNO | 1 |
| Raspberry Pi 2 Model B | 1 |
| RF24-Modul | 1 |
| RGB-LED (Common Cathode) | 1 |
| L293D Motortreiber-IC | 1 |
| Steckbrett (Breadboard) | 1 |
| Jumper-Kabel | 1 Set |
| Batteriehalter | 1 |
| AA-Akkus (NiMH, wiederaufladbar) | 4 |
| Lego-Steine | 1 Satz |
| Kugel-Rollenlager (3/8") | 1 |
| Leap Motion Controller | 1 |
Projektbeschreibung
Ziel dieses Projekts war es, eine Reihe von Roboter-Panzern zu erstellen, die gegeneinander antreten, wobei die Bediener dank des Leap Motion Controllers ein realistischeres Steuerungsgefühl erhalten. Der Bau sollte so kostengünstig wie möglich sein, damit das Projekt leicht nachgebaut werden kann.
Der Panzerkörper besteht aus Standard-Lego-Steinen und -Platten. Die Stromversorgung erfolgt über einen Block aus 4 wiederaufladbaren AA-Akkus. Als Steuerung dient ein Arduino Uno R3. Der Antrieb bilden zwei einfache DC-Motoren mit Rädern hinten und ein einzelnes Lenkrad vorne, angesteuert über einen L293D-IC. Die „Bewaffnung“ ist eine einzelne Infrarot-LED, die „Rüstung“ besteht aus Infrarot-Sensoren, die Treffer gegnerischer Panzer registrieren. Das „Head-up-Display“ ist eine mehrfarbige LED, die Aktionen und Panzerstatus anzeigt. Die drahtlose Steuerung übernimmt ein Raspberry Pi 2 mit Node.js, verbunden über ein RF24-Funkmodul, das jeder Panzer besitzt.
Über die Hände des Bedieners steuert der Leap Motion Controller den Panzer mittels Leap Motion JavaScript SDK. Das SDK erkennt Handbewegungen, JavaScript kommuniziert mit dem Node.js-Server auf dem Raspberry Pi, der wiederum über das RF24-Modul mit dem Panzer spricht. Beide Hände nach vorne: Panzer fährt vorwärts. Beide Hände zurück: rückwärts. Linke Hand vorne, rechte hinten: Rechtskurve. Rechte Hand vorne, linke hinten: Linkskurve. Beide Hände in Neutralstellung: Stopp. Eine Hand nach vorne (links oder rechts) bei abgesenkter anderer Hand: Waffe feuern.
Mit der omnidirektionalen Rüstung und Kartons als Deckung wird „Laser Tanks“ zu einem Spiel aus Jagen und Ausweichen.
Projektschritte
- Panzer zusammenbauen und verdrahten gemäß Schaltplänen. Benötigte Arduino-Bibliotheken herunterladen (siehe README im GitHub-Repository), Sketch für Panzer 1 und Panzer 2 kompilieren und hochladen.
- RF24-Transceiver mit Raspberry Pi verbinden. Raspbian OS und Node.js auf dem Pi installieren.
- RF24-Bibliothek auf dem Pi herunterladen, konfigurieren und bauen (siehe README).
- Node.js-Serversoftware von GitHub herunterladen, konfigurieren und App-/Webserver starten (siehe README).
- Leap Motion und Treiber auf dem Computer installieren. Browser öffnen und URL des Raspberry Pi Webservers laden, um die Steuerseite für Panzer 1 oder 2 aufzurufen.
- Kalibrierungsbutton klicken und Hände über dem Leap Motion halten, bis zwei Hände erkannt und die Neutralposition festgelegt ist. Danach kann der Panzer gesteuert werden.
Hinweis zum Panzerchassis
Der Panzerkörper wurde aus einfachen Legosteinen gebaut, die mit „Gorilla Glue“ an Motoren, Steckbrettern etc. fixiert wurden, um Stabilität zu gewährleisten. Die folgende Bilderserie zeigt den Aufbau:
Infrarot-LED Fokussierung
Infrarot-LEDs strahlen normalerweise breit ab, um Fernbedienungen aus vielen Winkeln zu ermöglichen. Für ein präzises „Laser“-Spiel muss der Strahl gebündelt werden. Eine einfache Lupenlinse am Ende eines Rohrs vor der IR-LED fokussiert den Strahl.
Eine günstige Taschenlupe aus der Apotheke lieferte die Linse. Ein Rohr darum gebaut, IR-LED am anderen Ende – der Strahl wurde präzise eingeengt.
360° Infrarot-Sensoren
Ein einzelner IR-Sensor deckt nur ca. 90° ab. Für Rundum-Erkennung wurden vier Sensoren mit einem AND-Gatter (74HCT21) auf einen Eingangspin zusammengefasst. Erfasst einer ein Signal, wird es gemeldet – ohne Bibliotheksänderung und mit nur einem Pin.
Code
Alle Code-Dateien im GitHub-Repository: Laser Tanks Github
Schaltpläne
Die Schaltpläne zeigen die Verkabelung für IR-LED (Waffe), IR-Sensor (Treffererkennung), 4-Sensor-AND-Gatter (360° Erkennung), RGB-LED (Statusanzeige), L293D (Motorsteuerung), RF24 (Funk) und Raspberry Pi mit Node.js (REST-API).
Herstellungsprozess
- Expertenratgeber für Aluminium-Lasermarkierung: Präzision, Langlebigkeit und Industrieanwendungen
- Umfassender Leitfaden zur Lasermarkierung: Arten, Vorteile und Anwendungen
- Faserlaser-Markierung: Präzision, Geschwindigkeit und Vielseitigkeit für moderne Industrien
- Laserpointer: Design, Fertigung und Sicherheitsübersicht
- Halbleiterlaser: Präzise Lichtgenerierung für moderne Technologie
- Festkörperlaser: Technologie, Anwendungen und Zukunftstrends
- DIY Infrarot-Bewegungsmelder für Raspberry Pi – Schritt-für-Schritt-Anleitung
- LED mit PIR-Bewegungsmelder am Raspberry Pi steuern
- MOSMusic: Musik-synchronisierte Lichtsteuerung mit CoolMOS MOSFET & Arduino
- Kernkomponenten der Laserbeschriftungsmaschine: Laser, Galvanometer, Software