Rollender Ball

Aus HRW FabLab MediaWiki
Version vom 12. März 2018, 12:09 Uhr von Wwstfohs (Diskussion | Beiträge) (Arduino Programmierung)
Wechseln zu: Navigation, Suche

Dieses Projekt behandelt die Eigenkonstruktion einer, aus dem 3D-Drucker erstellen, Kugel welche über den Beschleunigungssensor des Smartphones gesteuert wird.
Die Umsetzung erfolgte über eine auf PhoneGap basiertende Applikation, welche ihre Befehle per Bluetooth Low Energy an einen Genuino 101 überträgt.

Idee & Umsetzungsplanung

Nach einer anfänglicher Findugsphase im Projekttinder hat sich unsere Gruppe auf die Umsetzung dieser Kugel geeinigt. Inspiration holten wir uns von zahlreichen Eigenkonstruktionen aus dem Bereich der sozialen Medien sowie des komerziellen Sphero[1]. Zu Beginn planten wir eine ca. 18cm große Kugel aus Plexiglas zu bestellen, haben uns jedoch nach Rücksprache mit einem Mitarbeiter des FabLabs für eine selbstgedruckte Kugel aus dem 3D-Drucker entschieden. Allerdings ist jede alternative Kugel welche Platz für den Genuino mit Fahrwerk bietet geeignet. Die Kontruktion des Fahrwerkes kann sehr individuell gestaltet werden, wir haben uns für eine horizontalte Befestigung mit zwei Servos entschieden. Weil die Steuerung über einen Beschleunigunssensor erfolgen soll muss dies auch bei der Planung der Applikation berücksichtigt werden.

Funktionsweise

Das Zusammenspiel aus App und Arduino grafisch dargestellt

Die Funktionsweise wurde in zwei Hauptkomponente aufgeteilt; der Smartphone App die mit dem Arduino mit Bluetooth kommuniziert.

Smartphone Applikation

Sodass die Applikation auf iOS und Android ausführbar ist, wurde die App in Adobe PhoneGap[2] entwickelt.

Um die Phonegap App für eigene Zwecke zu nutzen muss zunächst die Anleitung auf der Phonegap Get Started Seite befolgt werden.

Über dem, in der verlinkten Anleitung, erstellten Projekt können dann unsere Quellcode Dateien gezogen werden die über dem Gitlab der Hochschule verfügbar gemacht worden sind.

Danach kann die Applikation in der Desktop App gestartet werden.

Auf dem Smartphone muss dann in der Phonegap App, die in der Desktop App angezeigten IP Adresse eingegeben werden.

Nutzung der App

Die App ist sehr schlicht und einfach gestaltet. Das rote Quadrat im Fadenkreuz zeigt an, wie das Smartphone geneigt ist.

Screenshot der App vor dem Verbinden

Sobald der Arduino bespielt und mit Strom versorgt ist, kann auf der App der "Verbinden"-Button betätigt werden.

Wird der Arduino mit Erfolg verbunden, wird das rote Quadrat blau und der Button erlaubt eine Trennung der Bluetooth Verbindung, falls gewünscht. Der Ball kann jetzt gesteuert werden.

Screenshot der App nach dem Verbinden

Arduino Programmierung

Für die Arduino Programmierung haben wir die curiBLE Bibliothek verwendet um die Bluetoothlowenergy Verbindung zu dem mobilen Endgerät her zu stellen. Für die Verbindung benötigt man eine uuid die man sich auf bestimmten Internet Seiten generieren lassen kann. Mit der uuid kann man nun einen BLE Service anlegen. Dieser Service kann benutz werden um Signale von dem Endgerät zu empfangen. Mit der Funktion BLEService.connected() wird geprüft ob ein Gerät mit dem Arduino verbunden ist. Mit der Funktion BLEService.written() wird geprüft ob etwas gesendet wurde. Falls eine Übertragung stattfand kann man mit BLEService.value() darauf zugreifen. Alle Werte die kleiner Null sind sind für den linken Servomotor bestimmt, die positiven Werte für den rechten. Um die Servos anzusteuern haben wir die Library servo.h verwendet. So können wir die Pins an denen die servos angeschlossen sind festlegen um später, über die entsprechenden Pins, die empfangenen Werte an die servos weiter zu geben.

Team

Anmerkungen

Einzelnachweise

[1] Sphero: Offizielle Seite, abgerufen am 23.1.2018
[2] Adobe Phonegap: Offizielle Seite, abgerufen am 5.3.2018