Inhaltsverzeichnis:

Dog Bot: Lego Robot Rover mit Webcam - Gunook
Dog Bot: Lego Robot Rover mit Webcam - Gunook

Video: Dog Bot: Lego Robot Rover mit Webcam - Gunook

Video: Dog Bot: Lego Robot Rover mit Webcam - Gunook
Video: LEGO MINDSTORMS Robot Inventor 5in1 | Designer Video | FIVE new LEGO Robots 2020 2024, Juli
Anonim
Image
Image

So bauen Sie einen Lego-Roboter, den Sie von jedem Bildschirm aus über WLAN steuern können. Es hat auch eine Webcam, damit Sie sehen können, wohin Sie gehen, und LED-Lichter für die Augen! Dies ist ein großartiges Projekt für Ihre Kinder, da sie das Logo erstellen können und Sie sie in so viel Elektronik einbeziehen können, wie sie möchten. Es gibt viel Flexibilität bei der Umsetzung dieses Projekts, und das bedeutet, Sie kann es leicht zerlegen und neu gestalten. Ich fand es nützlich, wenn ich feststeckte, einfach wieder anzufangen. Sobald Sie dies ein paar Mal getan haben, ist es ziemlich einfach und schnell von Grund auf neu aufzubauen. Das Tolle daran ist, dass Sie sich keine Sorgen machen müssen, etwas zu "brechen", da Sie die Fähigkeiten entwickeln, um leicht wieder aufzubauen.

Was du brauchst

  • Raspberry Pi B+
  • Basis- und Motorkit
  • Lego-Grundplatte
  • Superkleber in Industriequalität
  • Bohren
  • Cuttermesser
  • Lötgeräte
  • SD-Karte
  • SD-Kartenleser
  • Motorcontroller-Kit
  • 2 LEDs
  • mittelpreisige Webcam (Sie könnten eine billige ausprobieren)
  • PC und ein Tablet / Telefon
  • WLAN-Router, auf den Sie Administratorzugriff haben
  • Viele Stückchen Lego
  • Notfall-Handy-Ladegerät
  • 4 Starthilfekabel mit jeweils mindestens 1 Buchsenklemme
  • 4 AA-Batterien (wiederaufladbar ist gut)

Schritt 1: Bereiten Sie die Basis vor

Angefangen habe ich mit einer Basis und 2 Motoren wie diesem Motorset bei Amazon

Nehmen Sie die Plexiglasbasis und kleben Sie eine dünne Lego-Grundplatte darauf. Ich habe dafür Superkleber verwendet, der in wenigen Minuten trocknet und super stark ist. Wenn der Kleber fixiert ist, schneiden Sie die überschüssige Lego-Grundplatte so ab, dass sie der Linie der Plexiglas-Grundplatte folgt. Bohren Sie dann Löcher durch die Lego-Platte, die zur Plexiglasbasis passen. Die Löcher habe ich nach Bedarf gebohrt. Sie haben jetzt die Grundlage für den Bau Ihrer Lego-Struktur.

Schritt 2: Montieren Sie die Räder

Montieren Sie die Räder
Montieren Sie die Räder

Montieren Sie nun die Räder. Folgen Sie hier den Anweisungen des Herstellers. Die Räder, die ich gekauft habe, hatten alle Anweisungen auf Chinesisch, die ich nicht lesen kann, aber auf den Bildern war es ziemlich einfach herauszufinden. Nach dem Zusammenbau befestigen Sie die Drähte mit einem kleinen Klecks Lötzinn an den Motoren.

Schritt 3: Räder an der Basis befestigen

Bringen Sie die Räder an der Basis an
Bringen Sie die Räder an der Basis an

Als nächstes befestigen Sie die Räder auf der Grundplatte, Sie können bei Bedarf Löcher in die Basis bohren. Sie werden wahrscheinlich gegen Ende des Projekts feststellen, dass Sie die Drähte woanders durch die Basis führen möchten, aber Sie können jederzeit ein neues Loch bohren und später verschieben.

Schritt 4: Bereiten Sie das Pi. vor

Bereiten Sie den Pi. vor
Bereiten Sie den Pi. vor

Bereiten Sie nun den PI vor. Ich habe ein Modell B+ mit einem USB-WLAN-Dongle verwendet. Ich habe das vollständige Desktop-Image verwendet, das auf Debian Jessie basiert und das Sie von der Raspbian Pi-Site herunterladen können. Es lohnt sich, die SD-Karte von Grund auf neu zu erstellen und das Disk-Image griffbereit zu halten, da Sie problemlos neu beginnen können. Möglicherweise müssen Sie ein wenig googeln, um herauszufinden, wie Sie das Disk-Image auf Ihrem PC erstellen. Ich habe mein Image mit Ubuntu wie folgt erstellt: Klicken Sie mit der rechten Maustaste auf das Disk-Image und wählen Sie "Mit Disk Image Writer öffnen". Schreiben Sie das Bild auf die SD-Karte. Das Disk-Image ist ziemlich klein, wenn Sie also eine größere SD-Karte (zB: 30 GB) haben, können Sie Partitionierungssoftware wie GParted verwenden, um den gesamten verfügbaren Speicherplatz zu verbrauchen. Sobald Sie herausgefunden haben, wie das geht, dauert es ungefähr 5 Minuten und es lohnt sich wirklich, als ob Sie die Software durcheinander bringen, die Sie einfach erneut installieren können.

Schritt 5: Montieren Sie die Controller-Platine

Montieren Sie die Controller-Platine
Montieren Sie die Controller-Platine

Als nächstes benötigen Sie eine Motorcontrollerplatine. Ich habe das Kit von RyanTek verwendet. Es kommt mit einer ausgezeichneten Lötanleitung, aber ich denke, Sie können es auch vorgelötet bekommen. Wenn Sie noch nie gelötet haben, machen Sie sich keine Sorgen, gehen Sie es langsam an und üben Sie ein wenig, bevor Sie mit der Motorplatine beginnen.

Befestigen Sie nun den Akku (mit 4 AA-Batterien) und die Motoren bis zur Controller-Platine und befestigen Sie dann die Controller-Platine an den GPIO-Pins des Pi. Auch hier gibt Ihnen die Controller-Platine weitere Details. Machen Sie sich keine Sorgen, die richtigen Motorkabel in die richtigen Steckplätze zu stecken, solange sie nicht an die Gleichstromsteckplätze angeschlossen sind. Ich klebe oder schraube den Pi oder den Akku nicht auf das Lego-Board, da Sie so mehr Flexibilität beim Gestalten des Lego-Körpers haben. Sie können Ihr Design auch im Laufe der Zeit leicht ändern.

Schritt 6: Beginnen Sie mit dem Bau des Lego-Körpers

Beginnen Sie mit dem Bau des Lego-Körpers
Beginnen Sie mit dem Bau des Lego-Körpers
Beginnen Sie mit dem Bau des Lego-Körpers
Beginnen Sie mit dem Bau des Lego-Körpers

Jetzt ist es Zeit, etwas Lego zu bauen. An dieser Stelle können Sie wirklich kleine Kinder einbeziehen, solange sie ein Stück Lego halten können! Wir begannen mit einem einfachen quadratischen Gehäuse, bis alles funktionierte, und wurden dann mit dem Hundebot abenteuerlicher. Das Tolle daran ist, dass man den Roboterkörper beliebig nachbauen kann. Beginnen Sie damit, ein Zuhause für den Pi zu erstellen. Denken Sie daran, Platz für die USB-Anschlüsse und die Stromkabel zu lassen. Bauen Sie eine angemessene Menge an Lockerheit in jedes Gehäuse ein, das Sie bauen. Es ist in Ordnung, dass die Dinge ein bisschen herumklappern, und mit Lego kann man nicht zu genau sein.

Wir haben Lego-Fenster verwendet, um Zugriff auf die USB-Anschlüsse zu ermöglichen, die Sie später benötigen.

