Rollender Ball: Unterschied zwischen den Versionen

Aus HRW FabLab MediaWiki
Wechseln zu: Navigation, Suche
Zeile 28: Zeile 28:
  
 
==Kugel==
 
==Kugel==
Die Kugel besteht aus zwei Halbkugeln welche über acht quadratische Neodym Magneten fixiert wird. Sie besitzt einen Außendurchmesser von 156.00 mm sowie einen Innendurchmesser von 140.00 mm. Die acht für die Magneten vorgesehenen Löcher erstrecken sich über das Volumen eines Würfels mit der Kantenlänge 5.00 mm. Dementsprechend groß müssen auch die acht Neodym Magneten sein. Weitere Details zur Kugel lassen sich aus diesem Fusion 360 Modell entnehmen. In unserem Bespiel wurde die Kugel nach diesem Modell aus dem 3D Drucker gedruckt. Wir empfehlen hier die Kugel mit der glatten Oberfläche aufliegend zu drucken um ein möglichst gutes Ergebnis zu erzielen. [[Datei:RollenderBallKugelModell.png|thumb|Modell der Halbkugel|rechts]]
+
[[Datei:RollenderBallKugelModell.png|thumb|200px|rechts|Modell der Halbkugel]]
 +
Die Kugel besteht aus zwei Halbkugeln welche über acht quadratische Neodym Magneten fixiert wird. Sie besitzt einen Außendurchmesser von 156.00 mm sowie einen Innendurchmesser von 140.00 mm. Die acht für die Magneten vorgesehenen Löcher erstrecken sich über das Volumen eines Würfels mit der Kantenlänge 5.00 mm. Dementsprechend groß müssen auch die acht Neodym Magneten sein. Weitere Details zur Kugel lassen sich aus dem Fusion 360<sup>[[#Einzelnachweise|[3]]]</sup> Modell entnehmen, welches unter [[Rollender Ball:Anhänge|Anhänge]] zu finden ist. In unserem Bespiel wurde die Kugel nach diesem Modell aus dem 3D Drucker gedruckt. Wir empfehlen hier die Kugel mit der glatten Oberfläche aufliegend zu drucken um ein möglichst gutes Ergebnis zu erzielen.<br clear=all>
  
 
= Funktionsweise =
 
= Funktionsweise =
 
[[Datei:FunktionsweiseRollenderBall.png|mini|links|Das Zusammenspiel aus App und Arduino grafisch dargestellt]]
 
[[Datei:FunktionsweiseRollenderBall.png|mini|links|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.
 
Die Funktionsweise wurde in zwei Hauptkomponente aufgeteilt; der Smartphone App die mit dem Arduino mit Bluetooth kommuniziert.
 +
<br clear=all>
 
== Smartphone Applikation ==
 
== Smartphone Applikation ==
 
Sodass die Applikation auf iOS und Android ausführbar ist, wurde die App in Adobe PhoneGap<sup>[[#Einzelnachweise|[2]]]</sup> entwickelt.
 
Sodass die Applikation auf iOS und Android ausführbar ist, wurde die App in Adobe PhoneGap<sup>[[#Einzelnachweise|[2]]]</sup> entwickelt.
Zeile 45: Zeile 47:
  
 
=== Nutzung der App ===
 
=== Nutzung der App ===
 +
[[Datei:RollenderBallAppScreenshotStart.png|thumb|Screenshot der App vor dem Verbinden|links]]
 +
[[Datei:RollenderBallAppScreenshotVerbunden.png|thumb|Screenshot der App nach dem Verbinden|rechts]]
 
Die App ist sehr schlicht und einfach gestaltet. Das rote Quadrat im Fadenkreuz zeigt an, wie das Smartphone geneigt ist.
 
Die App ist sehr schlicht und einfach gestaltet. Das rote Quadrat im Fadenkreuz zeigt an, wie das Smartphone geneigt ist.
 
[[Datei:RollenderBallAppScreenshotStart.png|thumb|Screenshot der App vor dem Verbinden|links]]
 
 
Sobald der Arduino bespielt und mit Strom versorgt ist, kann auf der App der "Verbinden"-Button betätigt werden.
 
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. [[Datei:RollenderBallAppScreenshotVerbunden.png|thumb|Screenshot der App nach dem Verbinden|links]]
+
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.
 +
<br clear=all>
  
 
== Arduino Programmierung ==
 
== Arduino Programmierung ==
Zeile 61: Zeile 64:
 
*[[Benutzer:Mpmamaci | Marvin Maciejewski]]
 
*[[Benutzer:Mpmamaci | Marvin Maciejewski]]
  
=Media=
+
=Anhänge=
 
+
<b>Fusion 360 Dateien:</b>
 +
[https://drive.google.com/drive/folders/168h-cvavyEWx_jbhFcHu8NAZLIA5HMEl?usp=sharing Google Drive Ordner]<br>
 +
<b>Erster Testlauf:</b>
 +
{{#evu:https://www.youtube.com/watch?v=aUBPa_3gCAw
 +
|alignment=left
 +
}}
 +
<br clear=all>
  
 
= Einzelnachweise =
 
= Einzelnachweise =
 
[1] [https://www.sphero.com/ Sphero: Offizielle Seite], abgerufen am 23.1.2018<br/>
 
[1] [https://www.sphero.com/ Sphero: Offizielle Seite], abgerufen am 23.1.2018<br/>
[2] [https://phonegap.com/ Adobe Phonegap: Offizielle Seite], abgerufen am 5.3.2018
+
[2] [https://phonegap.com/ Adobe Phonegap: Offizielle Seite], abgerufen am 5.3.2018<br/>
 +
[3] [https://www.autodesk.com/products/fusion-360/overview Autodesk Fusion 360: Offizielle Seite], abgerufen am 14.3.2018

Version vom 14. März 2018, 10:08 Uhr

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.

Bauplan

  • Bauteile
    • Kugel
    • Acht Neodym Magneten- Halterung für den Arduino
    • Arduino (hier: Genuino 101)
    • Zwei Servos
    • Zwei Räder
    • Akku (hier: Lithium-Polymer-Akku)
    • Acht Verbindungskabel
    • Halterung für den Akku
    • Gewichte
    • Smartphone mit PhoneGap zur Steuerung
  • Material
    • Heißkleber
    • Kabelbinder
    • ggf. Klebeband

Kugel

Modell der Halbkugel

Die Kugel besteht aus zwei Halbkugeln welche über acht quadratische Neodym Magneten fixiert wird. Sie besitzt einen Außendurchmesser von 156.00 mm sowie einen Innendurchmesser von 140.00 mm. Die acht für die Magneten vorgesehenen Löcher erstrecken sich über das Volumen eines Würfels mit der Kantenlänge 5.00 mm. Dementsprechend groß müssen auch die acht Neodym Magneten sein. Weitere Details zur Kugel lassen sich aus dem Fusion 360[3] Modell entnehmen, welches unter Anhänge zu finden ist. In unserem Bespiel wurde die Kugel nach diesem Modell aus dem 3D Drucker gedruckt. Wir empfehlen hier die Kugel mit der glatten Oberfläche aufliegend zu drucken um ein möglichst gutes Ergebnis zu erzielen.

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

Screenshot der App vor dem Verbinden
Screenshot der App nach dem Verbinden

Die App ist sehr schlicht und einfach gestaltet. Das rote Quadrat im Fadenkreuz zeigt an, wie das Smartphone geneigt ist. 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.

Arduino Programmierung

Für die Arduino Programmierung haben wir die curiBLE Bibliothek verwendet um die Bluetooth Low Energy 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

Anhänge

Fusion 360 Dateien: Google Drive Ordner
Erster Testlauf:


Einzelnachweise

[1] Sphero: Offizielle Seite, abgerufen am 23.1.2018
[2] Adobe Phonegap: Offizielle Seite, abgerufen am 5.3.2018
[3] Autodesk Fusion 360: Offizielle Seite, abgerufen am 14.3.2018