|
[ Proxi-Roboter
] [ Seitenende ] [ Coding 1 ] |
|
|||
|
KOSMOS – der programmierbare Proxi-Roboter Montage
des ersten Motors Wenn man das kleine Anleitungsbuch im Format
DinA5 zum Proxi-Roboter aufschlägt, dann behandelt dieses ab Seite 10 den
Einbau des ersten Motors. Dazu muss man aus dem Spritzbaum B die Motor-Gehäuseschale
B5 mit dem Seitenschneider
herausschneiden, (Zum Vergrößern bitte
auf das Bild klicken!) dann die drei Zahnradachsen P11 einstecken (Zum
Vergrößern bitte auf das Bild klicken!) und die vier Zahnräder P5 (weiß), P7
(pink), P6 (orange) und P8 (orange) wie folgt aufstecken: (Zum Vergrößern bitte
auf das Bild klicken!) Als nächstes wird das kleine, weiße Antriebszahnrad P1 auf die Motorachse
des Motors P13 mit den blauen
und schwarzen Anschlussleitungen
aufgesteckt und der Motor in die Motor-Gehäuseschale
B5 eingesetzt: (Zum Vergrößern bitte
auf das Bild klicken!) Damit Motor und Getriebe später nicht im
Gehäuse umherfliegen und ihren Dienst versagen, müssen diese als Nächstes
mittels der schwarzen Getriebeabdeckung
B3 noch fixiert (Zum Vergrößern bitte
auf das Bild klicken!) und mittels drei Schrauben P9 mit der schwarzen Gehäuseschale B5 verschraubt werden. Außerdem muss das blau
und schwarze Motoranschlusskabel
des Antriebsmotors P13 durch die
entsprechende Gehäuseaussparung wie folgt nach außen geführt werden: (Zum Vergrößern bitte
auf das Bild klicken!) Als Nächstes wird die schwarze Justier- und Fixierhilfe A15 (siehe
roter Kreis) auf das orange Antriebszahnrad
P8 des Motors gesetzt, die beiden schwarzen Zahnräder B9 (links) und A6
(rechts) aufgesteckt und mittels der beiden Schrauben P10 verschraubt. Dabei ist muss unbedingt beachtet werden, dass die beiden
schwarzen Zahnräder B9 (links) und
A6 (rechts) mit den außen liegenden
V-förmigen Kerben in die schwarze Justier- und Fixierhilfe A15 (siehe
roter Kreis) einrasten, sodass sich die beiden schwarzen Zahnräder B9 (links) und A6
(rechts) nicht mehr drehen lassen: (Zum Vergrößern bitte
auf das Bild klicken!) Wie man ferner im nachfolgenden Bild sieht,
dient das schwarze Kuppelstangendreieck
B2 nicht nur dazu die beiden schwarzen Zahnräder B9 (links) und A6
(rechts) miteinander zu verbinden (siehe grüne Markierung), (Zum Vergrößern bitte
auf das Bild klicken!) sondern auch dazu, die senkrechte Bewegung spurgenau zu führen!
Dabei wird dann auch gleichzeitig die Drehbewegung
des Motors P13 in eine senkrechte
oszillierende Auf- und
Abbewegung
umgewandelt: (Zum Vergrößern bitte
auf das Bild klicken!) Bemerkenswert dabei ist auch noch, dass das Kuppelstangendreieck B2 in seinem unteren
Dreieckspunkt C am Ende der senkrechten
Hub- und Schubstange eine
oszillierende Kreisbewegung
vollzieht! Und zwar im selben Uhrzeigersinn
wie die beiden schwarzen Zahnräder B9
(links) und A6 (rechts)! Da das Kuppelstangendreieck
B2 sowohl eine Auf- und Abbewegung
als auch eine Kreisbewegung nach
rechts im Uhrzeigersinn vollzieht, heben sich jeweils drei Krabbenbeine, während sie sich dabei
auch gleichzeitig kreisförmig nach vorne bewegen, um sich
anschließend wieder abzusenken. Durch diese geniale Antriebsart ergibt sich
dann eine entsprechende Vorwärtsbewegung
mit den sich auf- und absenkenden Krabbenbeinen!
Auch wenn die Antriebsart mit den Krabbenbeinen als genial bezeichnet
werden kann, ist sie nicht gänzlich neu. Schließlich wurde das Prinzip der
Umwandlung einer oszillierenden Kreisbewegung in eine Längs- oder
Vertikalbewegung einer Hub- und Schubstange bereits zu Zeiten der Erfindung
und Entwicklung der Dampfmaschine
entwickelt. Dabei wurde die Dampfmaschine anfangs zum Antrieb von Grubenwasserpumpen bei
der sogenannten Wasserhaltung
im Bergbau eingesetzt und erst später in Dampflokomotiven
verbaut: (Vergrößern: auf das
Bild klicken! | Quelle: Wikipedia) Bei der oben im Bild zu sehenden Schlepptenderlokomotive erfolgt der
Antrieb der großen Achsräder ausgehend von der Kolbenstange 23 über die Treibstange
22 auf die Kuppelstange 20,
sodass sich mittels dieser bis zu drei Achsen nebst Radsätzen antreiben lassen. Die Funktion
der roten Kuppelstange zu Zwecken des Antriebs des Kuppelradsatzes wird
im nachfolgenden Bild besonders deutlich. Dabei wird die oszillierende Auf- und Abbewegung ↕ der Kuppelstange wie beim Proxi-Roboter
antriebstechnisch nicht ausgewertet und angewendet: (Vergrößern: auf das
Bild klicken! | Quelle: Wikipedia) Bei der Achsfolge
2’B im obenstehenden Bild werden zwei
Radsätze mittels der roten Kuppelstange angetrieben. Dabei
wird aber nur der erste große Radsatz (von links) direkt mittels der Treib- und
Kolbenstange des einzylindrischen Dampfzylinders
angetrieben. Demzufolge werden >> bei einer Dampflokomotive (…) die Treibradsätze von den Kuppelradsätzen unterschieden. Auf
die Treibradsätze wirkt die Dampfmaschine direkt durch
eine Treibstange. Die Kuppelradsätze dagegen werden nicht direkt von
der Dampfmaschine angetrieben,
sondern nur indirekt; sie sind an die Treibradsätze angebunden, meist durch Kuppelstangen. << (Quelle: Wikipedia) Im Gegensatz zu der oben gezeigten „Badischen II c“-Dampflokomotive
werden beim Proxi-Roboter mittels
des orangenen Zahnrades P8 alle beiden schwarzen
Zahnräder B9 (links) und A6 (rechts) angetrieben, sodass es
nicht notweniger Weise auf die Querverbindung
der roten Kuppelstange ankommt: (Zum Vergrößern bitte
auf das Bild klicken!)
Wenn aber früher oder später eines der
beiden schwarzen Zahnräder B9
(links) und A6 (rechts) mehrfach
überspringt, dann gerät das Kuppelstangendreieck
B2 mit der roten
Kuppelstange
als Querverbindung nach links
oder rechts in Schieflage, sodass die oszillierende
Auf- und Abbewegung ↕ der Kuppelstange nicht mehr ein kreisrunde Bewegung beschreibt, (Zum Vergrößern bitte
auf das Bild klicken!) sondern vielmehr eine elliptische, eiernde Bewegung: (Zum Vergrößern bitte
auf das Bild klicken!) Eigentlich müsste man die beiden Zahnräder B9 (links) und A6 (rechts) jeweils separat
mit einem eigenen Motor
antreiben, beide entsprechend synchronisieren, sodass sich eine Fehlstellung des Kuppelstangendreiecks B2 jederzeit korrigieren ließe. Den dabei
zu berücksichtigten Korrektorwert in Form von +/- n Zahnradzähnen nach rechts oder
links nennt man übrigens Offset
(=Regelabweichung, Versatz). Noch besser wäre es natürlich, wenn man anstelle
der herkömmlichen Gleichstrommotoren
sogenannte Schrittmotoren
verwenden würde. Für den kleinen Proxi-Roboter
aber wäre das natürlich zu teuer, zumal die beiden Schrittmotoren auch noch
digital mittels des „micro:bit“-Rechner
angesteuert werden müssten. Aber noch wissen wir gar nicht, wie man den Antriebsmotor P13 programmieren muss,
damit er sich dreht und eine Drehbewegung ausführt. Antriebsmotor
P13 zwecks einer Drehbewegung programmieren Nun ist es also an der Zeit, dass wir den
kleinen „micro:bit“-Rechner (= Mikrocontroller)
erstmalig in Betrieb nehmen und unter Strom setzen. Dabei gilt es zu
beachten, dass der Proxi-Roboter
von Haus aus über seine eigene Stromversorgung
in Form des Batteriefachs P15
verfügt. Wenn man also den Proxi-Roboter an dem seitlichen An-/Aus-Schiebeschalter einschaltet,
d.h. auf „ON“ (= Ein) stellt, dann bezieht der kleine Roboter
seine Stromversorgung direkt
aus dem Batteriefach P15. Dabei
wird der „micro:bit“-Rechner gestartet, wobei das im nichtflüchtigen
Arbeitsspeicher,
engl. „RAM“ = „Random Access Memory“,
d.h. „Wahlfreier Speicherzugriff“, gespeicherte Programm automatisch gestartet und ausgeführt wird.
Meist handelt es sich dabei um ein werksseitig aufgespieltes Demoprogramm. Wenn man früher oder später sein eigenes
Programm auf den „micro:bit“-Rechner aufspielen will, dann
muss man zuvor eine Datenverbindung
mittels einer Datenleitung
vom „Programmier“-Rechner (= Windows-PC, Notebook oder
Android-Tablet-PC) zum Proxi-Roboter
und seinem Mikrocontroller
(= „micro:bit“-Rechner) herstellen. Das zu dem Proxi-Roboter mitgelieferte „Micro-USB 2.0“-Kabel P19 muss dabei mit dem „USB 2.0“-Stecker (und eventuell einem „USB 2.0/USB 3.0 C“-Adapter) einerseits an den Windows-PC
oder den Android-Tabletcomputer
und andererseits an den „micro:bit“-Rechner angeschlossen, d.h. eingesteckt werden. Dabei lassen sich mittels des „Micro-USB 2.0“-Kabels
P19
nicht nur Daten in Form einer Datei
übertragen, sondern auch die 5 Volt
Stromversorgung zum „micro:bit“-Rechner herstellen! Wenn man zum Programmieren ein Android-Tabletcomputer
verwendet, dann muss man sich zuvor noch die „micro:bit“-App aus dem Google Playstore herunterladen und
installieren: (Zum Vergrößern bitte
auf das Bild klicken!) Auch wenn es zunächst den Anschein hat, als
sei die Programmier-Entwicklungsumgebung,
engl. „programming development environment“, des „micro:bit“-Rechners nur auf Englisch
verfügbar, so erkennt diese trotzdem automatisch, dass man mit seinem Android-Tabletcomputer auf Deutsch
unterwegs ist: (Zum Vergrößern bitte
auf das Bild klicken!) Wenn man ein neues Programm erstellen will,
dann muss man in der obenstehenden Bildschirmansicht auf die Schaltfläche <Neues Projekt> klicken und
nachfolgend einen diesbezüglichen Projektnamen
wie z.B. „proxi-roboter, p01“ eintasten und mittels der Schaltfläche <Erstelle> bestätigen: (Zum Vergrößern bitte
auf das Bild klicken!) Im nachfolgenden Screenshot sieht man
jetzt die Programmierumgebung, die im Wesentlichen aus zwei Spalten besteht. Dabei werden in der linke Spalte diverse
thematische, funktionelle und zusammenfassende Befehlsgruppen angezeigt, während die rechte Spalte das Programmierfeld mit einzelnen
Statements (= Befehle) aufnimmt: (Zum Vergrößern bitte
auf das Bild klicken!) Wenn man also wissen will, welche Befehle sich hinter der Befehlsgruppe „Grundlagen“ befinden, dann muss man nur auf die
jeweilige Befehlsgruppe
klicken/tippen, damit sich die entsprechende Befehlsübersicht und –auflistung in einem separaten Fenster öffnet: (Zum Vergrößern bitte
auf das Bild klicken!) Wenn man das Programm „proxi-roboter,
p-01“
starten will, dann muss man unten rechts in der Ecke nur auf das <Start>-Symbol Dabei verhält es sich so, dass das Programm „proxi-roboter, p-01“ in der Programmierumgebung,
d.h. innerhalb der „micro:bit“-App simuliert
und als Laufschrift angezeigt wird! Wenn man das Programm „proxi-roboter,
p-01“
hingegen direkt auf dem „micro:bit“-Rechner ausführen und im 5 x 5 Matrix LED-Display anzeigen lassen will, dann muss man
dieses aus der Entwicklungsumgebung
heraus als Programmdatei „proxi-roboter, p-01.hex“
auf den Mikrocontroller mittels „Micro USB 2.0“-Kabel überspielen! Zu diesem Zweck muss man unten links in der
Ecke auf das Icon (Zum Vergrößern bitte
auf das Bild klicken!) Vor dem Herunterladen
wird das ursprüngliche Quellprogramm „proxi-roboter, p-01“ der Entwicklungsumgebung in den ausführbaren,
sogenannten „HEX“-Programmkode „übersetzt“, d.h. in den Maschinenkode (=
Maschinensprache) des „micro:bit“-Mikroprozessors „ARM Cortex M0“
kompiliert. Dabei wird
dem Projektnamen „proxi-roboter, p-01“ bzw. der Projektdatei die Dateinamenserweiterung
.hex hinzugefügt und die kompilierte
Datei „microbit-proxi-roboter-p-01.hex“ im ·
Google
Android-Dateiverzeichns /storage/emulated/0/Download wie folgt abgespeichert: (Zum Vergrößern bitte
auf das Bild klicken!) Damit sich die aus der Entwicklungsumgebung heruntergeladene und kompilierte „HEX“-Programmdatei
„microbit-proxi-roboter-p-01.hex“
auch direkt auf dem „micro:bit“-Rechner ausführen lässt, muss man diese aus dem ·
Android-Dateiverzeichns /storage/emulated/0/Download ins ·
Android-Dateiverzeichns /storage/2702-1974 kopieren oder verschieben: (Zum Vergrößern bitte
auf das Bild klicken!)
Nachdem die auf dem „micro:bit“-Rechner ausführbare „HEX“-Programmdatei
„microbit-proxi-roboter-p-01.hex“
überspielt wurde, startet sich diese selbständig auf dem Mikrocontroller, führt den kompilierten Befehlskode aus und zeigt
auf der 5 x 5 Matrix großen LED-Anzeige die Laufschrift „Hallo, mein
Name ist Proxi!“
an. - Wie man weiter oben sieht, wurde der
kompilierte Befehlskode der „HEX“-Programmdatei „microbit-proxi-roboter-p-01.hex“ mittels des
sogenannten „Total Commander“
vom Android-Tabletcomputer über das „Micro-USB 2.0“-Kabel P19 auf den „micro:bit“-Rechner aufgespielt. Dabei
handelt es sich bei dem Total
Commander
um einen sehr leistungsfähigen Zwei-Fenster-Dateimanager,
den es für das „Windows“- und „Android“-Betriebssystem gibt. Den Total Commander gibt es
schon seit September 1993 mit inzwischen weit mehr als 10 Mio. Downloads. Beim Programmieren
des ersten „micro:bit“-Programms namens „proxi-roboter, p-01“ fällt beim genaueren Hinsehen auf, dass die
sogenannte Programmbibliothek,
engl. „library“, wider Erwarten keine Befehle zwecks Programmierung des Proxi-Roboters enthält. Dies ist auch weiter nicht verwunderlich,
da es zu Zeiten der Entwicklung des „micro:bit“-Rechners im Jahr 2014 noch keinen „KOSMOS Proxi“-Roboter gab. Diesbezüglich
stellt sich die Frage, wie man an den erweiterten Befehlssatz
für den Proxi-Roboter gelangt bzw.
die Progammbibliothek um
entsprechende „Proxi“-Befehle erweitert. Die Frage, wie man an den erweiterten Befehlssatz für den Proxi-Roboter gelangt bzw. die Progammbibliothek um entsprechende „Proxi“-Befehle erweitert, ist
durchaus berechtigt. Vor allem dann, wenn es offensichtlich keine
explizite Programmbibliothek, die
sich jederzeit erweitern ließe, gibt! Dann ist guter Rat teuer. Aber
wo ein Wille ist, ist auch ein Weg. Man muss nur wissen wie: (Zum Vergrößern bitte
auf das Bild klicken!) Das was man im obenstehenden Bild sieht, ist
die „micro:bit“-Entwicklungsumgebung im Browser auf einem Windows-PC.
Dies hat den Vorteil, dass der Anwender kein „micro:bit“-
Programm
als Entwicklungsumgebung auf
seinen heimischen Rechner herunterladen muss. Vielmehr muss er einfach nur
die entsprechende Webseite mit dem
Entwicklertool im Browser aufrufen. Selbstverständlich
lässt sich die Webseite mit dem „micro:bit“-Entwicklertool auch auf dem
Android-Tabletcomputer aufrufen und zum Programmieren benutzen. Wie man im obenstehenden Bild sieht, gibt es
in der „micro:bit“-Programmbibliothek jetzt auch eine Rubrik „KOSMOS -
Proxi“
mit entsprechenden „Proxi“-Befehlen für den kleinen Roboter: (Zum Vergrößern bitte
auf das Bild klicken!) Das
Interessante daran ist nun, dass man keine zusätzliche Spezial-Library „Proxi“ von extern aus dem Internet herunterladen und in die
bestehende „micro:bit“-Library einbinden muss. Vielmehr
muss man einfach nur das „Proxi“- und „micro:bit“-Programm „microbit-proxi-roboter-p-02.hex“ in den über das „Micro USB 2.0“-Kabel angeschlossenen „micro:bit“-Rechner bzw. den Proxi-Roboter
überspielen!
Wenn wir das gemacht haben, dann gibt es jetzt
schon zwei kleine „micro:bit“-Programme, die wir programmiert haben! Und zwar: 1.
als Projektdatei „proxi-roboter, p-01“ 2.
als Projektdatei „proxi-roboter, p-02“ Wenn man beide Programme der Reihe nach ausführt und miteinander vergleicht,
dann stellt man fest, dass bei beiden nach außen hin nur die Laufschrift „Hallo, mein Name ist Proxi!“ angezeigt wird. Demzufolge könnte man meinen, dass beide
Programme 1.) und 2.) hinsichtlich des Programmkodes,
auch Quelltext oder engl. „source code“ genannt, identisch
sind. Sind sie aber nicht wirklich! So enthält 1.
das kompilierte, ausführbare Programm „microbit-proxi-roboter-p-01.hex“ 2.
das kompilierte, ausführbare Programm „microbit-proxi-roboter-p-02.hex“ Dass sich beide Programme hinsichtlich der Befehlsbibliothek voneinander unterscheiden,
lässt sich sogar beweisen! Nämlich in dem man einfach nur die
unterschiedlichen Dateigrößen
miteinander vergleicht. Demzufolge enthält die größere Datei „microbit-proxi-roboter-p-02.hex“ eben auch die um die „Proxi-Roboter“-Befehle erweiterte Standardbibliothek des „micro:bit“-Rechners: (Zum Vergrößern bitte
auf das Bild klicken!) Wenn man den „Google Chrome“-Browser
startet und den Microsoft „MakeCode“-Editor zwecks
Programmieren des „micro:bit“-Rechners aufruft, dann sieht man ganz oben rechts am
Ende der Eingabezeile für die Webadresse einen kleinen Monitor mit
Download-Pfeil, wo man sich den „MakeCode“-Editor als „Google Chrome“-App(!) auf den Windows-PC herunterladen kann: (Zum Vergrößern bitte
auf das Bild klicken!) Wenn man sich den Microsoft „MakeCode“-Editor herunterlädt und auf dem Windows-PC installiert, dann wird dieser ins Windows-Verzeichnis „C:\Program
Files\Google\Chrome\Application“
gespeichert. Achtung: Wegen des Leerzeichens im Verzeichnisnamen
„Program Files“ muss später der komplette Verzeichnispfad in Hochkommata gesetzt werden! Dabei trägt der „MakeCode“-Editor den Dateinamen „chrome_proxy.exe“ und lässt sich im
sogenannten „Windows Terminal“
(früher „DOS-Box“, später „Eingabeaufforderung“
genannt) zusammen mit dem Parameter
--profile-directory="Profile
6" --app-id=mcmafngehdlkdbalhhjdclldacchajan wie folgt am Prompt aufrufen: .\chrome_proxy.exe --profile-directory="Profile
6" --app-id=mcmafngehdlkdbalhhjdclldacchajan (Zum Vergrößern bitte
auf das Bild klicken!)
(Zum Vergrößern bitte
auf das Bild klicken!) Wir importieren das „Proxi-Roboter“-Programm
„proxi-roboter, p-02“ in den „MakeCode“-Editor. Dabei fällt zum wiederholten Male auf, dass
sich das Programm aus den beiden
Hauptprogramm-Modulen <beim Start> und <dauerhaft> zusammensetzt: (Zum Vergrößern bitte
auf das Bild klicken!) Dabei dient der Programm-Block <beim
Start>
dazu, gleich zu Beginn des Programms,
d.h. gleich nach dem Programmstart
bestimmte „micro:bit“- oder „Proxi-Roboter“-Befehle erstmalig und
einmalig auszuführen. Wenn es darum geht, bestimmte Sensoren, Anzeigen auf dem LED-Display, Programmteile, Funktionen oder Methoden mehrfach wiederholt
auszuführen, dann müssen diese im Programm-Block
<dauerhaft> platziert werden! Demzufolge handelt es sich bei dem Programm-Block <dauerhaft> um eine permanente
Endlosschleife, die so oft wiederholt
ausgeführt wird, bis der Strom ausfällt oder das jeweilige Programm beendet wird! Auf diese Weise lassen sich nicht nur
statische, sondern auch dynamische, d.h. Ereignis gesteuerte Programme
entwickeln. - |
|
|||
|
[ Proxi-Roboter ] [ Seitenanfang ] [Coding 1 ] |
|