Schritt 7: Bereiten Sie das Pi. vor

Es ist jetzt eine gute Zeit, den Pi zu starten und den Roboter in Bewegung zu setzen.

Ich habe den Code für dieses Projekt bei Git Hub entwickelt. Die Read me on the git hub-Seiten führen Sie durch die Anweisungen zur Installation der gesamten Software auf dem Pi, aber ich werde Sie auch durch die Schritte führen Hier.

Starten Sie zuerst den Pi, indem Sie das Netzkabel einstecken. Sie müssen das HDMI-Kabel an einen Fernseher anschließen und eine USB-Tastatur und -Maus verwenden. Verbinden Sie sich zunächst mit Ihrem WLAN. Sie tun dies, indem Sie auf das Symbol oben rechts auf dem Raspian-Desktop klicken und die Details beweisen. Sobald Sie mit dem Wifi verbunden sind, können Sie alles andere über die Befehlszeile tun. Wenn Sie es vorziehen, können Sie sich also mit ssh mit dem Pi verbinden, aber im Moment können wir, da wir mit einem Fernseher verbunden sind, ein Terminal vom Raspian-Desktop öffnen.

Schritt 8: Installieren Sie die Software auf dem Pi

Öffnen Sie das Terminal auf dem Pi und geben Sie die folgenden Befehle ein.

sudo apt-get update

Dadurch wird Raspian mit der neuesten Software aktualisiert.

Installieren Sie als Nächstes die Webcam-Software

sudo apt-get install motion

An dieser Stelle müssen Sie auch die Bewegung konfigurieren. Ich habe auf den Github-Seiten aufgelistet, was in welchen Dateien aktualisiert werden muss. Es gibt auch eine Anleitung zum Erhalten einer Webcam, die auf Ihrem Pi funktioniert. Lernen Sie die Einstellungen kennen und spielen Sie mit ihnen herum, sobald Sie mit der Einrichtung vertraut sind.

sudo apt-get install python-dev python-pip

Dadurch werden Python-Bibliotheken und auch der Python-Softwarepaketierungsmanager installiert.

sudo pip install 'pubnub>=4.1.2'

Dadurch wird Pubnub installiert, die Software, die das Messaging zwischen dem Bedienfeld und Ihrem drahtlosen Roboter verwaltet.

Es dauert eine Weile, dieses Teil zu installieren, also gehen Sie und machen Sie eine Tasse Tee !!

Schritt 9: Installieren Sie die Robotersoftware

Jetzt haben Sie alle abhängigen Software-Teile installiert, es ist an der Zeit, den Code zu installieren, der zum Ausführen des Roboters erforderlich ist.

Git-Klon

Dadurch wird ein Lego-Roboter-Ordner in Ihrem Home-Verzeichnis erstellt.

Bevor Sie den Robotercode ausführen können, müssen Sie ein PubNub-Konto erstellen und einen Veröffentlichungs- und Abonnementschlüssel erhalten. Sie können dies tun, indem Sie den Anweisungen für die ersten Schritte bei PubNub folgen. Sobald Sie eingerichtet sind, müssen Sie die beiden Dateien öffnen:

  • Lego-Roboter/Server/keys.py
  • lego-robot/client/keys.js

und ersetzen Sie die Pub- und Sub-Schlüssel durch Ihre Schlüssel, die Sie über das Pubnub-Dashboard erhalten.

Beachten Sie, dass der Kanalwert beliebig sein kann, solange er auf Client und Server übereinstimmt.

Schritt 10: Installieren Sie die Controller-Software und überprüfen Sie, ob alles funktioniert

Installieren Sie die Controller-Software und überprüfen Sie, ob alles funktioniert
Installieren Sie die Controller-Software und überprüfen Sie, ob alles funktioniert
Installieren Sie die Controller-Software und überprüfen Sie, ob alles funktioniert
Installieren Sie die Controller-Software und überprüfen Sie, ob alles funktioniert

Klonen Sie auf einem PC den Git-Hub-Code auf die gleiche Weise wie auf dem Roboter.

Git-Klon

Möglicherweise haben Sie Git nicht auf Ihrem PC installiert. Wenn nicht, folgen Sie bitte den Anweisungen auf git hub.

Sie haben auch die Möglichkeit, den Code als Zip-Datei herunterzuladen, obwohl ich empfehlen würde, GIT zu installieren und die Dateien durch Klonen des Repositorys zu kopieren.

Sie müssen die Datei lego-robot/client/keys.js mit Ihren persönlichen Veröffentlichungs- und Abonnementschlüsseln aktualisieren.

Wenn Sie fertig sind, öffnen Sie die Datei lego-robot/client/buttons.html in einem Webbrowser. Sie sollten jetzt in der Lage sein, Ihren Roboter mit den Steuertasten zu steuern.

Das obige Diagramm zeigt, was passiert:

  • Wenn Sie auf eine Schaltfläche klicken, wird eine Nachricht an pubnub gesendet (unter Verwendung Ihres Veröffentlichungsschlüssels).
  • PubNub leitet dann an den Roboter weiter, der…
  • Hört (unter Verwendung der Abonnieren-Taste) auf Nachrichten
  • Der Roboter übersetzt dann in eine Aktion.

Ich habe pubNub als kostenloses, schnelles (Echtzeit) und vereinfachtes Senden und Empfangen von Nachrichten mit einer wirklich schönen API verwendet.

Sie können den Client- und Server-Code einsehen und die gesendeten Nachrichten mit einfachen Tasten wie "vorwärts" und "rückwärts" anzeigen.

Es gibt auch einen Joystick-Controller unter lego-robot/client/joystick.html.

Ich werde diese Controller verbessern und ständig neue hinzufügen. Wenn Sie also jemals Software aktualisieren möchten, können Sie den Befehl "git pull" verwenden. Bitte tragen Sie auch zum Git-Repository bei und erstellen Sie benutzerfreundlichere Steuerelemente.

Jetzt sind Sie bereit zu überprüfen, ob die Bewegung in Ordnung ist. Wechseln Sie auf dem Pi-Terminal in das Verzeichnis lego-robot/server und geben Sie Folgendes ein:

sudo python robot.py

Dadurch wird ein Python-Skript gestartet, um eingehende Nachrichten von Pubnub abzuhören.

Versuchen Sie nun, einige Tasten auf dem Controller zu drücken. Sie sollten diese Antworten auf dem Pi-Terminal sehen (wie im Bild oben gezeigt) und der robot.py übersetzt diese Nachrichten in Bewegungen, indem er sie Signalen auf dem Pi-GPIO zuordnet.

Sie sollten den Roboter bewegen können.

Schritt 11: Bereiten Sie die Webcam und die LED-Leuchten vor

Bereiten Sie die Webcam und die LED-Leuchten vor
Bereiten Sie die Webcam und die LED-Leuchten vor
Bereiten Sie die Webcam und die LED-Leuchten vor
Bereiten Sie die Webcam und die LED-Leuchten vor

Sie können jede Webcam verwenden, die Linux-kompatibel ist (die meisten sind es). Ich würde mich für ein Mittelklasse-Modell (ca. £ 15) entscheiden, da ich ein wirklich billiges ausprobiert habe und kein klares Bild davon bekommen konnte. Der erste Schritt besteht darin, die Webcam zu zerlegen, sodass Sie nur noch die Grundplatine und die Kamera haben.

Wenn Sie Lichter installieren möchten, nehmen Sie ein LED-Licht und schließen Sie zwei Überbrückungsdrähte an jede Klemme an. Ich habe Überbrückungsdrähte verwendet, die an einem Ende eine Buchse haben, damit Sie sie später einfach in die Pis-GPIO-Pins stecken können. Das andere Ende des Drahtes müssen Sie abisolieren, um die Klemme zu entfernen. Sie können hier auch löten, um eine sichere Verbindung herzustellen. Ich habe auch etwas Schrumpffolie verwendet, mit der Sie jeden Draht abdecken können, obwohl ich mir keine Sorgen machen würde, es zu gut zu machen, bis Sie zufrieden sind, dass alles funktioniert, dann können Sie es fertigstellen und verbessern. Es ist auch eine gute Idee, einen Widerstand zu verwenden, um zu verhindern, dass Ihre LED brennt.

Es gibt eine detaillierte Anleitung hier, wie man LEDs verdrahtet.

Wie das Bild zeigt, verwende ich einen Lego-Block mit einem Loch, um die LED einfach auf den Roboterkopf zu montieren.

Schritt 12: Erstellen Sie den Kopf mit Nose-Cam und Lichtern

Erstellen Sie den Kopf mit Nose-Cam und Lichtern
Erstellen Sie den Kopf mit Nose-Cam und Lichtern
Erstellen Sie den Kopf mit Nose-Cam und Lichtern
Erstellen Sie den Kopf mit Nose-Cam und Lichtern
Erstellen Sie den Kopf mit Nose-Cam und Lichtern
Erstellen Sie den Kopf mit Nose-Cam und Lichtern

Erstellen Sie ein Kopfgehäuse für die Kamera. Ich werde hier nicht zu spezifisch sein, da es Zeit für Sie ist, kreativ zu sein. Sie müssen jedoch um die Kamera herum bauen. Dog Bot integriert die Kamera in seine Nase und hat die Augen als LEDs. Stellen Sie sicher, dass Sie am Hinterkopf ein Loch lassen, um die Drähte herauszuführen.

Schritt 13: Vervollständigen Sie den Körper

Vervollständige den Körper
Vervollständige den Körper
Vervollständige den Körper
Vervollständige den Körper
Vervollständige den Körper
Vervollständige den Körper

Jetzt sind Sie froh, dass sich der Hundebot im Grunde bewegt, können Sie ein Gehäuse für die Akkupacks erstellen. Ich habe eine Packung mit 4 AA-Batterien (mit den Rädern und der Basis geliefert) und ein Notfall-Telefonladegerät verwendet. Die AA-Batterien sind für die DC-Motoren für die Räder und das Handy-Pack für den Pi. Es ist eine gute Idee, die Batterien leicht zugänglich zu machen, da Sie zum Aufladen und Austauschen darauf zugreifen müssen.

Wenn Sie zufrieden sind, legen Sie ein Dach über den Pi. Ich mache mir nicht allzu viele Gedanken darüber, die Drähte und Schaltkreise zu verstecken, da dies Teil des Roboterimages ist. Es liegt jedoch an dieser Stelle ganz bei Ihnen. Sie sollten sich überlegen, wie schwer Ihr Bot wird, je schwerer, je langsamer er sich bewegt.

Schritt 14: Montieren Sie den Kopf

Montieren Sie den Kopf
Montieren Sie den Kopf
Montieren Sie den Kopf
Montieren Sie den Kopf
Montieren Sie den Kopf
Montieren Sie den Kopf

Es ist Zeit, alles zu verbinden.

Schließen Sie das USB-Kabel der Webcams an die Vorderseite des Bots an, indem Sie die von Ihnen erstellten Zugangslöcher verwenden. Sie können Draht am Roboter befestigen, indem Sie ein Lego-Gehäuse erstellen. Ich habe auch das USB-Kabel durch Schneiden und erneutes Löten verkürzt, aber tun Sie dies nur, wenn Sie wirklich den Drang haben, 4 winzige Drähte zusammenzulöten. Vielleicht ist es einfacher, ein kurzes USB-Kabel zu kaufen und es wieder an der Rückseite der Kamera anzuschließen.

Sie müssen auch die LED-Leuchten an die Pis-GPIO-Pins anschließen, die nicht vom Motorplatinen-Controller belegt werden. Dies sind die GPIO-Pins 20 und 21 und die beiden Ersatz-Masse-Pins in der Nähe. Verwenden Sie die Ersatz-Erdungsstifte in der Nähe. Wenn das Licht nicht funktioniert, versuchen Sie, die Masse mit dem GPIO-Ausgang umzuschalten. Um herauszufinden, welche Pins Sie mit einem guten GPIO-Diagramm verbinden müssen.

