Inhaltsverzeichnis:
- Schritt 1: Komponenten, die Sie benötigen
- Schritt 2: Verbinden Sie die Motoren mit L293D Motor Shield
- Schritt 3: Arduino Uno, Motorschildbaugruppe
- Schritt 4: Verbinden Sie die Stromversorgung mit Banana Pi und Arduino
- Schritt 5: Legen Sie Banana Pi in das 3D-gedruckte Gehäuse, montieren Sie den Rest des Rovers
- Schritt 6: Hardware-Montage fertig
- Schritt 7: Systemkonfiguration
- Schritt 8: Starten der Software
- Schritt 9: Credits
Video: Bananen-/Himbeer-Pi + Arduino Rover mit Webcam - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:20
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
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
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
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
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
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
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
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
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:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 2 - Temperatur- / Feuchtigkeitsmonitor - Rev 3: 7 Schritte
Easy Very Low Power BLE in Arduino Teil 2 – Temperatur-/Feuchtigkeitsmonitor – Rev 3: Update: 23. November 2020 – Erster Austausch von 2 x AAA-Batterien seit 15. Januar 2019 dh 22 Monate für 2x AAA AlkalineUpdate: 7. April 2019 – Rev 3 of lp_BLE_TempHumidity, fügt Datum/Uhrzeit-Plots hinzu, verwendet pfodApp V3.0.362+ und automatische Drosselung, wenn
Schnittstellentastatur mit Arduino. [Einzigartige Methode]: 7 Schritte (mit Bildern)
Schnittstellentastatur mit Arduino. [Einzigartige Methode]: Hallo, und willkommen zu meinem ersten instructable! :) In diesem instructables möchte ich eine fantastische Bibliothek für die Schnittstelle der Tastatur mit Arduino teilen - 'Password Library' einschließlich 'Keypad Library'. Diese Bibliothek enthält die besten Funktionen, die wir wi
SCARA-Roboter: Lernen über Vorwärts- und inverse Kinematik !!! (Plot Twist Erfahren Sie, wie Sie mit PROCESSING eine Echtzeitschnittstelle in ARDUINO erstellen !!!!): 5 Schritte (mit Bildern)
SCARA-Roboter: Lernen über Vorwärts- und inverse Kinematik !!! (Plot Twist Learn How to Make a Real Time Interface in ARDUINO Using PROCESSING !!!!): Ein SCARA-Roboter ist eine sehr beliebte Maschine in der Industriewelt. Der Name steht sowohl für Selective Compliant Assembly Robot Arm als auch für Selective Compliant Articulated Robot Arm. Es ist im Grunde ein Roboter mit drei Freiheitsgraden, da er die ersten beiden Displ
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 3 - Nano V2-Ersatz - Rev 3: 7 Schritte (mit Bildern)
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 3 - Nano V2-Ersatz - Rev 3: Update: 7. April 2019 - Rev 3 von lp_BLE_TempHumidity, fügt Datums- / Zeitdiagramme mit pfodApp V3.0.362+ hinzu und automatische Drosselung beim Senden von DatenUpdate: 24. März 2019 – Rev 2 von lp_BLE_TempHumidity, fügt weitere Plotoptionen hinzu und i2c_ClearBus, fügt GT832E