SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Downloaden Sie, um offline zu lesen
Otto-von-Guericke-Universität Magdeburg
Fakultät für Elektrotechnik und Informationstechnik
Institut für Medizintechnik
Forschungsprojekt
Einsatz eines mittels Bluetooth fernsteuerbaren Roboters
„Smartibot“ für Studienwerbeaktionen und Tage der offenen
Labortür
eingereicht: 2. Oktober 2019
von: Vincent Szameitat
geboren am 19. November 1996
Eidesstattliche Erklärung
Hiermit versichere ich, die vorliegende Arbeit selbstständig und unter ausschließlicher
Verwendung der angegebenen Literatur und Hilfsmittel erstellt zu haben.
Magdeburg, den 2. Oktober 2019
i
Inhaltsverzeichnis
1 Einleitung 3
2 Aufbau und Funktionsweise des Smartibots 4
2.1 Platine/Vorderansicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Rückansicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3 Zusatzmodule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3 Steuerungsmöglichkeiten 8
3.1 Programmierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.1.1 Blockly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.1.2 JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2 Fernsteuerung über Weboberfläche als Fernbedienung . . . . . . . . . . . . 16
3.3 Steuerung per Smartphone . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3.1 Appfunktion „Fernbedienung“ . . . . . . . . . . . . . . . . . . . . . 17
3.3.2 Appfunktion „A.I.-Modus“ . . . . . . . . . . . . . . . . . . . . . . . 20
4 Vor- und Nachbereitung, sowie Gestaltung einer Studienwerbeaktion 22
4.1 Projektideen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.2 Vorhandene Projekte der Smartibotentwickler . . . . . . . . . . . . . . . . 24
5 Zusammenfassung 25
Literaturverzeichnis 26
1
Abbildungsverzeichnis
2.1 Frontansicht des Smartibots mit der Steuerungsplatine. . . . . . . . . . . . 5
2.2 Rückansicht des Smartibots mit Schalter für das Ein- und Ausschalten. . . 6
2.3 LED-Matrix zum Anschließen an den Smartibot. [1] . . . . . . . . . . . . . 6
2.4 Abstandssensoren (1x links, 1x rechts) zum Anschließen an den Smartibot. [1] 7
3.1 Startseite der Smartibot Web IDE mit wichtigen gekennzeichneten Elementen. 9
3.2 Menü zur Änderung der Spracheinstellung. . . . . . . . . . . . . . . . . . . 9
3.3 Startprogramm der Blocklyprogrammierung. . . . . . . . . . . . . . . . . . 10
3.4 Oberfläche für die Erstellung eines eigenen Programms. . . . . . . . . . . . 10
3.5 Beispielprogramm, der Smartibot fährt für 5 Sekunden geradeaus und hält
danach an. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.6 Beispielprogramm mit fahrendem Smartibot und dabei leuchtenden LED-
Augen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.7 Beispielprogramm zur Verwendung der zwei integrierten Knöpfe. . . . . . . 13
3.8 Startprogramm der JavaSrript-Programmierung. . . . . . . . . . . . . . . . 13
3.9 Eingangsbildschirm bei der Verwendung der Smartibotfernsteuerung über
die Weboberfläche. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.10 Eingangsoberfläche der Smartibot-App. . . . . . . . . . . . . . . . . . . . . 17
3.11 Appoberfläche mit der Aufforderung Standortberechtigung zu erteilen. . . . 18
3.12 Appoberfläche mit der Aufforderung die Bluetoothfunktion einzuschalten. . 18
3.13 Fernbedienungsoberfläche des Smartibots, markiert ist das Symbol, wenn
kein Gerät verbunden ist. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.14 Fernbedienungsoberfläche des Smartibots, markiert ist das Symbol, wenn
ein Gerät verbunden ist. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.15 Appoberfläche, wenn kein Smartibot gefunden werden kann. (siehe Hinweise
zuvor) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.16 Appoberfläche des A.I.-Modus vor dem Start (a) und im laufenden Betrieb
(b), es wird ein Stuhl als Objekt erkannt. . . . . . . . . . . . . . . . . . . . 21
4.1 Smartibot in Kombination mit einer Wasserpistole als Alarmanlage. [3] . . 24
4.2 Smartibot in Kombination mit einem Spielzeugbagger. [3] . . . . . . . . . . 24
2
1 Einleitung
Die Aufgabe dieses Forschungsprojekts ist es eine Experimentierstation zu entwerfen. In
dieser dient der Smartibot als Lernobjekt.
Um den sinkenden Studierendenzahlen im Bereich der Elektrotechnik an der Otto-von-
Guericke-Universität entgegenzuwirken, etablieren sich Studienwerbeaktionen immer mehr.
Dafür eignen sich Tage der offenen Labortür oder MINT-Aktionstage.
Der Smartibot kann als Teil solcher Aktionen genutzt werden, um die Schülerinnen und
Schülern für Technik im Allgemeinen, beziehungsweise einen Studiengang mit naturwissen-
schaftlichen Bereich zu begeistern. Dabei wird an der Otto-von-Guericke Universität viel
Wert darauf gelegt, so früh wie möglich mit diesen Werbeaktionen zu beginnen. Deshalb
ist der Smartibot sehr gut für Grundschüler geeignet, die spielerisch neue Dinge entdecken
können und dabei lernen. Jedoch können im Rahmen einer Experimentierstation auch
ältere Schüler, durch die Programmierung in der „Blockly“-Umgebung oder in der Sprache
„JavaScript“, angesprochen werden.
Durch den Smartibot können Fertigkeiten, wie Teamfähigkeit, Kommunikation, problem-
orientiertes Handeln, Programmierung, Kreativität, Planungsvermögen, sowie der Umgang
mit modernen Medien gestärkt werden. Im weiteren Verlauf dieses Berichts wird darauf
eingegangen, wie der Smartibot aufgebaut ist, gesteuert und programmiert wird und wie
eine Studienwerbeaktion aussehen und ablaufen kann.
3
2 Aufbau und Funktionsweise des Smartibots
Der Smartibot kann entweder mittels der internen Batterien betrieben werden oder
auch über den integrierten USB-Anschluss. Empfehlenswert ist hierbei der Betrieb über
das integrierte Batteriefach. Jedoch kann es vorkommen, dass der Schalter an diesem
nicht einwandfrei funktioniert, in diesem Fall ist auf die Stromversorgung über den USB-
Anschluss zurückzugreifen.
2.1 Platine/Vorderansicht
In Abbildung 2.1 ist die Front des Smartibots zu finden. Die Erklärung der einzelnen
Elemente ist im Folgenden zu finden:
1. Stromversorgung
2. USB-Anschluss
3. Verbindungsanschluss für die Zusatzmodule
4. Knöpfe „A“ und „B“
5. Anschlüsse für vier Motoren (M1-4)
4
2 Aufbau und Funktionsweise des Smartibots
1
2
3 3
44
55
Abbildung 2.1: Frontansicht des Smartibots mit der Steuerungsplatine.
2.2 Rückansicht
In Abbildung 2.2 ist die Rückseite des Smartibots dargestellt. An dieser befindet sich auch
der Ein-/Ausschalter.
Des Weiteren kann die Rückseite hochgeklappt werden. Im Inneren befinden sich ein
Batteriefach und zwei separat ansteuerbare Motoren. Beides wird an der Frontplatine
angeschlossen. In das Batteriefach passen vier Batterien des Typs „AA“.
5
2 Aufbau und Funktionsweise des Smartibots
Abbildung 2.2: Rückansicht des Smartibots mit Schalter für das Ein- und Ausschalten.
2.3 Zusatzmodule
Es gibt zwei Zusatzmodule, die an den Smartibot angeschlossen werden können. Dazu
zählen eine LED-Matrix (Abbildung 2.3) und ein Modul mit zwei Abstandssensoren
(Abbildung 2.4).
Abbildung 2.3: LED-Matrix zum Anschließen an den Smartibot. [1]
6
2 Aufbau und Funktionsweise des Smartibots
Abbildung 2.4: Abstandssensoren (1x links, 1x rechts) zum Anschließen an den Smarti-
bot. [1]
7
3 Steuerungsmöglichkeiten
Es gibt fünf verschiedene Steuerungsmöglichkeiten des Smartibots. Drei davon nutzen eine
Weboberfläche und die Steuerung über einen Computer. Dazu zählen die Blockly- und
JavaScript-Umgebung zur Programmierung des Smartibots und eine Fernbedienung, die
über einen Internetbrowser ausgeführt werden kann. Es ist auch denkbar, die Programmie-
rungsoberfläche, sowie die Fernbedienung über ein Tablet aufzurufen, jedoch hat dies bei
mehreren Tests nicht funktioniert.
Für die weiteren Möglichkeiten wird ein Smartphone, beziehungsweise Tablet benötigt. In
diesem Fall gibt es eine App, auf der zwischen Fernbedienungs- und A.I.-Modus gewählt
werden kann.
Ausführungen zu den einzelnen Steuerungsmöglichkeiten werden im folgenden Abschnitt
aufgeführt. Das Endgerät, über das die Steuerung stattfinden soll, muss jedoch eine
Bluetooth-Schnittstelle besitzen.
3.1 Programmierung
Beim Start der Weboberfläche sieht diese wie in Abbildung 3.1 aus. Die Funktionen der
markierten Elemente sind im Folgenden dargestellt.
1. Einstellungen
2. Verbindung zwischen Computer und Smartibot herstellen
3. von oben nach unten:
Datei öffnen
Datei speichern
Programm an den Smartibot senden
4. Wechsel zwischen JavaScript- und Blocklyprogrammierung
8
3 Steuerungsmöglichkeiten
Zu Punkt 3 ist zu sagen, dass durch den mittleren Button eine Code-Datei auf dem
Computer gespeichert wird. Diese kann zu einem späteren Zeitpunkt durch den Button 1
erneut aufgerufen, beziehungsweise auf dem Smartibot gespeichert werden.
Abbildung 3.1: Startseite der Smartibot Web IDE mit wichtigen gekennzeichneten Ele-
menten.
Die Sprache der Weboberfläche ist standardmäßig auf Englisch eingestellt, um die Hand-
habung zu vereinfachen, ist es empfehlenswert diese auf Deutsch einzustellen. Der dazu
notwendige Menüpunkt ist unter „Einstellungen→General→Graphical Editor Language“
(siehe Abbildung 3.2) zu finden.
Abbildung 3.2: Menü zur Änderung der Spracheinstellung.
9
3 Steuerungsmöglichkeiten
3.1.1 Blockly
Abbildung 3.3: Startprogramm der Blocklyprogrammierung.
Die Weboberfläche in der Blocklyprogrammierumgebung ist in Abbildung 3.3 dargestellt.
Standardmäßig ist der Smartibot nicht eingebunden, dies kann unter „Einstellungen
→General→Graphical Editor Extentions“ durch einen gesetzten Haken bei „Smartibot“
geändert werden. Daraufhin sollte ein neuer Menüpunkt erscheinen, der die Bezeichnung
„Smartibot“ trägt. In Abbildung 3.4 ist die Oberfläche dargestellt, um mit dem Programmie-
ren beginnen zu können. Die Menüpunkte „Logic“, „Control“, „Variables“ und „ Smartibot“
sind hierbei am relevantesten.
Abbildung 3.4: Oberfläche für die Erstellung eines eigenen Programms.
Es bietet sich an, das Programm so aufzubauen, dass eine Strecke abgefahren wird, zum
Beispiel bis zu einem definierten Endpunkt. Dabei sollte die Schwierigkeit immer gesteigert
werden. Zuerst wird eine gerade Strecke gewählt und im weiteren Verlauf ist diese mit
10
3 Steuerungsmöglichkeiten
Kurven oder Hindernissen erweiterbar. Ein Beispielprogramm ist in Abbildung 3.5 zu
finden. Der Smartibot fährt für 5 Sekunden geradeaus und hält danach an. Dabei ist das
„-“ bei der Ansteuerung des Motors „M2“ zu beachten, dieser ist entgegengesetzt zum
ersten Motor gepolt, jedoch ist dies in der Fernbedienungsapp (siehe Abschnitt 3.3) die
richtige Polung. Deshalb wäre das Tauschen der Kabelenden nicht sehr sinnvoll.
Abbildung 3.5: Beispielprogramm, der Smartibot fährt für 5 Sekunden geradeaus und hält
danach an.
Weiterhin kann das Programm mit Variablen und Schleifen ergänzt werden. Jedoch ist die
Funktionsweise dort nicht immer gegeben, zum Beispiel funktioniert der Block „Wiederhole
10 mal“ (die Anzahl dient nur der Veranschaulichung und kann geändert werden), mit
einer Anweisung, nicht ordnungsgemäß und bricht nach einer Ausführung ab.
In Abbildung 3.6 ist ein Beispielprogramm zu sehen, das wie folgt funktioniert. Die
LED-Augen des Smartibots blinken zum Start orange auf, nach einer Sekunde fährt der
Smartibot für eine Sekunde geradeaus. Danach wechselt die Farbe der LED-Augen auf
blau und der Roboter fährt für eine Sekunde rückwärts. Daraufhin gehen die LEDs aus
und der Smartibot hält an.
Anhand von Variablen wäre zum Beispiel die Helligkeitssteuerung der LEDs denkbar,
sodass eine globale Variable deklariert wird, die für den Wert „Brightness: 0.9“ eingesetzt
wird.
11
3 Steuerungsmöglichkeiten
Abbildung 3.6: Beispielprogramm mit fahrendem Smartibot und dabei leuchtenden LED-
Augen.
In Abbildung 3.7 ist ein weiteres Programm zu sehen, das die Funktionsweise der zwei
integrierten Knöpfe am Smartibot veranschaulichen soll. Die Bezeichnungen „BTN1“ und
„BTN2“ stehen für die Knöpfe „A“ und „B“. Des Weiteren kann gewählt werden, ob auf
eine steigende (rising – Knopf wird gedrückt) oder eine fallende (falling – Knopf wird
losgelassen) Flanke reagiert werden soll.
Hier werden beide Funktionen gezeigt. Beim Betätigen eines Knopfes fangen die LED-
Augen des Smartibots an zu leuchten. Wird der Knopf losgelassen, erlöschen die LEDs
wieder.
12
3 Steuerungsmöglichkeiten
Abbildung 3.7: Beispielprogramm zur Verwendung der zwei integrierten Knöpfe.
3.1.2 JavaScript
Abbildung 3.8: Startprogramm der JavaSrript-Programmierung.
In der JavaScript-Umgebung sieht die Weboberfläche, wie in Abbildung 3.8 dargestellt, aus.
Es kann nun der Programmcode auf die rechte Seite der Oberfläche geschrieben werden.
Wie ein Beispielprogramm aussehen könnte, ist in Listing 3.1 zu sehen. Es werden einzelne
Funktionen am Beginn des Programms erstellt, die für die jeweiligen Fahrtrichtungen stehen.
Das eintretende Ereignis ist jeweils als Kommentar im Programm aufgeführt. In diesem
Fall wird nur die Funktion geradeaus() aufgerufen und für eine bestimmte Zeitdauer
durch eine for-Schleife ausgeführt. Danach wird der Smartibot durch die stop()-Funktion
angehalten.
13
3 Steuerungsmöglichkeiten
Die Funktionen können dann im nachfolgenden Programm aufgerufen oder auch erweitert
werden, zum Beispiel durch Variation des Kurvenradius, der Fahrtgeschwindigkeit oder
Nutzung von Variablen. Des Weiteren können Befehle in die linke Hälfte der Oberfläche
eingegeben werden. In diesem Fall bieten sich kurze Befehle, wie die stop()-Funktion aus
dem Beispielprogramm (Listing 3.1) an, falls ein Fehler auftritt und der Smartibot nicht
aufhört zu fahren.
1 var smarti = require("Smartibot");
2
3 // Deklaration der verschiedenen Funktionen ,
4 // diese koennen beliebig erweitert werden
5
6 function geradeaus () // Smartibot faehrt geradeaus
7 {
8 smarti.setMotor (1, 0.5);
9 smarti.setMotor (2, -0.5);
10 }
11
12 function zurueck () // Smartibot faehrt zurueck
13 {
14 smarti.setMotor (1, -0.5);
15 smarti.setMotor (2, 0.5);
16 }
17
18 function links () // Smartibot dreht sich links herum
19 {
20 smarti.setMotor (1, 0.5);
21 smarti.setMotor (2, 0.5);
22 }
23
24 function rechts () // Smartibot dreht sich rechts herum
25 {
26 smarti.setMotor (1, -0.5);
27 smarti.setMotor (2, -0.5);
28 }
29
30 function stop () // Smartibot haelt an
31 {
32 smarti.setMotor (1, 0);
33 smarti.setMotor (2, 0);
34 }
35
36 // Beginn des eigentlichen Programms
37
38
39 var imax = 1000;
40 // Maximum der Schleife , Einstellung der Schleifen -Zeitdauer
14
3 Steuerungsmöglichkeiten
41
42 for(var i=0;i<imax;i=i+1) // Addiere solange 1 dazu bis imax erreicht ist
43 {
44 geradeaus (); // Funktion geradeaus wird aufgerufen
45 }
46
47 stop ();
48 // Aufruf der Funktion "stop", um den Smartibot anzuhalten
Listing 3.1: Beispielprogramm in JavaScript.
Die Codebeispiele der Listings 3.2 - 3.5 wurden aus [2] übernommen und wenn nötig
angepasst.
Es wird die Funktionsweise der integrierten Knöpfe (Listing 3.2) gezeigt. Diese können
mittels der Built-in-Variablen „BTN1“ (Button A) und „BTN2“ (Button B) aufgerufen
werden. Durch BTN1.read() oder digitalRead(BTN1) wird der Status des Knopfes A
ausgelesen, für Knopf B gilt die Vorgehensweise analog. Es ist allerdings zu beachten, dass
die Rückgabe beim Loslassen eines Knopfes „true“ und beim Betätigen „false“ ist.
1 setWatch(function(e) {
2 if (e.state) print("Button pressed");
3 else print("Button released");
4 }, BTN , {repeat:true });
Listing 3.2: Beispielcode zur Nutzung der integrierten Knöpfe.
In Listing 3.3 ist die Ansteuerung der zwei Smartibotmotoren zu finden. Dies ist der ange-
passte Programmcode aus [2], mit der Anpassung aufgrund der unterschiedlich gepolten
Motoren.
In diesem Fall werden die Motoren mit verschiedenen Geschwindigkeiten betrieben, wodurch
der Smartibot eine Kurve fährt. In den Klammern des Befehls smarti.setMotor(Index 1,
Index 2) steht der Index 1 dafür, welcher Motor angesteuert werden soll. Der zweite Index
steht dafür, mit welcher Geschwindigkeit dieser genutzt wird. Dieser Wert kann zwischen
-1 und 1 liegen. Die Nummer eines Motors ist auf der Frontplatine des Smartibots zu finden.
1 var smarti = require("Smartibot");
2
3 smarti.setMotor (2, -1); // run motor 2 forward at full speed
4 smarti.setMotor (1, 0.5); // run motor 1 forward at half speed
Listing 3.3: Bespielcode zur Ansteuerung der Smartibot-Motoren.
In Listing 3.4 ist die Ansteuerung der zwei LED-Augen zu finden. Die jeweilige Farbe kann
mittels RGB-Code gewählt werden. Der erste Index steht für die linke LED und der zweite
für die rechte LED.
15
3 Steuerungsmöglichkeiten
1 var smarti = require("Smartibot");
2
3 // Set left LED to RED , right LED to GREEN
4 smarti.setLEDs ([255 ,0 ,0] , [0 ,255 ,0]);
Listing 3.4: Beispielcode zur Nutzung der LED-Augen des Smartibots.
Die LED-Matrix wird über den Anschluss „E1“ mit dem Smartibot verbunden. Es ist
irrelevant, an welchem Anschluss des Zusatzmoduls sich das andere Ende des Kabels
befindet. Danach kann der Programmcode des Listing 3.5 eingespielt werden. Bei richtiger
Funktionsweise ist auf dem Display das Wort „Hi“ umgeben von einem Rahmen zu sehen.
1 var smarti = require("Smartibot");
2 var g = require("Smartibot -display").connect(smarti.E1);
3
4 // Clear the screen
5 g.clear ();
6 g.setColor (127); // set brightness - 0..255
7 // Draw something!
8 g.drawRect (0,0,15,8); // Rahmen
9 g.drawString("Hi" ,2,2); // Schrift auf Display
10 // Send what we drew to the screen
11 g.flip ();
Listing 3.5: Beispielcode zur Nutzung der LED-Matrix.
3.2 Fernsteuerung über Weboberfläche als Fernbedienung
In Abbildung 3.9 ist die Weboberfläche zu sehen, die für die Fernsteuerung des Smartibots
nötig ist. Mit einem Klick auf den Pfeil nach oben kann eine Verbindung hergestellt werden.
Danach stehen die Pfeile für die Richtung, in die der Smartibot gesteuert werden soll. Dies
geschieht, solange bis der orangefarbene Knopf in der Mitte der Oberfläche betätigt wird.
Diese Art der Steuerung ist jedoch eher unkomfortabel, weshalb hier nicht näher darauf
eingegangen wird. Eine bessere Möglichkeit ist die Fernsteuerung über ein Smartphone
oder Tablet. Dies wird unter Abschnitt 3.3 näher erläutert.
16
3 Steuerungsmöglichkeiten
Abbildung 3.9: Eingangsbildschirm bei der Verwendung der Smartibotfernsteuerung über
die Weboberfläche.
3.3 Steuerung per Smartphone
Die Smartphone-App des Smartibots sieht beim Start wie in Abbildung 3.10 aus. Von
links nach rechts sind die Elemente „Fernbedienung“, „A.I.-Umgebung“, „YouTube-Kanal“
des Entwicklers und „Internet-Shop“ zu finden. Wichtig in diesem Abschnitt sind die
ersten zwei Appfunktionen, auf die im Folgenden näher eingegangen wird. Dabei ist zu
beachten, dass das Betriebssystem „Android“ genutzt wird, für andere Systeme können
Abweichungen auftreten.
Abbildung 3.10: Eingangsoberfläche der Smartibot-App.
3.3.1 Appfunktion „Fernbedienung“
Beim ersten Start der App und Nutzung der Fernbedienungsfunktion wird der Nutzer auf-
gefordert, dem System eine Standortzugriffsberechtigung zu erteilen. In der Appoberfläche
17
3 Steuerungsmöglichkeiten
sollte die Darstellung der Abbildungen 3.11 zu sehen sein. Dies muss akzeptiert werden,
um die richtige Funktionsweise zu gewährleisten. Des Weiteren müssen die Einstellungen
GPS und Bluetooth eingeschaltet werden. Ist Bluetooth am Gerät nicht eingeschaltet,
dann erscheint die Oberfläche aus Abbildung 3.12.
Sollten die Berechtigungsanfragen nicht automatisch erscheinen, muss der markierte Button
aus Abbildung 3.13 betätigt werden.
Abbildung 3.11: Appoberfläche mit der Aufforderung Standortberechtigung zu erteilen.
Abbildung 3.12: Appoberfläche mit der Aufforderung die Bluetoothfunktion einzuschalten.
Sind die zuvor erwähnten Berechtigungen erteilt wurden, kann der Smartibot mit dem
Smartphone verbunden werden. Dafür wird der Button rechts oben in der Fernbedienungs-
funktion genutzt (markiert in Abbildung 3.13). Es sollte als Auswahlpunkt „Espruino
Smartibot“ zu sehen sein, dieser muss ausgewählt werden. Daraufhin kehrt die App
automatisch auf den vorherigen Bildschirm mit dem Unterschied zurück, dass sich das
Verbindungssymbol geändert hat. Es ist, wie in Abbildung 3.14 rechts oben rot markiert,
ein Haken zu erkennen.
18
3 Steuerungsmöglichkeiten
Abbildung 3.13: Fernbedienungsoberfläche des Smartibots, markiert ist das Symbol, wenn
kein Gerät verbunden ist.
Abbildung 3.14: Fernbedienungsoberfläche des Smartibots, markiert ist das Symbol, wenn
ein Gerät verbunden ist.
Sollten die zuvor beschriebenen Ausführungen nicht funktionieren, beziehungsweise sollte
der Bildschirm wie in Abbildung 3.15 aussehen, dann könnte das an folgenden Punkten
liegen:
• Der Standort konnte nicht ermittelt werden.
Ist das GPS eingeschaltet?
Wurde die Berechtigung erteilt?
• Es konnte keine Bluetooth-Verbindung hergestellt werden.
Wurde die Berechtigung erteilt?
Ist Bluetooth eingeschaltet?
19
3 Steuerungsmöglichkeiten
• Blockiert eine andere App (z. B. Antivirenprogramm) oder Einstellung die richtige
Funktionsweise?
Abbildung 3.15: Appoberfläche, wenn kein Smartibot gefunden werden kann. (siehe Hin-
weise zuvor)
3.3.2 Appfunktion „A.I.-Modus“
Für die Verwendung des A.I.-Modus ist es nötig, dem Smartphone zu erlauben, Bilder
und Videos aufzunehmen. Diese Abfrage tritt nur beim ersten Betätigen des A.I.-Buttons
auf. Im Weiteren kann das Smartphone genutzt werden, um verschiedene Objekte zu
detektieren. Diese sind in den Einstellungen der App zu finden und können durch ein
Haken aus- oder abgewählt werden. Dort kann unter Anderem die Genauigkeit eingestellt
werden, ab welcher der Smartibot reagieren soll. Wird ein Objekt erkannt, fährt dieser
darauf zu.
Es hat sich gezeigt, dass die optimalen Einstellungsparameter je nach Smartphone un-
terschiedlich ausfallen können. Es könnten Anpassungen der Standardeinstellungen nötig
sein.
20
3 Steuerungsmöglichkeiten
(a) (b)
Abbildung 3.16: Appoberfläche des A.I.-Modus vor dem Start (a) und im laufenden Betrieb
(b), es wird ein Stuhl als Objekt erkannt.
21
4 Vor- und Nachbereitung, sowie Gestaltung einer
Studienwerbeaktion
Für die Gestaltung einer Experimentierstation werden die nachfolgend aufgelisteten Hilfs-
mittel benötigt. Diese können, je nach Umfang der Station und Alter der Schüler, angepasst
werden.
• Smartibot
• Tablet für die Nutzung der Fernbedienungsfunktion
• Smartphone für die Nutzung des A.I-Modus
• Notebook für die Nutzung der Programmierumgebung
• farbige Stifte um einen Parcours zu malen
• DIN A3-Papier (oder größer)
• Wechselakkus oder Wechselbatterien (4x AA)
• Micro-USB-Kabel (als Notfallversorgung, z. B. wenn das Batteriefach einen defekt
aufweist)
• Schraubenzieher zum Lösen der Schraube am Batteriefach und festziehen der lockeren
Schrauben am Smartibot
Für die Vorbereitung einer Mitmachaktion ist das Alter der Schüler, sowie das technische
Verständnis, zu beachten. Es ist sinnvoll, die geplante Aktion je nach den Gegebenheiten
anzupassen.
Die Kriterien sind:
• Alter
• technisches Verständnis
• vorhandenes Engagement der Schüler
• Konzentrationsfähigkeit (nachmittags eher geringer)
• Vorkenntnisse (Umgang mit Computern/Smartphones, Programmierkenntnisse)
22
4 Vor- und Nachbereitung, sowie Gestaltung einer Studienwerbeaktion
Es hat sich gezeigt, dass es sinnvoll ist, die Teilnehmer spielerisch an den Smartibot
heranzuführen, sodass die Funktionsweise durch Nutzung der Fernbedienungsfunktion in
der App kennengelernt werden kann.
Daraufhin kann entschieden werden, unter den vorher genannten Kriterien, wie der weitere
Verlauf der Aktion gestaltet wird. Für Grundschüler geht die Tendenz eher dazu, einen
Parcours auf ein Blatt Papier zu malen und diesen mit dem Smartibot abzufahren. Dies
kann auch zu einem kleinen Wettbewerb gemacht werden, sodass alle Gruppen nach Zeit
fahren. Mit der Einteilung in verschiedene Abschnitte des Parcours, die von nur einem
Schüler gefahren wird, kann zusätzlich die Teamfähigkeit und Absprach untereinander
gestärkt werden.
Die Programmierumgebung „Blockly“ stellt die nächsthöhere Anforderungsstufe dar.
Eine Umsetzungsmöglichkeit ist zum Beispiel die Auswahl eines bestimmten Start- und
Endpunkts, diese Strecke muss dann abgefahren werden. Hier bietet sich an mit einer
geraden Strecke anzufangen, mit Kurven eine Steigerung zu erzielen und zum Ende den
gemalten Parcours oder eine Teilstrecke dessen zu bewältigen.
Als letzte Schwierigkeitsstufe kann die Programmierung mittels „JavaScript“ genutzt
werden. Die Vorgehensweise ist analog zu der „Blockly“-Umgebung.
Des Weiteren dient der A.I.-Modus als Vorführvariante, um den Schülern zu zeigen, was
in der Technik möglich ist oder in der Zukunft möglich sein wird.
4.1 Projektideen
Der folgende Abschnitt ist als Anregung zur Ideenfindung zu sehen und kann nach eigenem
Ermessen erweitert und verändert werden.
Der Smartibot kann gut als zwanzig-minütige Station einer Studienwerbeaktion genutzt
werden. Dafür eignet sich das unter Abschnitt 4 aufgeführte Verfahren. Die Zeitangabe
ist dabei nicht strikt einzuhalten, sondern dient als Anhaltspunkt, sodass einige Minuten
mehr durchaus möglich sind. Für eine kürzere Zeitspanne als zwanzig Minuten ist eine Vor-
führaktion sinnvoller. Dabei wäre der A.I.-Modus oder ein vorprogrammiertes Programm,
zum Beispiel in Kombination mit den Zusatzmodulen, erwähnenswert.
Sollte mehr als ein Smartibot zur Verfügung stehen, können diese auch verwendet werden,
um einen kleinen Wettbewerb von mehreren Gruppen zu veranstalten. Diese Aktion kann
wie folgt aussehen: die Schüler bauen sich aus verschiedenen Materialien, wie Papier, Pappe,
Holz oder leeren Plastikflaschen ihren eigenen Smartibot. Dieser wird dann getestet in
einem Hindernisparcours, der absolviert werden muss, einer bestimmten Fahrbahn, die auf
Zeit gewertet wird oder im Erklimmen einer gewissen Steigung. Zum Ende wäre auch eine
Siegerehrung möglich.
23
4 Vor- und Nachbereitung, sowie Gestaltung einer Studienwerbeaktion
4.2 Vorhandene Projekte der Smartibotentwickler
Die Bilder der Abbildungen 4.1 und 4.2 wurden dem Kickstarter-Video aus [3] entnommen.
Die Ausführungen des Videos sind außerdem in [4] als Text zu finden.
Sie zeigen den Smartibot mit der Erweiterung einer Wasserpistole (Abbildung 4.1), die
betätigt werden kann, wenn sich ein Objekt nähert. Des Weiteren ist diese auch mit dem
A.I.-Modus automatisierbar. Im Video wird dies anhand eines Hundes gezeigt.
In Abbildung 4.2 ist der Smartibot an einen Spielzeugbagger angebracht, um diesen zu
steuern. Generell ist zu sagen, dass der Smartibot an jedes Gerät angeschlossen werden
kann, das über vier Batterien des Typs „AA“ betrieben wird. Weitere Projekte innerhalb
des erwähnten Videos sind ein Xylophon spielender Roboter und das Spiel „Snake“, wobei
die LED-Matrix als Bildschirm und dient.
Abbildung 4.1: Smartibot in Kombination mit einer Wasserpistole als Alarmanlage. [3]
Abbildung 4.2: Smartibot in Kombination mit einem Spielzeugbagger. [3]
24
5 Zusammenfassung
Es hat sich gezeigt, dass der Smartibot eine gute Variante ist, den Schülerinnen und Schülern
aller Altersklassen technische Sachverhalte näher zu bringen und diese anschaulich zu
erklären.
Es kann die Fernsteuerung eines Objekts mittels Smartphone veranschaulicht werden.
Diese Steuerung ist in ähnlicher Form auch bei größeren Maschinen, zum Beispiel für Kräne
oder im Tagebau, möglich. Des Weiteren wird durch den Smartibot gezeigt, inwiefern eine
Automatisierung in kleiner Form möglich ist. Dies kann durch zwei Varianten erfolgen,
mittels Programmierung in der „Blockly“- oder „JavaScript“-Umgebung und durch den
A.I.-Modus.
Als Kritikpunkt kann das verwendete Material angesehen werden. Die Smartibot-Hülle
besteht zum größten Teil aus Pappe. Dies macht sich vor allem an den Rädern bemerkbar,
die sich schnell abnutzen, schief stehen und durch die der Roboter nicht mehr gerade
Strecken bei den jeweiligen Parametern fahren kann.
25
Literaturverzeichnis
[1] The Crafty Bot: Smartibot Genius Kit.
https://thecraftyrobot.net/products/smartibot-genius-kit-pre-order
Version: 04.09.2019
[2] Espruino: Smartibot.
https://www.espruino.com/Smartibot
Version: 06.09.2019
[3] Crafty Bot: Smartibot Kickstarter Video.
https://www.youtube.com/watch?v=8Vy6t6o7SnI
Version: 10.09.2019
[4] Smartibot: The world’s first A.I. enabled cardboard robot.
https://www.kickstarter.com/projects/460355237/smartibot-the-worlds-first-ai-
enabled-cardboard-ro?lang=de
Version: 10.09.2019
26
Literaturverzeichnis
Anhang/weiterführende Internetadressen
• Espruino Web IDE:
https://www.espruino.com/ide/
• Fernsteuerung in der Weboberfläche
https://thecraftyrobot.github.io/smartibot_webpad/
• Android App „Smartibot“
https://play.google.com/store/apps/details?id=com.raa.smartibot&gl=DE
• iPhone App „Smartibot“
https://apps.apple.com/de/app/smartibot/id1334831980
• Kickstarter-Projekt
https://www.kickstarter.com/projects/460355237/smartibot-the-worlds-first-ai-
enabled-cardboard-ro?lang=de
• „Crafty Robot“ YouTube-Kanal
https://www.youtube.com/channel/UCqGHJgnxcld6uwIXS9h9J6Q
• „The Crafty Robot“ Internetshop
https://crafty-robot.myshopify.com/
27
Forschungsprojekt
Einsatz eines mittels Bluetooth fernsteuerbaren Roboters „Smartibot“ für
Studienwerbeaktionen und Tage der offenen Labortür
eingereicht am: 2. Oktober 2019
von: Vincent Szameitat
(Vincent Szameitat)

Weitere ähnliche Inhalte

Ähnlich wie "Smartibot" im Einsatz bei der Studienwerbung an der OvGU Magdeburg

Watchkit - Programmieren für die Apple Watch
Watchkit - Programmieren für die Apple WatchWatchkit - Programmieren für die Apple Watch
Watchkit - Programmieren für die Apple Watchdirkkoller
 
Handbuch Fritz Wlan Repeater N G
Handbuch Fritz Wlan Repeater N GHandbuch Fritz Wlan Repeater N G
Handbuch Fritz Wlan Repeater N Gguest93738e
 
Emf2179 ib _devicenet aif module__v4-1__de_en_fr
Emf2179 ib _devicenet aif module__v4-1__de_en_frEmf2179 ib _devicenet aif module__v4-1__de_en_fr
Emf2179 ib _devicenet aif module__v4-1__de_en_frCharles Santos
 
Groups 2010.02: Offenheit des Android-Betriebssystems (Digital Sustainability)
Groups 2010.02: Offenheit des Android-Betriebssystems (Digital Sustainability)Groups 2010.02: Offenheit des Android-Betriebssystems (Digital Sustainability)
Groups 2010.02: Offenheit des Android-Betriebssystems (Digital Sustainability)Marcus Dapp
 
Whitepaper: Indoor Positionsbestimmung in Büros & intelligenten Gebäuden
Whitepaper: Indoor Positionsbestimmung in Büros & intelligenten GebäudenWhitepaper: Indoor Positionsbestimmung in Büros & intelligenten Gebäuden
Whitepaper: Indoor Positionsbestimmung in Büros & intelligenten Gebäudeninfsoft GmbH
 
Groups 2010.09: Free/Open Spectrum (Digital Sustainability)
Groups 2010.09: Free/Open Spectrum (Digital Sustainability)Groups 2010.09: Free/Open Spectrum (Digital Sustainability)
Groups 2010.09: Free/Open Spectrum (Digital Sustainability)Marcus Dapp
 
Augmented Reality Workshop
Augmented Reality WorkshopAugmented Reality Workshop
Augmented Reality Workshopargency
 
Me:mi Koeln Studie zu Handy Tv
Me:mi Koeln Studie zu Handy TvMe:mi Koeln Studie zu Handy Tv
Me:mi Koeln Studie zu Handy TvPatrik Tschudin
 
Anleitung Miele Trockner t 494 c
Anleitung Miele Trockner t 494 cAnleitung Miele Trockner t 494 c
Anleitung Miele Trockner t 494 cOmaheim
 
User-centered Design für Telemedizin-App
User-centered Design für Telemedizin-AppUser-centered Design für Telemedizin-App
User-centered Design für Telemedizin-AppRoland Bruggmann
 
Bachelorthesis Robert Ballon Intelligentes Mikrofonsystem - Einsatzszenarien ...
Bachelorthesis Robert Ballon Intelligentes Mikrofonsystem - Einsatzszenarien ...Bachelorthesis Robert Ballon Intelligentes Mikrofonsystem - Einsatzszenarien ...
Bachelorthesis Robert Ballon Intelligentes Mikrofonsystem - Einsatzszenarien ...Robert Ballon
 
Numerische Methoden: Approximation und Integration
Numerische Methoden: Approximation und IntegrationNumerische Methoden: Approximation und Integration
Numerische Methoden: Approximation und IntegrationRoland Bruggmann
 

Ähnlich wie "Smartibot" im Einsatz bei der Studienwerbung an der OvGU Magdeburg (20)

Dsvdoc
DsvdocDsvdoc
Dsvdoc
 
Watchkit - Programmieren für die Apple Watch
Watchkit - Programmieren für die Apple WatchWatchkit - Programmieren für die Apple Watch
Watchkit - Programmieren für die Apple Watch
 
Handbuch Fritz Wlan Repeater N G
Handbuch Fritz Wlan Repeater N GHandbuch Fritz Wlan Repeater N G
Handbuch Fritz Wlan Repeater N G
 
Emf2179 ib _devicenet aif module__v4-1__de_en_fr
Emf2179 ib _devicenet aif module__v4-1__de_en_frEmf2179 ib _devicenet aif module__v4-1__de_en_fr
Emf2179 ib _devicenet aif module__v4-1__de_en_fr
 
Dsvdoc
DsvdocDsvdoc
Dsvdoc
 
Dsvdoc
DsvdocDsvdoc
Dsvdoc
 
Dsvdoc
DsvdocDsvdoc
Dsvdoc
 
Dsvdoc
DsvdocDsvdoc
Dsvdoc
 
Groups 2010.02: Offenheit des Android-Betriebssystems (Digital Sustainability)
Groups 2010.02: Offenheit des Android-Betriebssystems (Digital Sustainability)Groups 2010.02: Offenheit des Android-Betriebssystems (Digital Sustainability)
Groups 2010.02: Offenheit des Android-Betriebssystems (Digital Sustainability)
 
Whitepaper: Indoor Positionsbestimmung in Büros & intelligenten Gebäuden
Whitepaper: Indoor Positionsbestimmung in Büros & intelligenten GebäudenWhitepaper: Indoor Positionsbestimmung in Büros & intelligenten Gebäuden
Whitepaper: Indoor Positionsbestimmung in Büros & intelligenten Gebäuden
 
Groups 2010.09: Free/Open Spectrum (Digital Sustainability)
Groups 2010.09: Free/Open Spectrum (Digital Sustainability)Groups 2010.09: Free/Open Spectrum (Digital Sustainability)
Groups 2010.09: Free/Open Spectrum (Digital Sustainability)
 
Augmented Reality Workshop
Augmented Reality WorkshopAugmented Reality Workshop
Augmented Reality Workshop
 
Me:mi Koeln Studie zu Handy Tv
Me:mi Koeln Studie zu Handy TvMe:mi Koeln Studie zu Handy Tv
Me:mi Koeln Studie zu Handy Tv
 
Berliner Open-Data-Strategie
Berliner Open-Data-StrategieBerliner Open-Data-Strategie
Berliner Open-Data-Strategie
 
Mocek Thesis
Mocek ThesisMocek Thesis
Mocek Thesis
 
Lcam
LcamLcam
Lcam
 
Anleitung Miele Trockner t 494 c
Anleitung Miele Trockner t 494 cAnleitung Miele Trockner t 494 c
Anleitung Miele Trockner t 494 c
 
User-centered Design für Telemedizin-App
User-centered Design für Telemedizin-AppUser-centered Design für Telemedizin-App
User-centered Design für Telemedizin-App
 
Bachelorthesis Robert Ballon Intelligentes Mikrofonsystem - Einsatzszenarien ...
Bachelorthesis Robert Ballon Intelligentes Mikrofonsystem - Einsatzszenarien ...Bachelorthesis Robert Ballon Intelligentes Mikrofonsystem - Einsatzszenarien ...
Bachelorthesis Robert Ballon Intelligentes Mikrofonsystem - Einsatzszenarien ...
 
Numerische Methoden: Approximation und Integration
Numerische Methoden: Approximation und IntegrationNumerische Methoden: Approximation und Integration
Numerische Methoden: Approximation und Integration
 

"Smartibot" im Einsatz bei der Studienwerbung an der OvGU Magdeburg

  • 1. Otto-von-Guericke-Universität Magdeburg Fakultät für Elektrotechnik und Informationstechnik Institut für Medizintechnik Forschungsprojekt Einsatz eines mittels Bluetooth fernsteuerbaren Roboters „Smartibot“ für Studienwerbeaktionen und Tage der offenen Labortür eingereicht: 2. Oktober 2019 von: Vincent Szameitat geboren am 19. November 1996
  • 2. Eidesstattliche Erklärung Hiermit versichere ich, die vorliegende Arbeit selbstständig und unter ausschließlicher Verwendung der angegebenen Literatur und Hilfsmittel erstellt zu haben. Magdeburg, den 2. Oktober 2019 i
  • 3. Inhaltsverzeichnis 1 Einleitung 3 2 Aufbau und Funktionsweise des Smartibots 4 2.1 Platine/Vorderansicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2 Rückansicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.3 Zusatzmodule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3 Steuerungsmöglichkeiten 8 3.1 Programmierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.1.1 Blockly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.1.2 JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.2 Fernsteuerung über Weboberfläche als Fernbedienung . . . . . . . . . . . . 16 3.3 Steuerung per Smartphone . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.3.1 Appfunktion „Fernbedienung“ . . . . . . . . . . . . . . . . . . . . . 17 3.3.2 Appfunktion „A.I.-Modus“ . . . . . . . . . . . . . . . . . . . . . . . 20 4 Vor- und Nachbereitung, sowie Gestaltung einer Studienwerbeaktion 22 4.1 Projektideen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.2 Vorhandene Projekte der Smartibotentwickler . . . . . . . . . . . . . . . . 24 5 Zusammenfassung 25 Literaturverzeichnis 26 1
  • 4. Abbildungsverzeichnis 2.1 Frontansicht des Smartibots mit der Steuerungsplatine. . . . . . . . . . . . 5 2.2 Rückansicht des Smartibots mit Schalter für das Ein- und Ausschalten. . . 6 2.3 LED-Matrix zum Anschließen an den Smartibot. [1] . . . . . . . . . . . . . 6 2.4 Abstandssensoren (1x links, 1x rechts) zum Anschließen an den Smartibot. [1] 7 3.1 Startseite der Smartibot Web IDE mit wichtigen gekennzeichneten Elementen. 9 3.2 Menü zur Änderung der Spracheinstellung. . . . . . . . . . . . . . . . . . . 9 3.3 Startprogramm der Blocklyprogrammierung. . . . . . . . . . . . . . . . . . 10 3.4 Oberfläche für die Erstellung eines eigenen Programms. . . . . . . . . . . . 10 3.5 Beispielprogramm, der Smartibot fährt für 5 Sekunden geradeaus und hält danach an. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.6 Beispielprogramm mit fahrendem Smartibot und dabei leuchtenden LED- Augen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.7 Beispielprogramm zur Verwendung der zwei integrierten Knöpfe. . . . . . . 13 3.8 Startprogramm der JavaSrript-Programmierung. . . . . . . . . . . . . . . . 13 3.9 Eingangsbildschirm bei der Verwendung der Smartibotfernsteuerung über die Weboberfläche. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.10 Eingangsoberfläche der Smartibot-App. . . . . . . . . . . . . . . . . . . . . 17 3.11 Appoberfläche mit der Aufforderung Standortberechtigung zu erteilen. . . . 18 3.12 Appoberfläche mit der Aufforderung die Bluetoothfunktion einzuschalten. . 18 3.13 Fernbedienungsoberfläche des Smartibots, markiert ist das Symbol, wenn kein Gerät verbunden ist. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.14 Fernbedienungsoberfläche des Smartibots, markiert ist das Symbol, wenn ein Gerät verbunden ist. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.15 Appoberfläche, wenn kein Smartibot gefunden werden kann. (siehe Hinweise zuvor) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.16 Appoberfläche des A.I.-Modus vor dem Start (a) und im laufenden Betrieb (b), es wird ein Stuhl als Objekt erkannt. . . . . . . . . . . . . . . . . . . . 21 4.1 Smartibot in Kombination mit einer Wasserpistole als Alarmanlage. [3] . . 24 4.2 Smartibot in Kombination mit einem Spielzeugbagger. [3] . . . . . . . . . . 24 2
  • 5. 1 Einleitung Die Aufgabe dieses Forschungsprojekts ist es eine Experimentierstation zu entwerfen. In dieser dient der Smartibot als Lernobjekt. Um den sinkenden Studierendenzahlen im Bereich der Elektrotechnik an der Otto-von- Guericke-Universität entgegenzuwirken, etablieren sich Studienwerbeaktionen immer mehr. Dafür eignen sich Tage der offenen Labortür oder MINT-Aktionstage. Der Smartibot kann als Teil solcher Aktionen genutzt werden, um die Schülerinnen und Schülern für Technik im Allgemeinen, beziehungsweise einen Studiengang mit naturwissen- schaftlichen Bereich zu begeistern. Dabei wird an der Otto-von-Guericke Universität viel Wert darauf gelegt, so früh wie möglich mit diesen Werbeaktionen zu beginnen. Deshalb ist der Smartibot sehr gut für Grundschüler geeignet, die spielerisch neue Dinge entdecken können und dabei lernen. Jedoch können im Rahmen einer Experimentierstation auch ältere Schüler, durch die Programmierung in der „Blockly“-Umgebung oder in der Sprache „JavaScript“, angesprochen werden. Durch den Smartibot können Fertigkeiten, wie Teamfähigkeit, Kommunikation, problem- orientiertes Handeln, Programmierung, Kreativität, Planungsvermögen, sowie der Umgang mit modernen Medien gestärkt werden. Im weiteren Verlauf dieses Berichts wird darauf eingegangen, wie der Smartibot aufgebaut ist, gesteuert und programmiert wird und wie eine Studienwerbeaktion aussehen und ablaufen kann. 3
  • 6. 2 Aufbau und Funktionsweise des Smartibots Der Smartibot kann entweder mittels der internen Batterien betrieben werden oder auch über den integrierten USB-Anschluss. Empfehlenswert ist hierbei der Betrieb über das integrierte Batteriefach. Jedoch kann es vorkommen, dass der Schalter an diesem nicht einwandfrei funktioniert, in diesem Fall ist auf die Stromversorgung über den USB- Anschluss zurückzugreifen. 2.1 Platine/Vorderansicht In Abbildung 2.1 ist die Front des Smartibots zu finden. Die Erklärung der einzelnen Elemente ist im Folgenden zu finden: 1. Stromversorgung 2. USB-Anschluss 3. Verbindungsanschluss für die Zusatzmodule 4. Knöpfe „A“ und „B“ 5. Anschlüsse für vier Motoren (M1-4) 4
  • 7. 2 Aufbau und Funktionsweise des Smartibots 1 2 3 3 44 55 Abbildung 2.1: Frontansicht des Smartibots mit der Steuerungsplatine. 2.2 Rückansicht In Abbildung 2.2 ist die Rückseite des Smartibots dargestellt. An dieser befindet sich auch der Ein-/Ausschalter. Des Weiteren kann die Rückseite hochgeklappt werden. Im Inneren befinden sich ein Batteriefach und zwei separat ansteuerbare Motoren. Beides wird an der Frontplatine angeschlossen. In das Batteriefach passen vier Batterien des Typs „AA“. 5
  • 8. 2 Aufbau und Funktionsweise des Smartibots Abbildung 2.2: Rückansicht des Smartibots mit Schalter für das Ein- und Ausschalten. 2.3 Zusatzmodule Es gibt zwei Zusatzmodule, die an den Smartibot angeschlossen werden können. Dazu zählen eine LED-Matrix (Abbildung 2.3) und ein Modul mit zwei Abstandssensoren (Abbildung 2.4). Abbildung 2.3: LED-Matrix zum Anschließen an den Smartibot. [1] 6
  • 9. 2 Aufbau und Funktionsweise des Smartibots Abbildung 2.4: Abstandssensoren (1x links, 1x rechts) zum Anschließen an den Smarti- bot. [1] 7
  • 10. 3 Steuerungsmöglichkeiten Es gibt fünf verschiedene Steuerungsmöglichkeiten des Smartibots. Drei davon nutzen eine Weboberfläche und die Steuerung über einen Computer. Dazu zählen die Blockly- und JavaScript-Umgebung zur Programmierung des Smartibots und eine Fernbedienung, die über einen Internetbrowser ausgeführt werden kann. Es ist auch denkbar, die Programmie- rungsoberfläche, sowie die Fernbedienung über ein Tablet aufzurufen, jedoch hat dies bei mehreren Tests nicht funktioniert. Für die weiteren Möglichkeiten wird ein Smartphone, beziehungsweise Tablet benötigt. In diesem Fall gibt es eine App, auf der zwischen Fernbedienungs- und A.I.-Modus gewählt werden kann. Ausführungen zu den einzelnen Steuerungsmöglichkeiten werden im folgenden Abschnitt aufgeführt. Das Endgerät, über das die Steuerung stattfinden soll, muss jedoch eine Bluetooth-Schnittstelle besitzen. 3.1 Programmierung Beim Start der Weboberfläche sieht diese wie in Abbildung 3.1 aus. Die Funktionen der markierten Elemente sind im Folgenden dargestellt. 1. Einstellungen 2. Verbindung zwischen Computer und Smartibot herstellen 3. von oben nach unten: Datei öffnen Datei speichern Programm an den Smartibot senden 4. Wechsel zwischen JavaScript- und Blocklyprogrammierung 8
  • 11. 3 Steuerungsmöglichkeiten Zu Punkt 3 ist zu sagen, dass durch den mittleren Button eine Code-Datei auf dem Computer gespeichert wird. Diese kann zu einem späteren Zeitpunkt durch den Button 1 erneut aufgerufen, beziehungsweise auf dem Smartibot gespeichert werden. Abbildung 3.1: Startseite der Smartibot Web IDE mit wichtigen gekennzeichneten Ele- menten. Die Sprache der Weboberfläche ist standardmäßig auf Englisch eingestellt, um die Hand- habung zu vereinfachen, ist es empfehlenswert diese auf Deutsch einzustellen. Der dazu notwendige Menüpunkt ist unter „Einstellungen→General→Graphical Editor Language“ (siehe Abbildung 3.2) zu finden. Abbildung 3.2: Menü zur Änderung der Spracheinstellung. 9
  • 12. 3 Steuerungsmöglichkeiten 3.1.1 Blockly Abbildung 3.3: Startprogramm der Blocklyprogrammierung. Die Weboberfläche in der Blocklyprogrammierumgebung ist in Abbildung 3.3 dargestellt. Standardmäßig ist der Smartibot nicht eingebunden, dies kann unter „Einstellungen →General→Graphical Editor Extentions“ durch einen gesetzten Haken bei „Smartibot“ geändert werden. Daraufhin sollte ein neuer Menüpunkt erscheinen, der die Bezeichnung „Smartibot“ trägt. In Abbildung 3.4 ist die Oberfläche dargestellt, um mit dem Programmie- ren beginnen zu können. Die Menüpunkte „Logic“, „Control“, „Variables“ und „ Smartibot“ sind hierbei am relevantesten. Abbildung 3.4: Oberfläche für die Erstellung eines eigenen Programms. Es bietet sich an, das Programm so aufzubauen, dass eine Strecke abgefahren wird, zum Beispiel bis zu einem definierten Endpunkt. Dabei sollte die Schwierigkeit immer gesteigert werden. Zuerst wird eine gerade Strecke gewählt und im weiteren Verlauf ist diese mit 10
  • 13. 3 Steuerungsmöglichkeiten Kurven oder Hindernissen erweiterbar. Ein Beispielprogramm ist in Abbildung 3.5 zu finden. Der Smartibot fährt für 5 Sekunden geradeaus und hält danach an. Dabei ist das „-“ bei der Ansteuerung des Motors „M2“ zu beachten, dieser ist entgegengesetzt zum ersten Motor gepolt, jedoch ist dies in der Fernbedienungsapp (siehe Abschnitt 3.3) die richtige Polung. Deshalb wäre das Tauschen der Kabelenden nicht sehr sinnvoll. Abbildung 3.5: Beispielprogramm, der Smartibot fährt für 5 Sekunden geradeaus und hält danach an. Weiterhin kann das Programm mit Variablen und Schleifen ergänzt werden. Jedoch ist die Funktionsweise dort nicht immer gegeben, zum Beispiel funktioniert der Block „Wiederhole 10 mal“ (die Anzahl dient nur der Veranschaulichung und kann geändert werden), mit einer Anweisung, nicht ordnungsgemäß und bricht nach einer Ausführung ab. In Abbildung 3.6 ist ein Beispielprogramm zu sehen, das wie folgt funktioniert. Die LED-Augen des Smartibots blinken zum Start orange auf, nach einer Sekunde fährt der Smartibot für eine Sekunde geradeaus. Danach wechselt die Farbe der LED-Augen auf blau und der Roboter fährt für eine Sekunde rückwärts. Daraufhin gehen die LEDs aus und der Smartibot hält an. Anhand von Variablen wäre zum Beispiel die Helligkeitssteuerung der LEDs denkbar, sodass eine globale Variable deklariert wird, die für den Wert „Brightness: 0.9“ eingesetzt wird. 11
  • 14. 3 Steuerungsmöglichkeiten Abbildung 3.6: Beispielprogramm mit fahrendem Smartibot und dabei leuchtenden LED- Augen. In Abbildung 3.7 ist ein weiteres Programm zu sehen, das die Funktionsweise der zwei integrierten Knöpfe am Smartibot veranschaulichen soll. Die Bezeichnungen „BTN1“ und „BTN2“ stehen für die Knöpfe „A“ und „B“. Des Weiteren kann gewählt werden, ob auf eine steigende (rising – Knopf wird gedrückt) oder eine fallende (falling – Knopf wird losgelassen) Flanke reagiert werden soll. Hier werden beide Funktionen gezeigt. Beim Betätigen eines Knopfes fangen die LED- Augen des Smartibots an zu leuchten. Wird der Knopf losgelassen, erlöschen die LEDs wieder. 12
  • 15. 3 Steuerungsmöglichkeiten Abbildung 3.7: Beispielprogramm zur Verwendung der zwei integrierten Knöpfe. 3.1.2 JavaScript Abbildung 3.8: Startprogramm der JavaSrript-Programmierung. In der JavaScript-Umgebung sieht die Weboberfläche, wie in Abbildung 3.8 dargestellt, aus. Es kann nun der Programmcode auf die rechte Seite der Oberfläche geschrieben werden. Wie ein Beispielprogramm aussehen könnte, ist in Listing 3.1 zu sehen. Es werden einzelne Funktionen am Beginn des Programms erstellt, die für die jeweiligen Fahrtrichtungen stehen. Das eintretende Ereignis ist jeweils als Kommentar im Programm aufgeführt. In diesem Fall wird nur die Funktion geradeaus() aufgerufen und für eine bestimmte Zeitdauer durch eine for-Schleife ausgeführt. Danach wird der Smartibot durch die stop()-Funktion angehalten. 13
  • 16. 3 Steuerungsmöglichkeiten Die Funktionen können dann im nachfolgenden Programm aufgerufen oder auch erweitert werden, zum Beispiel durch Variation des Kurvenradius, der Fahrtgeschwindigkeit oder Nutzung von Variablen. Des Weiteren können Befehle in die linke Hälfte der Oberfläche eingegeben werden. In diesem Fall bieten sich kurze Befehle, wie die stop()-Funktion aus dem Beispielprogramm (Listing 3.1) an, falls ein Fehler auftritt und der Smartibot nicht aufhört zu fahren. 1 var smarti = require("Smartibot"); 2 3 // Deklaration der verschiedenen Funktionen , 4 // diese koennen beliebig erweitert werden 5 6 function geradeaus () // Smartibot faehrt geradeaus 7 { 8 smarti.setMotor (1, 0.5); 9 smarti.setMotor (2, -0.5); 10 } 11 12 function zurueck () // Smartibot faehrt zurueck 13 { 14 smarti.setMotor (1, -0.5); 15 smarti.setMotor (2, 0.5); 16 } 17 18 function links () // Smartibot dreht sich links herum 19 { 20 smarti.setMotor (1, 0.5); 21 smarti.setMotor (2, 0.5); 22 } 23 24 function rechts () // Smartibot dreht sich rechts herum 25 { 26 smarti.setMotor (1, -0.5); 27 smarti.setMotor (2, -0.5); 28 } 29 30 function stop () // Smartibot haelt an 31 { 32 smarti.setMotor (1, 0); 33 smarti.setMotor (2, 0); 34 } 35 36 // Beginn des eigentlichen Programms 37 38 39 var imax = 1000; 40 // Maximum der Schleife , Einstellung der Schleifen -Zeitdauer 14
  • 17. 3 Steuerungsmöglichkeiten 41 42 for(var i=0;i<imax;i=i+1) // Addiere solange 1 dazu bis imax erreicht ist 43 { 44 geradeaus (); // Funktion geradeaus wird aufgerufen 45 } 46 47 stop (); 48 // Aufruf der Funktion "stop", um den Smartibot anzuhalten Listing 3.1: Beispielprogramm in JavaScript. Die Codebeispiele der Listings 3.2 - 3.5 wurden aus [2] übernommen und wenn nötig angepasst. Es wird die Funktionsweise der integrierten Knöpfe (Listing 3.2) gezeigt. Diese können mittels der Built-in-Variablen „BTN1“ (Button A) und „BTN2“ (Button B) aufgerufen werden. Durch BTN1.read() oder digitalRead(BTN1) wird der Status des Knopfes A ausgelesen, für Knopf B gilt die Vorgehensweise analog. Es ist allerdings zu beachten, dass die Rückgabe beim Loslassen eines Knopfes „true“ und beim Betätigen „false“ ist. 1 setWatch(function(e) { 2 if (e.state) print("Button pressed"); 3 else print("Button released"); 4 }, BTN , {repeat:true }); Listing 3.2: Beispielcode zur Nutzung der integrierten Knöpfe. In Listing 3.3 ist die Ansteuerung der zwei Smartibotmotoren zu finden. Dies ist der ange- passte Programmcode aus [2], mit der Anpassung aufgrund der unterschiedlich gepolten Motoren. In diesem Fall werden die Motoren mit verschiedenen Geschwindigkeiten betrieben, wodurch der Smartibot eine Kurve fährt. In den Klammern des Befehls smarti.setMotor(Index 1, Index 2) steht der Index 1 dafür, welcher Motor angesteuert werden soll. Der zweite Index steht dafür, mit welcher Geschwindigkeit dieser genutzt wird. Dieser Wert kann zwischen -1 und 1 liegen. Die Nummer eines Motors ist auf der Frontplatine des Smartibots zu finden. 1 var smarti = require("Smartibot"); 2 3 smarti.setMotor (2, -1); // run motor 2 forward at full speed 4 smarti.setMotor (1, 0.5); // run motor 1 forward at half speed Listing 3.3: Bespielcode zur Ansteuerung der Smartibot-Motoren. In Listing 3.4 ist die Ansteuerung der zwei LED-Augen zu finden. Die jeweilige Farbe kann mittels RGB-Code gewählt werden. Der erste Index steht für die linke LED und der zweite für die rechte LED. 15
  • 18. 3 Steuerungsmöglichkeiten 1 var smarti = require("Smartibot"); 2 3 // Set left LED to RED , right LED to GREEN 4 smarti.setLEDs ([255 ,0 ,0] , [0 ,255 ,0]); Listing 3.4: Beispielcode zur Nutzung der LED-Augen des Smartibots. Die LED-Matrix wird über den Anschluss „E1“ mit dem Smartibot verbunden. Es ist irrelevant, an welchem Anschluss des Zusatzmoduls sich das andere Ende des Kabels befindet. Danach kann der Programmcode des Listing 3.5 eingespielt werden. Bei richtiger Funktionsweise ist auf dem Display das Wort „Hi“ umgeben von einem Rahmen zu sehen. 1 var smarti = require("Smartibot"); 2 var g = require("Smartibot -display").connect(smarti.E1); 3 4 // Clear the screen 5 g.clear (); 6 g.setColor (127); // set brightness - 0..255 7 // Draw something! 8 g.drawRect (0,0,15,8); // Rahmen 9 g.drawString("Hi" ,2,2); // Schrift auf Display 10 // Send what we drew to the screen 11 g.flip (); Listing 3.5: Beispielcode zur Nutzung der LED-Matrix. 3.2 Fernsteuerung über Weboberfläche als Fernbedienung In Abbildung 3.9 ist die Weboberfläche zu sehen, die für die Fernsteuerung des Smartibots nötig ist. Mit einem Klick auf den Pfeil nach oben kann eine Verbindung hergestellt werden. Danach stehen die Pfeile für die Richtung, in die der Smartibot gesteuert werden soll. Dies geschieht, solange bis der orangefarbene Knopf in der Mitte der Oberfläche betätigt wird. Diese Art der Steuerung ist jedoch eher unkomfortabel, weshalb hier nicht näher darauf eingegangen wird. Eine bessere Möglichkeit ist die Fernsteuerung über ein Smartphone oder Tablet. Dies wird unter Abschnitt 3.3 näher erläutert. 16
  • 19. 3 Steuerungsmöglichkeiten Abbildung 3.9: Eingangsbildschirm bei der Verwendung der Smartibotfernsteuerung über die Weboberfläche. 3.3 Steuerung per Smartphone Die Smartphone-App des Smartibots sieht beim Start wie in Abbildung 3.10 aus. Von links nach rechts sind die Elemente „Fernbedienung“, „A.I.-Umgebung“, „YouTube-Kanal“ des Entwicklers und „Internet-Shop“ zu finden. Wichtig in diesem Abschnitt sind die ersten zwei Appfunktionen, auf die im Folgenden näher eingegangen wird. Dabei ist zu beachten, dass das Betriebssystem „Android“ genutzt wird, für andere Systeme können Abweichungen auftreten. Abbildung 3.10: Eingangsoberfläche der Smartibot-App. 3.3.1 Appfunktion „Fernbedienung“ Beim ersten Start der App und Nutzung der Fernbedienungsfunktion wird der Nutzer auf- gefordert, dem System eine Standortzugriffsberechtigung zu erteilen. In der Appoberfläche 17
  • 20. 3 Steuerungsmöglichkeiten sollte die Darstellung der Abbildungen 3.11 zu sehen sein. Dies muss akzeptiert werden, um die richtige Funktionsweise zu gewährleisten. Des Weiteren müssen die Einstellungen GPS und Bluetooth eingeschaltet werden. Ist Bluetooth am Gerät nicht eingeschaltet, dann erscheint die Oberfläche aus Abbildung 3.12. Sollten die Berechtigungsanfragen nicht automatisch erscheinen, muss der markierte Button aus Abbildung 3.13 betätigt werden. Abbildung 3.11: Appoberfläche mit der Aufforderung Standortberechtigung zu erteilen. Abbildung 3.12: Appoberfläche mit der Aufforderung die Bluetoothfunktion einzuschalten. Sind die zuvor erwähnten Berechtigungen erteilt wurden, kann der Smartibot mit dem Smartphone verbunden werden. Dafür wird der Button rechts oben in der Fernbedienungs- funktion genutzt (markiert in Abbildung 3.13). Es sollte als Auswahlpunkt „Espruino Smartibot“ zu sehen sein, dieser muss ausgewählt werden. Daraufhin kehrt die App automatisch auf den vorherigen Bildschirm mit dem Unterschied zurück, dass sich das Verbindungssymbol geändert hat. Es ist, wie in Abbildung 3.14 rechts oben rot markiert, ein Haken zu erkennen. 18
  • 21. 3 Steuerungsmöglichkeiten Abbildung 3.13: Fernbedienungsoberfläche des Smartibots, markiert ist das Symbol, wenn kein Gerät verbunden ist. Abbildung 3.14: Fernbedienungsoberfläche des Smartibots, markiert ist das Symbol, wenn ein Gerät verbunden ist. Sollten die zuvor beschriebenen Ausführungen nicht funktionieren, beziehungsweise sollte der Bildschirm wie in Abbildung 3.15 aussehen, dann könnte das an folgenden Punkten liegen: • Der Standort konnte nicht ermittelt werden. Ist das GPS eingeschaltet? Wurde die Berechtigung erteilt? • Es konnte keine Bluetooth-Verbindung hergestellt werden. Wurde die Berechtigung erteilt? Ist Bluetooth eingeschaltet? 19
  • 22. 3 Steuerungsmöglichkeiten • Blockiert eine andere App (z. B. Antivirenprogramm) oder Einstellung die richtige Funktionsweise? Abbildung 3.15: Appoberfläche, wenn kein Smartibot gefunden werden kann. (siehe Hin- weise zuvor) 3.3.2 Appfunktion „A.I.-Modus“ Für die Verwendung des A.I.-Modus ist es nötig, dem Smartphone zu erlauben, Bilder und Videos aufzunehmen. Diese Abfrage tritt nur beim ersten Betätigen des A.I.-Buttons auf. Im Weiteren kann das Smartphone genutzt werden, um verschiedene Objekte zu detektieren. Diese sind in den Einstellungen der App zu finden und können durch ein Haken aus- oder abgewählt werden. Dort kann unter Anderem die Genauigkeit eingestellt werden, ab welcher der Smartibot reagieren soll. Wird ein Objekt erkannt, fährt dieser darauf zu. Es hat sich gezeigt, dass die optimalen Einstellungsparameter je nach Smartphone un- terschiedlich ausfallen können. Es könnten Anpassungen der Standardeinstellungen nötig sein. 20
  • 23. 3 Steuerungsmöglichkeiten (a) (b) Abbildung 3.16: Appoberfläche des A.I.-Modus vor dem Start (a) und im laufenden Betrieb (b), es wird ein Stuhl als Objekt erkannt. 21
  • 24. 4 Vor- und Nachbereitung, sowie Gestaltung einer Studienwerbeaktion Für die Gestaltung einer Experimentierstation werden die nachfolgend aufgelisteten Hilfs- mittel benötigt. Diese können, je nach Umfang der Station und Alter der Schüler, angepasst werden. • Smartibot • Tablet für die Nutzung der Fernbedienungsfunktion • Smartphone für die Nutzung des A.I-Modus • Notebook für die Nutzung der Programmierumgebung • farbige Stifte um einen Parcours zu malen • DIN A3-Papier (oder größer) • Wechselakkus oder Wechselbatterien (4x AA) • Micro-USB-Kabel (als Notfallversorgung, z. B. wenn das Batteriefach einen defekt aufweist) • Schraubenzieher zum Lösen der Schraube am Batteriefach und festziehen der lockeren Schrauben am Smartibot Für die Vorbereitung einer Mitmachaktion ist das Alter der Schüler, sowie das technische Verständnis, zu beachten. Es ist sinnvoll, die geplante Aktion je nach den Gegebenheiten anzupassen. Die Kriterien sind: • Alter • technisches Verständnis • vorhandenes Engagement der Schüler • Konzentrationsfähigkeit (nachmittags eher geringer) • Vorkenntnisse (Umgang mit Computern/Smartphones, Programmierkenntnisse) 22
  • 25. 4 Vor- und Nachbereitung, sowie Gestaltung einer Studienwerbeaktion Es hat sich gezeigt, dass es sinnvoll ist, die Teilnehmer spielerisch an den Smartibot heranzuführen, sodass die Funktionsweise durch Nutzung der Fernbedienungsfunktion in der App kennengelernt werden kann. Daraufhin kann entschieden werden, unter den vorher genannten Kriterien, wie der weitere Verlauf der Aktion gestaltet wird. Für Grundschüler geht die Tendenz eher dazu, einen Parcours auf ein Blatt Papier zu malen und diesen mit dem Smartibot abzufahren. Dies kann auch zu einem kleinen Wettbewerb gemacht werden, sodass alle Gruppen nach Zeit fahren. Mit der Einteilung in verschiedene Abschnitte des Parcours, die von nur einem Schüler gefahren wird, kann zusätzlich die Teamfähigkeit und Absprach untereinander gestärkt werden. Die Programmierumgebung „Blockly“ stellt die nächsthöhere Anforderungsstufe dar. Eine Umsetzungsmöglichkeit ist zum Beispiel die Auswahl eines bestimmten Start- und Endpunkts, diese Strecke muss dann abgefahren werden. Hier bietet sich an mit einer geraden Strecke anzufangen, mit Kurven eine Steigerung zu erzielen und zum Ende den gemalten Parcours oder eine Teilstrecke dessen zu bewältigen. Als letzte Schwierigkeitsstufe kann die Programmierung mittels „JavaScript“ genutzt werden. Die Vorgehensweise ist analog zu der „Blockly“-Umgebung. Des Weiteren dient der A.I.-Modus als Vorführvariante, um den Schülern zu zeigen, was in der Technik möglich ist oder in der Zukunft möglich sein wird. 4.1 Projektideen Der folgende Abschnitt ist als Anregung zur Ideenfindung zu sehen und kann nach eigenem Ermessen erweitert und verändert werden. Der Smartibot kann gut als zwanzig-minütige Station einer Studienwerbeaktion genutzt werden. Dafür eignet sich das unter Abschnitt 4 aufgeführte Verfahren. Die Zeitangabe ist dabei nicht strikt einzuhalten, sondern dient als Anhaltspunkt, sodass einige Minuten mehr durchaus möglich sind. Für eine kürzere Zeitspanne als zwanzig Minuten ist eine Vor- führaktion sinnvoller. Dabei wäre der A.I.-Modus oder ein vorprogrammiertes Programm, zum Beispiel in Kombination mit den Zusatzmodulen, erwähnenswert. Sollte mehr als ein Smartibot zur Verfügung stehen, können diese auch verwendet werden, um einen kleinen Wettbewerb von mehreren Gruppen zu veranstalten. Diese Aktion kann wie folgt aussehen: die Schüler bauen sich aus verschiedenen Materialien, wie Papier, Pappe, Holz oder leeren Plastikflaschen ihren eigenen Smartibot. Dieser wird dann getestet in einem Hindernisparcours, der absolviert werden muss, einer bestimmten Fahrbahn, die auf Zeit gewertet wird oder im Erklimmen einer gewissen Steigung. Zum Ende wäre auch eine Siegerehrung möglich. 23
  • 26. 4 Vor- und Nachbereitung, sowie Gestaltung einer Studienwerbeaktion 4.2 Vorhandene Projekte der Smartibotentwickler Die Bilder der Abbildungen 4.1 und 4.2 wurden dem Kickstarter-Video aus [3] entnommen. Die Ausführungen des Videos sind außerdem in [4] als Text zu finden. Sie zeigen den Smartibot mit der Erweiterung einer Wasserpistole (Abbildung 4.1), die betätigt werden kann, wenn sich ein Objekt nähert. Des Weiteren ist diese auch mit dem A.I.-Modus automatisierbar. Im Video wird dies anhand eines Hundes gezeigt. In Abbildung 4.2 ist der Smartibot an einen Spielzeugbagger angebracht, um diesen zu steuern. Generell ist zu sagen, dass der Smartibot an jedes Gerät angeschlossen werden kann, das über vier Batterien des Typs „AA“ betrieben wird. Weitere Projekte innerhalb des erwähnten Videos sind ein Xylophon spielender Roboter und das Spiel „Snake“, wobei die LED-Matrix als Bildschirm und dient. Abbildung 4.1: Smartibot in Kombination mit einer Wasserpistole als Alarmanlage. [3] Abbildung 4.2: Smartibot in Kombination mit einem Spielzeugbagger. [3] 24
  • 27. 5 Zusammenfassung Es hat sich gezeigt, dass der Smartibot eine gute Variante ist, den Schülerinnen und Schülern aller Altersklassen technische Sachverhalte näher zu bringen und diese anschaulich zu erklären. Es kann die Fernsteuerung eines Objekts mittels Smartphone veranschaulicht werden. Diese Steuerung ist in ähnlicher Form auch bei größeren Maschinen, zum Beispiel für Kräne oder im Tagebau, möglich. Des Weiteren wird durch den Smartibot gezeigt, inwiefern eine Automatisierung in kleiner Form möglich ist. Dies kann durch zwei Varianten erfolgen, mittels Programmierung in der „Blockly“- oder „JavaScript“-Umgebung und durch den A.I.-Modus. Als Kritikpunkt kann das verwendete Material angesehen werden. Die Smartibot-Hülle besteht zum größten Teil aus Pappe. Dies macht sich vor allem an den Rädern bemerkbar, die sich schnell abnutzen, schief stehen und durch die der Roboter nicht mehr gerade Strecken bei den jeweiligen Parametern fahren kann. 25
  • 28. Literaturverzeichnis [1] The Crafty Bot: Smartibot Genius Kit. https://thecraftyrobot.net/products/smartibot-genius-kit-pre-order Version: 04.09.2019 [2] Espruino: Smartibot. https://www.espruino.com/Smartibot Version: 06.09.2019 [3] Crafty Bot: Smartibot Kickstarter Video. https://www.youtube.com/watch?v=8Vy6t6o7SnI Version: 10.09.2019 [4] Smartibot: The world’s first A.I. enabled cardboard robot. https://www.kickstarter.com/projects/460355237/smartibot-the-worlds-first-ai- enabled-cardboard-ro?lang=de Version: 10.09.2019 26
  • 29. Literaturverzeichnis Anhang/weiterführende Internetadressen • Espruino Web IDE: https://www.espruino.com/ide/ • Fernsteuerung in der Weboberfläche https://thecraftyrobot.github.io/smartibot_webpad/ • Android App „Smartibot“ https://play.google.com/store/apps/details?id=com.raa.smartibot&gl=DE • iPhone App „Smartibot“ https://apps.apple.com/de/app/smartibot/id1334831980 • Kickstarter-Projekt https://www.kickstarter.com/projects/460355237/smartibot-the-worlds-first-ai- enabled-cardboard-ro?lang=de • „Crafty Robot“ YouTube-Kanal https://www.youtube.com/channel/UCqGHJgnxcld6uwIXS9h9J6Q • „The Crafty Robot“ Internetshop https://crafty-robot.myshopify.com/ 27
  • 30. Forschungsprojekt Einsatz eines mittels Bluetooth fernsteuerbaren Roboters „Smartibot“ für Studienwerbeaktionen und Tage der offenen Labortür eingereicht am: 2. Oktober 2019 von: Vincent Szameitat (Vincent Szameitat)