Schritt 15: Testen Sie die LEDs und die Nose Cam

Testen Sie die LEDs und die Nose Cam
Testen Sie die LEDs und die Nose Cam

Um die Webcam-Software zu starten, geben Sie Folgendes ein:

Sudo-Bewegung

Stellen Sie außerdem sicher, dass Sie das robot.py-Skript gestartet haben (wie in der vorherigen Anleitung beschrieben):

sudo python robot.py

Sie sollten jetzt in der Lage sein, den Lichtschalter am Controller zu verwenden, um die Lichter ein- und auszuschalten.

Die Webcam sollte auf Ihrer Pis-IP-Adresse auf Port 8080 senden, geben Sie also beispielsweise Folgendes in Ihren Webbrowser ein.

192.168.1.2:8081

Ich habe die Pi-IP-Adresse gefunden, indem ich mich als Admin bei meinem Router anmeldete und die angeschlossenen Geräte betrachtete. Anweisungen dazu befinden sich normalerweise auf der Rückseite des Routers oder finden Sie online in den Anweisungen Ihres Routers.

Sie können die Konfigurationseinstellungen der Motion-Software erkunden, wie im vorherigen Schritt beschrieben. Ich finde, dass das Streaming manchmal pausiert, aber im Allgemeinen funktioniert es OK.

Sie können auf diesen Videostream von allem zugreifen, auf dem ein Browser ausgeführt wird, der mit Ihrem Wifi-Netzwerk verbunden ist.

Schritt 16: Fertigstellen

Online-Zugang

Sie sollten nun in der Lage sein, den Roboter über einen Browser auf einem PC zu steuern. Es ist jedoch schön, den Bot von jedem Touch-Gerät wie Ipad oder Telefon aus steuern zu können.

Dazu müssen Sie die Client-Dateien (buttons.html usw.) auf einem Webserver hosten.

Ich begann mit der Installation eines Webservers auf dem Pi, der in Ordnung ist. Es ist jedoch einfacher, die HTML-Datei einfach auf einen anderen Webserver hochzuladen. Ich habe die HTML-Datei einfach in mein öffentliches Blue-Host-Konto kopiert. Möglicherweise möchten Sie den Zugriff auf diese Dateien durch Dateischutz schützen, da sie die Pub-Unterschlüssel für Ihren Pub-Nub-Kanal enthalten. Sobald Sie dies tun, können Sie von jedem Gerät aus auf den Controller zugreifen, auch von außerhalb Ihres Hauses.

Autostart

Eine andere nützliche Sache ist, das \etc\rc.local-Skript auf Ihrem Raspberry Pi zu aktualisieren; Hinzufügen dieser beiden Zeilen:

  • Sudo-Bewegung
  • nohup sudo python /home/pi/lego-robot/server/robot.py &

Diese werden bei jedem Start des Pi ausgeführt, sodass Sie den Befehl nicht manuell ausführen müssen.

Schritt 17: Viel Spaß

Spaß haben !
Spaß haben !

Das ist alles.

Bitte zögern Sie nicht, Kommentare zu hinterlassen, wenn Sie nicht weiterkommen und wenn Sie die Software verbessern möchten, tragen Sie bitte zum Github-Repository bei. Ich werde weiter an diesem Projekt arbeiten und hier sind einige Ideen:

  • Ein Controller im "Big Trak"-Stil, bei dem Sie eine Befehlsfolge wie "Links 10, Vorwärts 6, Zurück 2…" programmieren und dann "Run" drücken und der Roboter führt die Befehle aus.
  • Ein kippbarer Hals, damit Sie mit der Webcam nach oben schauen können
  • Ein Lautsprecher, der Text vom Controller in Sprache übersetzt
  • Sprachgesteuerte Steuerung

Danke schön

Peter

Empfohlen: