Inhaltsverzeichnis:

Bananen-/Himbeer-Pi + Arduino Rover mit Webcam - Gunook
Bananen-/Himbeer-Pi + Arduino Rover mit Webcam - Gunook

Video: Bananen-/Himbeer-Pi + Arduino Rover mit Webcam - Gunook

Video: Bananen-/Himbeer-Pi + Arduino Rover mit Webcam - Gunook
Video: Morning Routine (10 DIY Ideas, Makeup, Healthy Recipes) 2024, November
Anonim
Banana/Raspberry Pi + Arduino Rover mit Webcam
Banana/Raspberry Pi + Arduino Rover mit Webcam

Ein Projekt, das ich in meiner Freizeit gemacht habe. Es handelt sich um einen 4-Rad-Roboter mit vollem Antrieb, der über eine Webschnittstelle gesteuert wird. Wenn Sie Anmerkungen oder Fragen haben, können Sie mich gerne kontaktieren. Dieses Projekt selbst verwendet 3D-gedruckte Teile und bestimmte Codestücke, die von anderen Personen erstellt wurden. Sie können Credits finden und sich die Originalstücke am Ende von Instructuble ansehen.

Sollen wir anfangen?

Schritt 1: Komponenten, die Sie benötigen

Komponenten, die Sie benötigen
Komponenten, die Sie benötigen
Komponenten, die Sie benötigen
Komponenten, die Sie benötigen
Komponenten, die Sie benötigen
Komponenten, die Sie benötigen

Hier ist die Liste der Komponenten, die ich mit den Links und den Alternativen verwendet habe. Ich lebe in Shenzhen, China und habe die Teile direkt bei Taobao gekauft.

4-Motoren-Roboter-Chassis Alternative: Jedes ausreichend große Chassis reicht aus. Dieser hat 4 Motoren für etwas zusätzliches Drehmoment. Die Motoren sind normale billige gelbe Motoren, Bewerter für

L293D Arduino Motor Shield rev.1 Klon Alternative: Bessere Motorabschirmung für mehr Strom ausgelegt

Arduino Uno-Klon Alternative: Sie können jedes andere Arduino-Board ohne wesentliche Änderungen am Code verwenden.

6V 4.5Ah Pb Akku Alternative: Es ist möglich mit kleineren LiPo Akkus zu experimentieren, wenn Sie einen leichteren Roboter wünschen oder nur zwei Motoren verwenden möchten.

Banana Pi Alternative: Kann ohne wesentliche Codeänderungen gegen Raspberry Pi 1/2/3 oder Orange Pi ausgetauscht werden. Ich habe Banana Pi nur verwendet, weil ich einen herumliegen hatte.

Webkamera-Alternative: CSI-Kamera für Raspberry Pi/Banana Pi/Orange Pi verwenden

Kamera-Schwenk-/Neigehalterung mit sg60-Servos Alternative: 3D-Druck-Neigungs-/Schwenkhalterung kann beispielsweise diese verwenden.

3D-gedruckte Teile Alternative: Lassen Sie sich von Ihrer Fantasie und Ihren 3D-Designtalenten leiten! Auch Dingverse:)

Schritt 2: Verbinden Sie die Motoren mit L293D Motor Shield

Verbinden Sie die Motoren mit dem L293D-Motorschild
Verbinden Sie die Motoren mit dem L293D-Motorschild
Verbinden Sie die Motoren mit dem L293D-Motorschild
Verbinden Sie die Motoren mit dem L293D-Motorschild

Schließen Sie jeden Motor mit Schraubklemmen für die Motorabschirmung an. Hier ist der Schaltplan. Wenn Sie nur zwei Motoren haben und den Code nicht ändern möchten, schließen Sie diese an MOTOR 1 und MOTOR 3 an.

HINWEIS: Für diejenigen, die andere Motoren mit höherem Nennstrom verwenden, benötigen Sie möglicherweise einen anderen Motortreiber. Alternativ habe ich kürzlich einen netten kleinen Hack gelernt, dass Sie zwei weitere L293D-Treiber über den vorhandenen (es ist der mittlere Chip auf der Platine) huckepack tragen können!

Schritt 3: Arduino Uno, Motorschildbaugruppe

Arduino Uno, Motorschildbaugruppe
Arduino Uno, Motorschildbaugruppe

Legen Sie Arduino Uno in das Gehäuse und installieren Sie Motor Shield darauf. Dafür gibt es nur einen Weg, wenn es nicht passt, machst du was!

Arduino Uno Kuscheliges Gehäuse

Hier ist der Fall, den ich verwendet habe, ein von Esquilo erstelltes Modell.

Schritt 4: Verbinden Sie die Stromversorgung mit Banana Pi und Arduino

Verbinden Sie die Stromversorgung mit Banana Pi und Arduino
Verbinden Sie die Stromversorgung mit Banana Pi und Arduino

Ich habe die SATA-Schnittstelle verwendet, um Banana Pi (6 V) mit Strom zu versorgen. Wenn Sie die gleiche Platine haben, können Sie dies auch tun, stellen Sie nur sicher, dass die Spannung 5 V-6 V beträgt. Es handelt sich um ein ungeregeltes Netzteil, daher gehe ich davon aus, dass auf dem Banana Pi M1 eine Schutzschaltung für die SATA-Stromversorgung vorhanden ist.

ACHTUNG: Für Raspberry Pi haben Sie einige Optionen: eine sichere (mit einem USB-Anschluss zur Bereitstellung von 5 V) und eine nicht so sichere (mit GPIO-Pins). Hier ist der Link zum Anschließen der Stromversorgung an die GPIO-Pins des Raspberry Pi. Stell sicher, dass du

1) Verwenden Sie eine geregelte Stromversorgung

2) Stellen Sie die Spannung auf 5V. ein

Es gibt keine Schutzschaltung für GPIO-Pins! Wenn Sie etwas falsch machen, besteht die Gefahr, dass die Elektronik auf der Platine beschädigt wird.

Für Arduino verdrahten Sie einfach die Stromversorgung zu den Eingangsschraubenklemmen auf der Motorabschirmung. Es kann bis zu 12 V aufnehmen.

Schritt 5: Legen Sie Banana Pi in das 3D-gedruckte Gehäuse, montieren Sie den Rest des Rovers

Legen Sie Banana Pi in das 3D-gedruckte Gehäuse und bauen Sie den Rest des Rovers zusammen
Legen Sie Banana Pi in das 3D-gedruckte Gehäuse und bauen Sie den Rest des Rovers zusammen
Legen Sie Banana Pi in das 3D-gedruckte Gehäuse und bauen Sie den Rest des Rovers zusammen
Legen Sie Banana Pi in das 3D-gedruckte Gehäuse und bauen Sie den Rest des Rovers zusammen

Ich habe diesen Fall für Banana Pi von thingverse verwendet, erstellt von GermanRobotics. Das Cover dafür habe ich selbst gemacht.

Legen Sie Banana Pi in das Gehäuse, bedecken Sie es mit dem Deckel und befestigen Sie Arduino Uno mit einer Klebepistole auf dem Banana Pi-Gehäuse.

Decken Sie den Akku mit dieser Abdeckung ab und befestigen Sie die Webcam-Schwenk-/Neigehalterung oben.

Wenn Sie Banana Pi verwenden, benötigen Sie einen USB-Hub, da dieser nur über zwei USB-Steckplätze verfügt (Raspberry 2, 3 hat vier). Rein aus ästhetischen Gründen habe ich mich entschieden, einen OTG 1-2 USB-Hub zu verwenden und die Drähte im Banana Pi-Gehäuse zu verstecken.

Schritt 6: Hardware-Montage fertig

Hardware-Montage fertig!
Hardware-Montage fertig!

Fassen wir kurz zusammen, was wir bisher gemacht haben.

Wir haben die Roboterplattform zusammengebaut, Banana Pi, Arduino Uno mit Strom versorgt, Motoren und Servos mit dem Motortreiber verbunden und einen USB-Hub verwendet, um die USB-Kamera und Arduino Uno mit dem Banana Pi zu verbinden. Jetzt können Sie die Hardware testen und Fehler beheben. Der Schaltplan mit allen Anschlüssen ist für diesen Schritt im Bild.

Schritt 7: Systemkonfiguration

Systemkonfiguration
Systemkonfiguration

Ich habe Raspbian Lite-Image für das System auf meinem Pi verwendet. Die Lite-Version hat keine GUI und wird nur mit Basispaketen pro Installation geliefert. Aber es braucht viel weniger Platz, was bedeutet, dass wir eine kleinere SD-Karte verwenden können. Wenn Sie sich ohne GUI nicht wohl fühlen, können Sie auch das vollständige Image installieren.

Verbinden Sie Ihren Pi über das Ethernet-Kabel mit dem Internet. Nachdem es hochgefahren ist, besteht der erste Schritt darin, es mit Wi-Fi zu verbinden.

Führen Sie den folgenden Befehl im Terminal aus

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Bearbeiten Sie die Konfigurationsdatei mit Ihren WLAN-Anmeldeinformationen

network={ ssid="testing" psk="testingPassword" }

Starten Sie den Pi neu. Voila! Sie sind jetzt mit dem WLAN verbunden.

Als nächstes müssen wir pip (Python Package Manager) installieren.

sudo apt-get install python-setuptools

sudo easy_install pip

Jetzt verwenden wir pip, um Flask zum Ausführen eines Webservers und pyserial zu installieren, damit pi über eine serielle Verbindung mit Arduino kommuniziert.

sudo pip install kolben

sudo pip install pyserial

Als letztes müssen Sie das Motion-Paket installieren und konfigurieren, das wir zum Streamen von Videos von unserer Webcam verwenden.

Folgen Sie dieser großartigen Anleitung, um dies zu tun.

Jetzt sind wir bereit zu rumpeln!

Schritt 8: Starten der Software

Starten der Software
Starten der Software
Starten der Software
Starten der Software

Erinnerst du dich, wie ich sagte, wir sind bereit zu rumpeln?

Okay, noch ein bisschen schleifen und dann können wir anfangen zu rumpeln:)

Laden wir alle notwendigen Dateien aus meinem Github-Repository herunter.

git-Klon

Laden Sie rover.ino auf Arduino Uno hoch. Wenn Sie Hardwareänderungen vorgenommen haben (z. B. mit einem anderen Motorschild), müssen Sie die Skizze ändern.

Wenn Sie eine Webcam verwenden, ändern Sie die Zeile am unteren Rand der Datei index.html im Vorlagenordner. Ändern Sie die URL in der Zeile IFRAME so, dass sie mit der src-URL für Ihren Videostream übereinstimmt.

Jetzt können Sie den Webserver starten. Führen Sie den folgenden Befehl aus

sudo python pi_rover.py

Wenn Sie meinem Build sehr genau gefolgt sind und Arduino angeschlossen haben, sehen Sie Folgendes (erstes Bild) im Terminal.

Geben Sie die IP-Adresse Ihres Roboters in den Webbrowser ein (in meinem Fall war es zum Beispiel 192.168.1.104), Sie können die IP-Adresse mit dem Befehl $ifconfig unter Linux überprüfen.

/mach den festlichen Tanz hier!/

Wenn Sie Fragen haben, können Sie mich gerne in den Kommentaren stellen. Dieses Tutorial richtet sich an Anfänger, aber nicht an Null-Anfänger, deshalb habe ich mich recht kurz mit den Dingen befasst, nach denen Sie einfach googeln können (z. B. Systemabbild auf SD-Karte brennen, Arduino-Skizze hochladen usw.).

Schritt 9: Credits

Die Idee und der Webserver-Code stammt von diesem großartigen instructable von jscottb. Ich habe es modifiziert, um gängigere Hardware wie Arduino Uno zu verwenden.

Die 3D-gedruckten Teile von Thingverse.

www.thingiverse.com/thing:994827

www.thingiverse.com/thing:2816536/files

www.thingiverse.com/thing:661220

Empfohlen: