Inhaltsverzeichnis:

Bluetooth-Roboter - Gunook
Bluetooth-Roboter - Gunook

Video: Bluetooth-Roboter - Gunook

Video: Bluetooth-Roboter - Gunook
Video: Этот горшок для растений является УМНЫМ и поддерживается Xiaomi 🔥 2024, Juli
Anonim
Bluetooth-Roboter
Bluetooth-Roboter
Bluetooth-Roboter
Bluetooth-Roboter
Bluetooth-Roboter
Bluetooth-Roboter

ARDUINO BLUETOOTH-ROBOTERWAGEN

Projektdatum: August 2018

Projektausstattung:

1. 1 * Benutzerdefinierte Basisplattform.

2. 4 * Gleichstrommotor + Räder.

3. 3 * 18650 Batterien mit 3 Batteriehaltern und 2 * 18650 Batterien mit 2 Batteriehaltern.

4. 2 * Wippschalter.

5. 2 * Rote LED-Leuchten mit 220K-Widerständen in Reihe

6. 1 * Kit enthält: 2 Stk. SG90 Servomotor + 1 Stk. 2-Achsen Servohalterung.

7. 1 * Arduino Uno R3

8. 1 * Arduino-Sensorschild V5

9. 1 * L298N Doppelbrücken-DC-Schrittmotortreiber

10. 1 * Ultraschallmodul HC-SR04

11. 1 * 8 LED Neo Pixel Streifen ws2812b ws2812 Smart LED Streifen RGB

12. 1 * BT12 Bluetooth-Modul BLE 4.0

13. 1 * 12V Spannung 4-stellige Anzeige

14. 1 * 1602 LCD-Display plus serielles IIC-Schnittstellen-Adaptermodul

15. Heißkleber, M3-Abstandshalter, Schrauben, Unterlegscheiben.

16. Stecker-zu-Buchse 10cm und 15cm Überbrückungsdrähte.

17. Einfacher 1mm Draht ca. 50cm.

18. Werkzeuge einschließlich: Lötkolben, Miniaturschraubendreher und Zangen

19. USB-zu-Arduino-Kabel.

ÜBERBLICK

Dies ist das zweite Arduino-basierte Projekt, das ich bei Instructables eingereicht habe, jedoch ist der unten beschriebene Roboter der vierte Roboter, den ich gebaut habe. Dieser Roboter baut auf einer früheren Version auf, die WiFi-basiert war, diese neue Version verfügt sowohl über WiFi- als auch über Bluetooth-Kommunikation. Das WiFi ermöglicht es der Kamera, Videos direkt an die Android-App zu streamen. und Bluetooth zur einfachen Steuerung des Roboters. Der Arduino-Code lauscht auf die Bluetooth-Befehle, empfängt sie, decodiert den Befehl, reagiert auf den Befehl und gibt schließlich eine Antwortnachricht an die Android-App zurück. bestätigt, dass der Befehl ausgeführt wurde. Zusätzlich zu diesem Feedback zur Android App. Der Roboter wiederholt die Befehle auch auf seinem eigenen 16x2-Zeilen-LCD-Display.

Meine Philosophie beim Bauen von Robotern ist es, darauf zu achten, dass sie nicht nur so funktionieren, wie es erforderlich ist, sondern mit klaren Linien und guten Konstruktionsmethoden auch ästhetisch korrekt aussehen. Ich habe eine Reihe von internetbasierten Ressourcen sowohl für die Elektronik als auch für den Arduino-Code verwendet, und dafür danke ich diesen Mitwirkenden.

Die Wahl der 18650-Batterien basierte auf ihrer Nennleistung und der einfachen Beschaffung hochwertiger gebrauchter Batterien, die normalerweise von alten Laptops stammen. Das Arduino-Board ist ein Standard-Klon, ebenso wie der L298N Dual Bridge-Motorcontroller. Die Gleichstrommotoren sind für das Projekt ausreichend, aber ich hatte das Gefühl, dass größere 6-V-Gleichstrommotoren mit Direktantrieb eine bessere Leistung erbringen würden, da dies ein mögliches zukünftiges Upgrade des Projekts ist.

Schritt 1: Fritzing-Diagramm

Fritzing-Diagramm
Fritzing-Diagramm

Das Fritzing-Diagramm zeigt die verschiedenen Verbindungen von den Batterien über den zweipoligen Schalter zum Arduino Uno. Vom Arduino Uno zum L298N Motor Driver, LCD 16X2 Zeilendisplay, Bluetooth BT12, HC-SR04 Schallsender und -empfänger, Servos für die Kamera und Schallsender und schließlich vom L298N zu den DC-Motoren.

Hinweis: Das Fritzing-Diagramm zeigt keines der GND-Kabel

Schritt 2: Konstruktion

Konstruktion
Konstruktion
Konstruktion
Konstruktion
Konstruktion
Konstruktion

KONSTRUKTION

Die Grundkonstruktion bestand aus einer einzelnen Basis 240 mm x 150 mm x 5 mm mit gebohrten Löchern für die M3-Abstandshalter, Löcher für die L298N-, MPU-6050- und Arduino Uno-Unterstützungen. In die Basis wurde ein einzelnes 10 mm Loch gebohrt, um Steuerkabel und Stromkabel zu ermöglichen. Unter Verwendung von 10 mm Abstandshaltern wurden der LCD-, Arduino Uno- und L298N-Motortreiber wie im obigen Diagramm angebracht und verdrahtet.

Die DC-Motoren wurden mit Heißkleber auf der Bodenplatte montiert. Nach dem Löten wurden die Drähte jedes Motors mit den linken und rechten Anschlüssen des L298N-Motortreibers verbunden. Der L298-Motortreiber-Jumper wurde installiert, damit eine 5V-Versorgung für das Arduino Uno-Board bereitgestellt werden konnte. Als nächstes wurden die 18650 Batteriehalter auf die Unterseite der Basis geklebt und über einen zweipoligen Schalter mit dem Arduino Uno und den 12V- und Ground-Eingängen des L298-Motortreibers verdrahtet.

Die Servokabel der Kamera wurden an die Pins 12 und 13 angeschlossen. Das Servokabel HC-SR04 wurde an Pin 3 angeschlossen. Die Pins 5, 6, 7, 8, 9 und 11 waren mit dem L298N-Motortreiber verbunden. Das BT12 Bluetooth-Modul wurde mit den Arduino Sensor Shield V5 Bluetooth-Pin-Outs, VCC, GND, TX und RX verbunden, wobei die TX- und RX-Kabel vertauscht waren. Der URF01-Pinsatz wurde verwendet, um die HC-SR04-, VCC-, GND-, Trig- und Echo-Pins anzuschließen, während der IIC-Pinsatz verwendet wurde, um die LCD-VCC-, GND-, SCL- und SCA-Pins anzuschließen. Schließlich wurden die 8 LED-Lichtset-Pins VCC, GND und DIN mit Pin 4 und den zugehörigen VCC- und GND-Pins verbunden.

Da beide Akkupacks und deren Netzschalter unter der Basis montiert waren, wurde parallel zum Netzschalter eine einzelne rote LED und ein 220K-Widerstand hinzugefügt, damit sie beim Einschalten des Netzschalters aufleuchtet.

Die beigefügten Fotos zeigen die Bauphasen des Roboters, beginnend mit den M3-Abstandshaltern, die am Arduino Uno und L298N befestigt werden, dann werden diese beiden Elemente an der Basis befestigt. Zusätzliche M3-Abstandshalter werden zusammen mit der Messingplatte verwendet, um eine Plattform zu bauen, auf der der HC-SR04 und die Kamera-Servos montiert werden. Zusätzliche Fotos zeigen die Verkabelung und den Aufbau der Motoren, Batteriehalter und Neo Pixel Light Strip.

Schritt 3: Arduino- und Android-Codierung

Arduino- und Android-Codierung
Arduino- und Android-Codierung
Arduino- und Android-Codierung
Arduino- und Android-Codierung

ARDUINO-Codierung:

Mit der Entwicklungssoftware Arduino 1.8.5 wurde das folgende Programm modifiziert und dann über eine USB-Verbindung auf das Arduino Uno-Board heruntergeladen. Es war notwendig, die folgenden Bibliotheksdateien zu finden und herunterzuladen:

· LMotorController.h

· Wire.h

· LiquidCrystal_IC2.h

· Servo.h

· NewPing.h

· Adafruit_NeoPixel

(Alle diese Dateien sind auf der Website https://github.com verfügbar)

Das obige Foto zeigt eine einfache Lösung, mit der der Arduino-Code auf das Arduino Uno-Board heruntergeladen werden kann. Während das BT12-Modul an die TX- und RX-Pins angeschlossen war, schlug das Download-Programm immer fehl, also fügte ich eine einfache Unterbrechungsverbindung auf der TX-Leitung hinzu, die beim Herunterladen des Codes unterbrochen und dann neu erstellt wurde, um die BT12-Kommunikation zu testen. Nachdem der Roboter vollständig getestet war, habe ich dieses zerbrechliche Glied entfernt.

Die Arduino- und Android-Quellcodedatei finden Sie am Ende dieser Seite

ANDROID-Codierung:

Verwenden von Android Studio-Build 3.1.4. und mit Hilfe vieler Internet-Informationsquellen, für die ich mich bedanke, habe ich eine App entwickelt, die es dem Benutzer ermöglicht, eine WiFi-Quelle für die Kamera und eine Bluetooth-Quelle auszuwählen und sich mit ihnen zu verbinden, um die Aktionen des Roboters zu steuern. Die Benutzeroberfläche ist oben dargestellt und die beiden folgenden Links zeigen Videos des Roboters und der Kamera in Aktion. Der zweite Screenshot zeigt die WLAN- und Bluetooth-Scan- und Verbindungsoptionen. Dieser Bildschirm überprüft auch, ob die App über die erforderlichen Berechtigungen für den Zugriff auf das WLAN- und das Bluetooth-Netzwerk und die Geräte verfügt. Die App kann über den untenstehenden Link heruntergeladen werden, ich kann jedoch nicht garantieren, dass sie auf einer anderen Plattform außer einem Samsung 10.5 Tab 2 funktioniert. Derzeit geht die App davon aus, dass das Bluetooth-Gerät „BT12“heißt. Die Android-App sendet einfache einstellige Befehle an den Roboter, empfängt jedoch im Gegenzug Befehlsbestätigungszeichenfolgen.

Schritt 4: Zum Abschluss

Ein YouTube-Video zur grundlegenden Bedienung des Roboters finden Sie unter:

Das YouTube-Video zur Hindernisvermeidung des Roboters kann unter https://www.youtube.com/embed/j83tRwSaMgI. angesehen werden

Was ich gelernt habe:

Die Bluetooth-Kommunikation ist definitiv die beste Methode zur Steuerung des Roboters, selbst bei der maximalen Reichweite von 10 m, die der BT12 hat. Die Verwendung der 18650-Batterien, ein Satz zum Antreiben der Motoren und ein zweiter Satz zum Antreiben von Arduino, Schild, Servos, BT12 und LCD, trägt erheblich zur Verlängerung der Batterielebensdauer bei. Ich war beeindruckt von der NEO Pixel-Lichtleiste, RGB-LEDs sind hell und einfach zu steuern, ebenso wie das BT12-Bluetooth-Modul, das seit Erhalt einwandfrei funktioniert.

Was kommt als nächstes:

Bei diesem Projekt ging es immer um die Verwendung von Bluetooth-Kommunikation. Jetzt, da ich ein funktionierendes Modell habe und den Roboter über die Android-App steuern kann, bin ich bereit, das nächste Projekt zu starten, das das komplexeste sein wird, das ich je versucht habe, nämlich ein Sechsbeiner, 3 DOM pro Bein, Hexapod, das von gesteuert wird Bluetooth und in der Lage sein, Echtzeitvideos über seinen Kopf zu streamen, der sich selbst vertikal und horizontal bewegen kann. Ich erwarte auch, dass der Roboter Hindernisvermeidung hat.

Empfohlen: