Inhaltsverzeichnis:

Raspberry Pi 3 FPV Lego Tank - Gunook
Raspberry Pi 3 FPV Lego Tank - Gunook

Video: Raspberry Pi 3 FPV Lego Tank - Gunook

Video: Raspberry Pi 3 FPV Lego Tank - Gunook
Video: Raspberry Pi FPV Lego tank demo 2024, Juli
Anonim
Raspberry Pi 3 FPV Lego Tank
Raspberry Pi 3 FPV Lego Tank

Lego ist großartig, um Kindern beizubringen, wie Dinge funktionieren und gleichzeitig Spaß haben. Ich weiß, dass ich als Kind immer gerne mit Lego "gespielt" habe. Dieses anweisbare beschreibt, wie ich einen FPV (First Person View) Tank aus Lego und einem Raspberry Pi 3 (Raspi 3) gebaut habe. Ich habe versucht, es so einfach wie möglich zu halten, nur der Schritt, in dem Sie die Motoren an die Arbeit mit Lego anpassen, erfordert Werkzeug und etwas Geschick.

Der Panzer verwendet im Grunde zwei Motoren. Wenn Sie also keinen Panzer haben möchten, können Sie einen Roboter vom Typ Romba bauen. Der Aufbau ist anders, aber die Verkabelung und die Programme sind genau gleich.

### Dieses Projekt ist im Grunde eine Version 1, wenn Sie es also verbessern möchten (wobei es viel Raum zu tun gibt), hinterlassen Sie bitte einen Kommentar. Auch der gesamte Code wird auf meiner Github-Seite verfügbar sein, Links sind in den Schritten

Dinge, die Sie brauchen:

  • Etwas Lego, ich benutzte einen Lego Technic Arctic Truck, den ich herumliegen hatte. Verwenden Sie jedoch Ihre Fantasie, dieses Set hatte Spuren und alles, um diese zum Laufen zu bringen, also war es gut für dieses Projekt.
  • Ein Raspberry Pi, ich habe einen Raspberry Pi 3 verwendet, weil ich ihn hatte. Wenn Sie ein anderes Modell haben, können Sie es möglicherweise zum Laufen bringen, aber die GPIO-Pins unterscheiden sich.
  • Eine Micro-SD-Karte mit installiertem Raspian für das Raspi 3.
  • Eine Pi-Kamera, Adafruit verkauft einige sowie verschiedene Flachbandkabel in verschiedenen Längen. Eine von Aliexpress gekaufte Mine, sie hat ein Fisheye-Objektiv und war billig. Sie können möglicherweise eine Webcam verwenden, aber eine Pi-Kamera funktioniert sofort.
  • Eine USB Power Bank, um den Raspi 3 mit Strom zu versorgen, kostet meiner Meinung nach 8 US-Dollar, seine 2000 mAh, so dass der Raspi 3 eine Weile läuft.
  • Eine Batterie zum Antrieb der Motoren, ich habe eine Batterie verwendet, die ich aus einem billigen RC-Auto gezogen habe, sie hat 7,2 Volt, 500 mAh und ist wiederaufladbar, also funktioniert sie ziemlich gut. Eine 9V Batterie wäre gut, aber dann brauchst du auch noch einen Stecker.
  • Überbrückungskabel, um GPIO-Pins miteinander zu verbinden, mindestens 5 Buchse an Buchse.
  • L298N Motortreiberplatine, diese sind ziemlich billig und ermöglichen es Ihnen, Motoren separat zu steuern. Diese sind auch ziemlich Standard für diese Art von Anwendung.
  • 2 x DC-Getriebemotor, diese von Adafruit sind gut, genau der gleiche kann auch bei Aliexpress gekauft werden

Sonstig

  • Doppelseitiges Schaumstoffband
  • Kabel
  • Schrumpfen durch Hitze
  • Band
  • Gummibänder
  • Micro-USB-Kabel

Wenn Sie die DC-Getriebemotoren wie ich anpassen möchten, benötigen Sie:

  • Teppichmesser
  • Dremel mit Kreissägeblatt
  • Mini-Dateien
  • 5 Minuten Epoxy

Zur Steuerung und Programmierung des Raspi 3 benötigen Sie außerdem einen eigenen PC/Laptop.

Schritt 1: Bauen Sie den Tank

Baue den Panzer
Baue den Panzer
Baue den Panzer
Baue den Panzer
Baue den Panzer
Baue den Panzer

Dies sind also keine wirklichen Anweisungen, da dieser Schritt wirklich Ihr eigenes Design sein sollte. Ich werde über einige der Dinge sprechen, die ich beim Bauen berücksichtigen musste, aber der wahre Spaß besteht darin, es selbst herauszufinden (ähnlich wie bei echtem Lego). Verwenden Sie die Fotos, wenn sie hilfreich sind, ich habe ewig gebraucht, um dieses Design zu entwickeln, am Ende war der einfache Weg der beste.

  1. Baue zuerst die Hinterachsen

    1. und stellen Sie sicher, dass Sie genügend Platz für die Motoren lassen und sie breit genug machen, damit Ihre Komponenten hineinpassen. Ich wollte, dass meins ziemlich breit ist, da ich wollte, dass alles in den Achsen sitzt, dies ermöglichte es, dass der Tank ziemlich niedrig war, um unter die Dinge zu passen und die Katze zu jagen.
    2. Die Räder auf den Schienen hier haben ein Loch, das zu einer Lego-Kreuzachse passt. Denken Sie also daran, dass Ihre Motoren hier montiert werden.
    3. Du brauchst hinten und vorne genügend Freiraum für die Schiene. Sie können in Bild 2 feststellen, dass die "L"-Stücke nicht semetrisch sind, dies dient dazu, den Gleisraum zu ermöglichen. Ich hatte sie ursprünglich semetrisch, aber die Spur rieb weiter und verklemmte sich irgendwann und brach den Motoradapter.
  2. Sobald Sie die Achsen gebaut haben, können Sie sie anschließen

    1. Verwendung von langen Bits mit Kreuzstützen in regelmäßigen Abständen. Stellen Sie sicher, dass die Querträger so angeordnet sind, dass die Komponenten dazwischen passen, um ein niedriges Profil zu erhalten.
    2. Die Länge wird durch die Anzahl der Tracks bestimmt, die Sie haben. Diese Strecke hat keine Dehnung, daher ist ein wenig Spiel erforderlich. Wenn Sie eine Gummikette haben, können Sie sie enger machen. Auch ein Laufrad ist eine nette Idee, wird aber insgesamt nicht benötigt.
    3. Dieser Schritt war kleinlich geradlinig und beinhaltet nur ein bisschen Versuch und Irrtum.
  3. Die Motoren werden im Wesentlichen mit doppelseitigem Schaumstoffklebeband aufgeklebt, sodass eine große Oberfläche zum Aufkleben zur Verfügung steht.
  4. Die Kamerahalterung, die ich gemacht habe, ist ziemlich Müll, Sie sollten auf jeden Fall versuchen, Ihre eigene zu machen. Ich mag es niedrig, da es aussieht, als ob Sie schnell vor der Kamera reisen. Dies wäre ein cooler Ort, um mit einem oder zwei Servos aufzurüsten, um die Kamera beweglich zu machen.

Hoffentlich sind diese Hinweise hilfreich. Ich habe dieses Ding gebaut, bevor ich das instructable geschrieben habe und bin ein bisschen zögerlich, es jetzt auseinander zu ziehen, da es geht. Ich glaube wirklich, dass ein besseres Design gemacht werden kann, also denke ich, dass Ihre eigene Entwicklung am besten wäre. Hinterlassen Sie einen Kommentar, wenn Sie möchten, dass ich einen vollständigen Leitfaden daraus mache, wenn es genug Nachfrage gibt, werde ich es tun.

Schritt 2: DC-Getriebemotor zu Lego-Adapter

DC-Getriebemotor auf Lego-Adapter
DC-Getriebemotor auf Lego-Adapter
DC-Getriebemotor auf Lego-Adapter
DC-Getriebemotor auf Lego-Adapter
DC-Getriebemotor auf Lego-Adapter
DC-Getriebemotor auf Lego-Adapter

Auch dies habe ich vor dem Schreiben gemacht und keine Fotos gemacht. Ich denke, es gibt eine Reihe von verschiedenen Tutorials, die dies tun. Adafruit verkauft tatsächlich einen Adapter, dies ist der beste Weg, und Sie müssen Ihre Motorhalterungen nicht zerstören. Ich bin in Neuseeland, also ist Adafruit nicht verfügbar, aber DIY ist:-). Folgendes habe ich getan (sorry für die schlechten Diagramme):

  1. Halten Sie alle Ihre Werkzeuge bereit, wir werden Plastik schneiden, also wird dies nicht allzu schwierig sein. Ich habe eine Werkstattbrille benutzt, weil ich persönlich kleine Plastikklumpen auf meinen Augäpfeln hasse. Ich habe auch eines dieser grünen Schneidebretter verwendet, damit ich meinen Tisch nicht durcheinander gebracht habe.
  2. Das Diagramm zeigt also eine Draufsicht und eine Seitenansicht. Grundsätzlich ist das Grau der kleine weiße Teil des DC-Getriebemotors und das Rot ist der Schnittpunkt. Das Rot in der Draufsicht soll eigentlich ein Querschnitt für eine Lego-Kreuzachse sein. Wir werden dieses Material entfernen, damit die Achse genau hineinpasst. Versuchen Sie, dies so nah wie möglich an der Mitte und fast ganz nach unten zu schneiden. Ich begann mit dem groben Schneiden mit dem Kreissägenbit auf meinem Dremel, dann begann ich, die Bits mit einem Cutter zu rasieren, bis ich eine perfekte Passform hatte.
  3. Sobald Sie dieses Stück geschnitten haben und die Achse mehr oder weniger gerade sitzt (es sollte wie eine seltsame gefaltete halbe Gabel aussehen), können Sie die Lego-Kreuzachse einkleben. Bevor Sie Epoxid auftragen, stellen Sie sicher, dass Sie Maskierungsband über dem gelben Gehäuse anbringen des Motors, damit Sie die Welle nicht versehentlich am Gehäuse kleben. Mischen Sie das 5-Minuten-Epoxid gut und tragen Sie eine dicke Schicht über dem weißen Bit und der Querachse auf, wir suchen eine 1-2 mm dicke Schicht. 5-Minuten-Epoxid wird ziemlich schnell klebrig und unbrauchbar, also arbeite hier schnell.
  4. Sobald Sie eine Desent-Schicht aufgetragen haben und das Epoxid nicht läuft, sollten Sie fertig sein. Es läuft ein bisschen, also sei vorsichtig. Sobald es auf eine gummiartige Konsistenz eingestellt ist, können Sie überschüssiges Epoxid leicht abschneiden, so habe ich ein schönes flaches Ende bei mir bekommen.
  5. Lassen Sie es über Nacht trocknen und Sie sollten bis zum Morgen einen Lego-DC-Getriebemotor haben

Schritt 3: Verdrahten Sie es

Verkabeln
Verkabeln
Verkabeln
Verkabeln
Verkabeln
Verkabeln

Die Verkabelung für dieses Projekt ist ziemlich einfach. Wir verwenden die 4 Buchse-zu-Buchse-Überbrückungskabel, um unsere GPIO-Pins mit dem L298N-Motorcontroller zu verbinden, und ein Stecker-zu-Buchse-Überbrückungskabel, um die Masse des Raspi 3 mit der Masse des L298N-Motorcontrollers zu verbinden. Wir werden auch etwas Draht verwenden, um die Motoren mit dem L298N-Motorcontroller zu verbinden.

Ich entscheide mich für diese Kombination von Pins auf dem Raspi, weil sie zusammen geclustert sind. Sie können jedoch einen beliebigen Satz von GPIO-Pins und GND verwenden. Denken Sie daran, es im Code zu ändern.

Sie können den Schaltplan verwenden oder die folgenden Schritte ausführen:

Raspi 3 L298N

GND (Pin 14) GND

GPIO27 (Pin 13) IN1

GPIO22 (Pin 15) IN2

GPIO23 (Pin 16) IN3

GPIO24 (Pin 18) IN4

Für die Motoren und die Art und Weise, wie sie montiert sind, habe ich sie so verdrahtet.

Out2, Out3 negativ

Out1, Out4 positiv

Im Wesentlichen war negativ nach hinten und positiv war nach vorne gerichtet. Umgekehrt fährt der Panzer nur in die entgegengesetzte Richtung, was per Software leicht zu beheben ist.

Schritt 4: Die Programmierung

Für diesen Schritt müssen wir also einige Dinge einrichten, falls Sie dies noch nicht getan haben.

  • Raspian
  • Python 2 oder 3
  • Git
  • MJPG-Streamer

Raspian installieren

Als erstes müssen wir Raspian auf einer Micro-SD-Karte haben, also eine formatierte SD von mindestens 8 GB bereithalten (Sie können auch NOOBS lite installieren, wenn Sie nur eine 4 GB-Karte haben).

Zur Installation von Raspian würde ich die Verwendung von NOOBS empfehlen. Der offizielle Link ist hier. Laden Sie die ZIP-Datei auf Ihren PC herunter und extrahieren Sie die Dateien auf die SD-Karte. Stellen Sie sicher, dass die Dateien und Ordner vorhanden sind und sich nicht in einem Noobs-Ordner befinden.

Stecken Sie anschließend die SD-Karte in das Raspi 3, schließen Sie einen Bildschirm (ein Fernseher mit HDMI funktioniert gut, wenn Sie keinen Monitor haben) und eine Tastatur und Maus an.

Sie sollten den Installationsbildschirm laden sehen, eine Verbindung zum WLAN herstellen (WLAN ist für dieses Projekt erforderlich) und installieren. Ich verwende einfach die Standardeinstellungen, da sie gut funktionieren.

Konfigurieren für den Headless-Modus

Sobald Raspian installiert ist und Sie beim Raspi 3 angemeldet sind, können Sie also damit beginnen, den Raspi 3 so zu konfigurieren, dass er im Headless-Modus läuft (d. h. SSH anstelle von Bildschirm und Tastatur verwenden). Nur ein Hinweis, dass Sie sudo verwenden müssen, stellen Sie also sicher, dass Sie das Root-Passwort kennen.

Öffnen Sie ein Terminal und geben Sie 'sudo raspi-config' ein. Sie sollten einen blauen und grauen Bildschirm wie in den Bildern haben. Gehen Sie zu 'Schnittstellenoptionen', drücken Sie die Eingabetaste, gehen Sie dann zu 'P2 SSH', drücken Sie die Eingabetaste und geben Sie erneut ein für 'ja', erneut für 'ok'.

Gehen Sie nun zurück zu 'Schnittstellenoptionen' und aktivieren Sie die Kamera.

Zurück im Menü drücken Sie rechts und geben Sie ein, um 'Fertigstellen' auszuwählen.

Als nächstes müssen wir unsere IP-Adresse finden, Sie können dies tun, indem Sie 'ifconfig' in das Terminal eingeben. Suchen Sie den Block, der mit wlan0 beginnt (normalerweise der letzte) und notieren Sie Ihre IP-Adresse. Es sollte in der zweiten Zeile stehen und etwa so aussehen 192.168.1. XX, wenn Sie Ihr Heim-WLAN verwenden.

Super das ist das Ende der Konfiguration

Installation zusätzlicher Software

Um die Skripte auszuführen, die ich habe, müssen Sie Python 2 oder 3 installiert haben. Wenn Sie Python lernen möchten, würde ich empfehlen, Python 3 zu lernen, die Unterschiede sind gering, aber Python 3 wird jetzt häufiger verwendet. Es sollte mit Raspian vorinstalliert sein, aber wir sollten es nur überprüfen.

Geben Sie 'python --version' ein, Sie sollten eine Ausgabe wie 'Python 2.7.13' erhalten, was bedeutet, dass Sie Python 2 installiert haben. Um zu überprüfen, ob Sie Python 3 haben, geben Sie einfach 'python3 --version' ein und Sie sollten eine ähnliche Ausgabe erhalten. Wenn Sie Python 2 oder 3 nicht haben, können Sie 'sudo apt-get install python' bzw. 'sudo apt-get install python3' eingeben.

Sie benötigen auch Git, um den Code zu erhalten, auch hier sollte er vorinstalliert sein. Geben Sie 'git --version' ein, um 'sudo apt-get install git' zu überprüfen und zu verwenden, wenn Sie es nicht haben.

MJPG-Streamer installieren

MJPG-Streamer ist eine der Möglichkeiten, wie ich auf die Picamera zugreifen konnte. Es ermöglicht Ihnen, über einen Browser auf die Kamera zuzugreifen und das Bild zu bearbeiten. Es ist wahrscheinlich die schönere und einfachere Art, die Kamera zu verwenden, wenn Sie sich mit Code nicht wohl fühlen.

  1. Wir werden wieder Git verwenden. Geben Sie 'git clone https://github.com/jacksonliam/mjpg-streamer.git' in das Raspi 3-Terminal ein. Die Software wird heruntergeladen, es dauert nicht allzu lange.
  2. An dieser Stelle ist es wahrscheinlich am besten, sich die Datei 'README.md' anzusehen und den Installationsanweisungen zu folgen. Sie haben bei mir reibungslos funktioniert. Wenn Sie Fragen haben, hinterlassen Sie sie in den Kommentaren und ich werde versuchen, zu helfen

Nach der Installation können Sie es ausführen. Wie ich das mache, gehe ich weiter unten durch.

Alles zusammenfügen

Großartig, jetzt sollten wir bereit sein zu gehen. Stellen Sie sicher, dass Ihr Raspi 3 eingeschaltet ist. Öffnen Sie auf Ihrem PC/Laptop ein Terminal (ich gehe davon aus, dass Sie Linux oder Mac verwenden, wenn Sie Windows verwenden, müssen Sie Putty herunterladen. Es gibt viele Online-Tutorials zur Verwendung, keine Sorge, es ist einfach) und geben Sie 'ssh [email protected]. XX ein (vorausgesetzt, Sie haben den Standardbenutzernamen nicht geändert) oder was auch immer Ihre IP-Adresse war, die wir zuvor gefunden haben. Geben Sie Ihr Passwort ein (dies sollte definitiv nicht die Standardeinstellung sein). Super, jetzt befinden Sie sich über Ihren PC/Laptop in einer Terminalsitzung auf dem Raspi 3.

Geben Sie also im Terminal 'git clone https://github.com/astrobenhart/Raspi-3-FPV-Lego-T… ein. Dies sollte nur wenige Sekunden dauern, da die Dateien sehr klein sind. Sie können dann mit 'cd Raspi-3-FPV-Lego-Tank' in das Verzeichnis navigieren, geben nun 'ls' ein und stellen sicher, dass Sie diese 5 Dateien sehen: 'demo.py', 'drive.py', 'Picamera_tank. py, 'fertig.jpg' und 'README.md'. Sehen Sie sich die Readme-Datei für Updates an.

demo.py

Dieses Py-Skript ist großartig, um zu testen, ob Ihre Verkabelung funktioniert. Es geht nur durch verschiedene Kombinationen des Vorwärts- und Rückwärtsfahrens der Motoren.

Verwenden Sie 'python demo.py' zum Ausführen. Es dauert ungefähr eine halbe Minute, bis es fertig ist.

drive.py

Dies ist das py-Skript, das Sie ausführen werden, um den Tank zu steuern. Es richtet die GPIO-Pin-Zuordnung ein und erstellt Defs zum Verschieben. Es erfasst auch Tastendrücke, um den Tank zu steuern.

Verwenden Sie 'python drive.py' zum Ausführen. Geben Sie ihm eine Sekunde, Ihr Terminal sollte leer sein.

Verwenden Sie 'w, a, s, d', um sich zu bewegen, und die Leertaste, um zu stoppen. Wenn Sie bereit sind, das Programm zu schließen, drücken Sie 'n'.

Picamera_tank.py

Dies ist meine Version eines Streamers für die Kamera. Dies läuft nur mit Python 3 (dh verwenden Sie 'python3 Picamera_tank.py' zum Ausführen). Dies kann in einem zweiten Terminalfenster ausgeführt werden oder Sie können Strg-z drücken und bg eingeben, um es im Hintergrund auf demselben Terminal auszuführen. Persönlich verwende ich gerne ein separates Terminal.

Sie sollten nichts extra installieren müssen, aber wenn Sie pip verwenden. Wenn Sie Probleme haben, hinterlassen Sie einen Kommentar.

Sobald dies auf dem Raspi 3 läuft, loggen Sie sich in den Browser Ihres PCs/Laptops ein und gehen Sie zu 192.168.1. XX:8000 (die IP, die wir zuvor gefunden haben). Sie sollten die Kameraausgabe sehen. Wenn das Bild gedreht werden muss, müssen Sie das py-Skript bearbeiten. Unten befindet sich ein Kommentar, unten geben Sie die gewünschten Rotationsgrade ein. Bei mir waren es 180, da meine Kamera auf dem Kopf steht.

Um den MJPG-Streamer auszuführen

Um MJPG-Streamer auszuführen, navigiere ich zu 'mjpg-streamer/mjpg-streamer-experimental' und führe './mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so -hf"' aus.

Sobald dies ausgeführt wird, gehen Sie zu 192.168.1. XX:8080 (die IP, die wir zuvor gefunden haben) und klicken Sie auf Streaming. Spielen Sie mit den anderen Optionen herum, sie könnten für Sie nützlich sein.

Und das ist es. Sie sollten jetzt in der Lage sein, Ihren eigenen FPV-Tank herumzufahren, wo immer Sie Ihr WLAN bekommen. Spaß haben.

Schritt 5: Fertiges Produkt

Und hier ist ein Video, in dem alles funktioniert.

Nur ein Hinweis, dass ich den Raspi 3 an meinen Laptop angeschlossen habe, um ihn im Video mit Strom zu versorgen, da die Powerbank während einiger Tests leer war. Es dauerte fast eine Stunde, worüber ich mich sehr gefreut habe.

Bitte hinterlassen Sie Kommentare, wenn Sie welche haben, und ich hoffe, Sie genießen es, diesen Raspberry Pi 3 FPV Lego Tank zu machen, wenn Sie es versuchen.

Vielen Dank, Ben

Empfohlen: