Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

BLE Bot 9000

Komponenten und Verbrauchsmaterialien

Arduino 101
× 1
Adafruit Motor/Stepper/Servo Shield für Arduino v2 Kit – v2 .3
× 1
SparkFun Multi-Chassis - 4WD-Kit (Basic)
[ Botschafter:Die Tank-Kit-Variante von Sparkfun wurde als Alternative zu dieser Einheit bereitgestellt. Es wurde festgestellt, dass diese Probleme mit der Stromversorgung im Zusammenhang mit der mitgelieferten 5x AA haben. Weitere Informationen finden Sie unter Bekannte Probleme. ]
× 1
Adafruit 6 x AA Batteriehalter mit 5,5 mm/2,1 mm Stecker
[ Botschafter:Dieses Stück ist BEKANNT, dass es in den Bausätzen fehlt. Die Intel USB-Batteriebank kann an ihrer Stelle ergänzt werden, um den Arduino 101 mit Strom zu versorgen. ]
× 1
5x AA Batteriehalter
Im Roboter-Kit enthalten.
× 1
Komponentenpaket
Enthält 4x Abstandshalter, Kunststoff-/schwarze Schrauben, ~20 Drähte, ein 3-Zoll-Klettband, eventuell ein paar AA-Batterien.
× 1
AA-Batterien
× 11

Notwendige Werkzeuge und Maschinen

Lötkolben (generisch)
Lötmittel (allgemein)
Philips-Schraubendreher
In Sparkfun Bot Kits enthalten

Apps und Onlinedienste

Arduino-IDE
Johnny-Five
Arduino Firmata

Über dieses Projekt

Hinweise:

Aktualisierung 05.12.16 von Drew:Bitte klicken Sie auf Bekannte Probleme auf der rechten Seite und überprüfen Sie sie, bevor Sie diesen Build abschließen. Bestimmte Varianten des Bausatzes haben bekannte Probleme und fehlende Teile. Wir haben versucht, die gemeinsamen Probleme zu skizzieren. Einige werden noch gelöst. Die Fixes werden in die Anweisungen aufgenommen, sobald sie bestätigt wurden. Melden Sie mir (@ReanimationXP) alle weiteren im #intel Kanal von slack.hacksterlive.com . Danke!

Sprengen Sie den Arduino nicht in die Luft

Wir haben Berichte von einigen bekommen, die ihren Bot zusammenbauen und den VIN-Jumper auf dem Motorschild belassen. Bitte nehmen Sie sich einen Moment Zeit, um es zu entfernen, bevor Sie beginnen. Wieso den? Siehe Stromversorgung von Arduino und Shield unten.

Einführung

Dieses Projekt zeigt, wie Sie den eingebauten BLE-Chip auf einem Arduino 101 verwenden, um einen kleinen 4x4-Roboter von Ihrem Laptop aus zu steuern. Indem Ihr Computer die Kontrolle vom Arduino 101 selbst übernimmt, eröffnen Sie sich die Möglichkeit, prozessorintensive Steuerungsmethoden wie Computer Vision, autonomes Fahren und fortschrittliche Feedbackschleifen (PID) zu integrieren.

Hardware

Lass uns anfangen! Was hat dieser Welpe dabei? Als Roboterplattform kam das Multi-Chassis 4x4 von Sparkfun zum Einsatz. Es ist mit einem Aluminiumrahmen ziemlich langlebig und hat viele Befestigungspunkte für zusätzliche Sensoren.

Schritte:

1) Der Bausatz erfordert eine einfache Montage, die jedoch einige Zeit in Anspruch nimmt. Befolgen Sie für die Montage die Anweisungen, die Ihrem Bausatz beiliegen, mit den folgenden Abweichungen:

- Montieren Sie den Arduino 101 auf Abstandshaltern (Teil des separaten Komponenten-Kits) an der oberen Platte (Deckel), bevor Sie den Deckel am Roboterchassis befestigen. Wenn Sie die Abstandshalter nicht haben, isolieren Sie einfach den Boden des 101 irgendwie und befestigen Sie ihn am Deckel.

2) Das Adafruit Motor Shield v2.3 erfordert auch etwas Montage, und damit meinen wir Löten. Header-Pins müssen angelötet werden. Wenn Sie die Buchsenleisten mit Ihrem Komponentensatz erhalten haben (wie beim A101), verwenden Sie diese und entsorgen Sie die normalen Stecker. Verwenden Sie andernfalls die dem Motorschutz beiliegende männliche Variante. Eine detaillierte Anleitung zum Löten beider Typen finden Sie hier (scrollen Sie nach unten zum entsprechenden Abschnitt für den Steckertyp männlich/weiblich):https://learn.adafruit.com/adafruit-motor-shield-v2-for-arduino/install-headers .

Wenn Sie noch nie gelötet haben, möchten Sie vielleicht an etwas üben, das Ihnen nichts ausmacht, da die Header etwas schwierig zu löten sein können. Jemanden, der viel gelötet hat, zu bitten, dir zuzusehen, ist der schnellste Weg, um zu lernen. Beginnen Sie jeden Header, indem Sie einen Stift an der Kante verlöten und die Header festziehen, damit sie bündig mit der Platine und perfekt gerade sind. Sie können diese Technik verwenden, um die Dinge auszurichten, bevor Sie alle Pins verlöten, wodurch der Header so ziemlich dauerhaft fixiert wird.

Machen Sie zuletzt die 6-Pin-Raster-Buchse neben dem Bluetooth-Logo. Es sieht so aus:[:::] Stecken Sie die Kunststoffseite in das Arduino 101, so dass es vollständig bündig ist, montieren Sie Ihr jetzt vollständig verlötetes Motorschild oben und lassen Sie die männliche Seite des 6-Pin-Gitters durch. Drücken Sie die Motorabschirmung nach unten, so dass sie vollständig in den 101 eingesteckt ist, und löten Sie dann die männliche Seite des 6-Pin-Grid-Headers.

3) Bringen Sie die zusammengebaute Motorabschirmung mit den angelöteten Headern an der Oberseite des Arduino 101 an.

4) Verwenden Sie die Überbrückungsdrähte (männlich zu männlich), um die Motoren wie unten gezeigt mit den Motorausgangsklemmenblöcken auf der Motorabschirmung zu verdrahten. Stellen Sie sicher, dass Sie die richtigen Paare von Minus- und Pluskabeln übereinstimmen und befolgen Sie das unten stehende Schaltbild. Hinweis:Die gelben Drähte sind im Diagramm positiv , und rot auf den eigentlichen Motoren. Grüne Drähte sind im Diagramm negativ , schwarz auf den eigentlichen Motoren.

5) Vergewissern Sie sich, dass der VIN-Jumper NICHT angeschlossen ist, bevor Sie fortfahren. Verwenden Sie ein Paar Überbrückungsdrähte, um eine Verbindung zum 5-count AA herzustellen im Lieferumfang des Roboter-Kits enthaltene Batterie an den Spannungseingangs-Klemmenblock auf der Motorabschirmung an, wobei die positive (rot) und die Masse (schwarz) Ausrichtung zu beachten sind, wie in der Abbildung unten gezeigt.

Hinweis: Der unten abgebildete 2x AA-Halter ist NICHT GENAU zum echten Leben und Sie werden keinen in Ihrem Kit haben - verwenden Sie bitte den 5x AA-Halter in Ihrem Roboter-Kit enthalten. Einige Kits enthalten auch keine 4 Motoren. Schließen Sie in diesem Fall einfach die richtigen Motoren an M1 und M2 an, wie auf der rechten Seite der Platine und den beiden oberen Motoren gezeigt.

6) Löten Sie die Fassbuchse an die Kabel, die vom zweiten Akkupack kommen. Stellen Sie sicher, dass Sie das rote Pluskabel an den mittleren (kürzeren) Anschluss der Hohlbuchse löten.

Hinweis :Der 6x AA Batteriehalter und der unten stehende Stecker waren nicht in der ersten Lieferung von Ambassador Kits enthalten. Wir werden diese Lieferung in Kürze mit einem zusätzlichen AA-Halter und möglicherweise weiteren Komponenten ergänzen. Beenden Sie die Erstellung des Bots und springen Sie zur Softwareübersicht vorerst.

7) Befestigen Sie den 6x AA Batteriepack mit dem Klettband an der Rückseite des Roboters:

Befestigen Sie den Fassstecker am Arduino 101, um ihn einzuschalten. Überprüfen Sie noch einmal, dass der VIN-Jumper nicht angeschlossen ist.

Der Roboter sollte jetzt fertig gebaut sein! Stellen Sie sicher, dass beide Batteriebänke ausgesteckt sind, damit sie keinen Strom verbrauchen.

Softwareübersicht

Das Robotersteuerungssystem besteht aus zwei Hauptteilen der Software. Die erste ist die Firmata-Server-Skizze, die auf dem Arduino 101 geladen wird. Firmata ermöglicht Ihrem Computer, auf die Pins des Arduino zuzugreifen - und als Erweiterung mit dem Motorschild zu kommunizieren, der die Motoren selbst steuert. Firmata ermöglicht auch eine bidirektionale Kommunikation, sodass Sie, wenn Sie in Zukunft einen Sensor an Ihrem Roboter anbringen, die Sensordaten an Ihren Computer zurücksenden können.

Die zweite Software ist der Firmata-Client, der auf Ihrem Computer ausgeführt wird. Es gibt viele verschiedene Firmata-Clients für eine Vielzahl von Sprachen, aber in diesem Projekt werden wir den Firmata-Client verwenden, der in Johnny-Five integriert ist. Johnny-Five ist eine Robotik- und IoT-Plattform für Arduino, die auf Node.js basiert. Weitere Informationen finden Sie hier:http://johnny-five.io/. Johnny-five hat viele nützliche Bibliotheken, einschließlich Firmata und Konfigurationen für das Adafruit Motorshield, das wir verwenden.

Damit der Firmata-Client und -Server eine Verbindung herstellen können, verwenden wir eine ble-serial a node.js-Bibliothek, die geschrieben wurde, um eine serielle Verbindung über BLE zum Arduino 101 zu öffnen. https://github.com/monteslu/ble-serial

Um Tastaturbefehle einzulesen, verwenden wir schließlich keypess, eine node.js-Bibliothek zum Einlesen von Tastendrücken. https://github.com/TooTallNate/keypress

Arduino-Skizze laden

1) Um die Firmata-Server-Skizze auf dem Arduino 101 zu laden, müssen Sie zuerst die Arduino-IDE herunterladen und installieren:https://www.arduino.cc/en/Main/Software

2) Nachdem Sie die Basis-IDE installiert haben, müssen Sie das Arduino 101 Board installieren. Das folgende Tutorial behandelt die Board-Installation sowie die grundlegende Programmierung. Wenn Sie mit Arduino nicht vertraut sind, ist dies ein guter Ausgangspunkt:https://www.arduino.cc/en/Guide/Arduino101 . Die Kurzversion ist, dass Sie das Paket "Intel Curie Boards" über den Boards Manager in der IDE installieren müssen. Danach erscheint Arduino /Genuino 101 im Board-Untermenü.

3) Schließen Sie das Arduino 101 über das USB-Kabel an Ihren Computer an.

4) Gehen Sie in der Arduino IDE zu Tools -> Board und wählen Sie Arduino / Genuino 101 aus. Siehst du es nicht? Gehen Sie zurück zu Schritt 2.

5) Gehen Sie zu Tools -> Port und stellen Sie sicher, dass Sie den richtigen Port für Ihr Board ausgewählt haben. Wenn Sie sich nicht sicher sind, welchen Port Sie verwenden sollen, trennen Sie den Arduino und sehen Sie, welcher Port aus der Liste verschwindet.

6) Installieren Sie das AdaFruit Motor Shield v2-Paket. Gehen Sie zu Sketch -> Bibliothek einschließen -> Bibliotheken verwalten und suchen Sie dann nach "AdaFruit Motor Shield v2". Wählen Sie es aus und klicken Sie dann auf die Schaltfläche Installieren.

6a) Wenn Sie Ihren Bot testen möchten, flashen Sie die folgende .ino-Datei, um Ihre Motoren zu testen. Standardmäßig lässt diese Datei Ihren Bot vorwärts, rückwärts, links abbiegen und dann rechts abbiegen wiederholt. https://github.com/ReanimationXP/a101_motortest .

HINWEIS! Machen Sie sich bereit, damit sich Ihre Räder bewegen!

Wenn Sie das Programm a101_motortest auf den Bot flashen, beginnen sich die Räder zu bewegen, sobald die Ausführung des Sketches beginnt. Wenn Sie die Räder stoppen möchten, können Sie entweder das USB-Kabel ziehen (Strom zum Arduino abschalten) oder eine der Batterien ziehen.

7) Gehen Sie in der Arduino IDE zu Datei -> Beispiele -> Firmata -> StandardFirmataBLE, um die Firmata BLE-Serverskizze zu laden. Laden Sie die Skizze zum Arduino 101 hoch, indem Sie auf den Upload-Pfeil in der oberen linken Ecke des Editors klicken.

Wenn die Skizze erfolgreich geladen wurde, sollte die letzte Meldung in der Ausgabe "Skizze beginnt in 5 Sekunden" lauten.

Python 2.7.13 installieren

1) Sie benötigen Python 2.7.13, um das bluetooth-hci-socket Node.js-Paket zu installieren und zu kompilieren.

2) Gehen Sie zu https://www.python.org/downloads/. Laden Sie Python 2.7.13 herunter und installieren Sie es.

Firmata-Client laden

1) Der Firmata-Client wird auf Node.js ausgeführt. Wenn Sie ihn nicht installiert haben, gehen Sie bitte auf den folgenden Link und folgen Sie den Installationsanweisungen:https://nodejs.org/en/

2) Sobald Node.js installiert ist, erstellen Sie einen neuen Ordner, der Ihren Kontrollcode enthält.

3) Öffnen Sie eine Node.js-Eingabeaufforderung und navigieren Sie zu Ihrem Projektordner. Wenn Sie im nächsten Schritt die Windows-Tools installieren möchten, führen Sie die Eingabeaufforderung im Administratormodus aus.

4) Wenn Sie Windows 10 verwenden, müssen Sie die Windows-Tools installieren. Tun Sie dies mit dem folgenden Befehl:

npm install --global --production windows-build-tools 

5) Installieren Sie die folgenden NPM-Module:

npm install johnny-fivenpm install keypressnpm install ble-serial npm install bluetooth-hci-socket 

6) Laden Sie den Kontrollcode im Github herunter ( https://github.com/martinkronberg/Firmata-BLE-Bot ) und stellen Sie sicher, dass sich control.js in Ihrem Projektordner befindet. Sie können das Repository klonen, wenn Sie möchten, aber die Wahrscheinlichkeit von Updates ist ziemlich gering...

Führen Sie den Code aus

Wir sind jetzt bereit, den Roboter zu fahren! Stellen Sie sicher, dass beide Batteriebänke angeschlossen sind und führen Sie von Ihrem Projektordner aus:

node control.js 

Wenn alles funktioniert, erhalten Sie eine Nachricht ähnlich der:

1476382259569 Verbunden [Objektobjekt] 

Wenn Sie jetzt "w" drücken, fährt der Roboter vorwärts, "s" fährt rückwärts, "a" und "d" drehen den Roboter nach links und rechts.

Möglicherweise erhalten Sie eine Meldung wie "Kein kompatibles USB-Bluetooth-4.0-Gerät gefunden". Stellen Sie sicher, dass Ihr Computer Bluetooth unterstützt und dass Bluetooth aktiviert ist.

Beachten Sie, dass Sie im Geräte-Manager in Windows überprüfen können, ob Ihr PC Bluetooth unterstützt. Suchen Sie nach einem Unterbaum namens "Bluetooth-Radios".

Blynk-Version

Wenn Node und Firmata für Sie nicht gut funktionieren, können Sie stattdessen die Blynk.cc-Bibliothek verwenden. Diese ist einfach zu bedienen, plattformübergreifend, hat Schnittstellen für mobile Geräte.

1. Laden Sie die Blynk.cc-Bibliothek herunter und installieren Sie sie auf Arduino. Dies kann über den Arduino Library Manager erfolgen. Version 0.4.7 zum Zeitpunkt des Schreibens.

2. Laden Sie die folgende Skizze herunter und flashen Sie sie auf Ihr Arduino 101:

https://github.com/ReanimationXP/a101_blynk_base

3. Laden Sie die Blynk-App herunter. Erstellen Sie die folgende Oberfläche in der App:

Bekannte Probleme

Fehlende Teile: 6x AA Batteriehalter und sein Barrel Jack, Tank Kit hat nur 2x Motoren, nicht 4x.

Energieprobleme mit dem Panzer-Kit: Es scheint, dass das Sparkfun-Tank-Kit einen Fehler hat - der mitgelieferte Batteriehalter ist nicht stark genug, um die Tankbänder anzutreiben. Lösungen bestehen darin, entweder die Bänder zu entfernen, den 5x AA-Batteriehalter durch einen 2S (7,4 V) Lipo-Akku mit erheblichen mAh (z. B. 750 mAh) zu ersetzen und/oder den 101 mit einer Ihrer Intel USB-Batteriebänke zu betreiben.

Wenn der mit dem Sparkfun-Chassis gelieferte Batteriehalter nicht zu funktionieren scheint, sitzen die Batterien möglicherweise nicht richtig. Ziehen Sie sie zurück, während Sie sie nach unten drücken, und Sie werden spüren, wie sie einrasten.

Bluetooth/BLE-Probleme: Die BLE-Unterstützung hat Mindestanforderungen. Ein Computer muss Bluetooth 4.0 oder höher mit Windows 8.1 oder höher unterstützen, um BLE, die energiesparende Variante von Bluetooth, garantiert zu unterstützen. Bei einigen Computern können je nach Treiberstapel und Hardwareunterschieden weiterhin Probleme auftreten. Die meisten Smartphones sind besser mit BLE kompatibel. Wir prüfen die Verwendung der Blynk-Plattform zur Steuerung des 101, die jetzt auch BLE-Unterstützung bietet. Details werden hier veröffentlicht, sobald verfügbar.

Uns wurde auch gesagt, dass der BLE-Teil des Arduino 101 sehr flockig ist, wenn er nicht richtig mit Strom versorgt wird. Stellen Sie sicher, dass Sie ausreichend Strom an das Arduino 101 anschließen. Ich würde ein starkes 5-V-USB-Netzteil mit 2 Ampere oder so vorschlagen, um Brownout-Probleme auszuschließen.

Schraubenkompatibilität mit Arduino 101: Schrauben aus dem Komponenten-Kit haben zu große Köpfe, um auf die 101 zu passen. Fix besteht darin, einige silberne Schrauben aus dem Roboter-Kit stattdessen zu tauschen und umgekehrt, wenn möglich. Sie können auch Klett-Quadrate verwenden, damit das Board sicher befestigt und isoliert, aber leicht abnehmbar ist.

Bibliotheken: Sie müssen die Firmata-Bibliothek auf mindestens 2.5.3 aktualisieren (Versionen unter 2.5.3 enthalten keine Firmate-BLE-Skizze)

Hier sind ein paar Ressourcen, die dir das Leben beim Veranstalten eines Meetups erleichtern. Die letzten beiden Links erfordern die Installation der Adafruit Motor Shield v2-Bibliothek.

  • Dieses BLE Bot 9000-Tutorial:http://bit.ly/blebot1
  • Das DC-Motor-Testskript von Pete Hoffswell:http://bit.ly/blebot2
  • BLE telefongesteuerte Robotik mit Blynk:http://bit.ly/blebot3

Code

Touchscreen-Steuerung
Steuern Sie Ihren Bot über einen Touchscreen mit einem Express-Server! (Für fortgeschrittene Hacker.)https://github.com/monofuel/blebot9000
Robotersteuerungscode
Github mit Code zum Ausführen des Robotershttps://github.com/martinkronberg/Firmata-BLE-Bot

Schaltpläne

PDF zum Zusammenbau des Chassis

Herstellungsprozess

  1. Glukometer-Testkit
  2. Spielzeug-Modellbausatz
  3. Open-Source-Kit unterstützt vorausschauende Wartung
  4. Kit bietet mmWave-Entwicklungsplattform
  5. Entwicklungskit vereinfacht BLE-Mesh-Networking
  6. Raspberry Pi 3 Starter Kit Anschlussanleitung
  7. Hologramm Nova Starter Kit
  8. Bau des MonkMakes Raspberry Pi Robot Kit
  9. Intellisaurus – Dinosaurier-Roboter-Kit
  10. 8 Wissenswertes über ISO 9000