1. Bauen Sie Ihren ersten Roboter
Verbinden Sie einen durchsichtigen Action-Cubelet „Taschenlampe“ (
Flashlight
) mit einem schwarzen
Entfernungsmesser-Cubelet
und einem graublauen
Batterie-Cubelet
– und fertig ist der
Dimbot
!
Die Position des Batterie-Blocks ist egal.
Wenn Sie einen Batterie-Cubelet, einen Entfernungsmesser-Cubelet und einen Taschenlampen-Cubelet zusammenbauen, dann lässt sich die Lichtstärke mit der Hand oder mithilfe eines Gegenstands steuern, die sich den „Augen“ des schwarzen Sensorblocks nähern oder von ihnen entfernen.
Das Roboterlicht wird schwächer, je weiter sich die Hand entfernt – daher der Name Dimbot.
2. Präsentation der Cubelets
Es gibt drei Arten von Cubelets: schwarze Sensor-Cubelets (Sense), transparente Action-Cubelets (Act) und verschiedenfarbige Think-Cubelets.
Die meisten Cubelets besitzen fünf Würfelseiten zum Anschließen anderer Cubelets und eine spezifische Seite, die die Funktion bestimmt. Manche Cubelets besitzen sechs Würfelseiten zum Anschließen, und ihre Funktion wird durch ihre Farbe angezeigt.
Jeder Cubelet ist mit einer kleinen LED-Leuchte an einer Ecke ausgestattet. Wenn ein Cubelet für den Bau eines Roboters verwendet wird und der Batterie-Block des Roboters eingeschaltet ist, dann leuchtet auch die LED. Die LED zeigt an, dass der Cubelet die nötige Energie erhält und mit seinen Nachbarn kommuniziert. Mindestens ein Batterie-Cubelet muss bei jeder Ihrer Kreationen vorhanden sein, um alle anderen Bausteine des Roboters mit Strom zu versorgen.
Dieser Cubelet hat einen kleinen Schalter, der zum Ausschalten der Batterie auf „O“, zum Einschalten auf „I“ gestellt wird. Vergessen Sie nicht, die Cubelets nach Verwendung auszuschalten, um Batterie zu sparen.
Die interne Batterie lässt sich über Micro-USB laden.
Jede Seite eines Cubelets besitzt drei Kontakte. Der äußere Ring und die Magneten bilden die Masse, der innere Metallring ist elektrisch leitend und der mittlere Kontakt überträgt Daten von einem Cubelet zum nächsten. Damit zwei Cubelets kommunizieren können, müssen diese drei Kontakte jene des benachbarten Blocks berühren.
3. Was versteht man unter einem Roboter?
Ein Roboter ist eine Maschine, die fühlt – das bedeutet, sie sammelt Informationen über ihre Umgebung und tritt mit ihr in Verbindung. Deshalb ist ein Roboter, der mithilfe von Cubelets gebaut wird, eine Maschine, die einen schwarzen Sensor-Cubelet und einen durchsichtigen Action-Cubelet benötigt.
Jeder Roboter braucht Energie. Der blaugraue Cubelet ist der Batterie-Cubelet. Er besitzt einen Schalter. Denken Sie daran, ihn auf die Position „On“ zu stellen, damit er Ihren Roboter mit Strom versorgt, und auf die Position „Off“, wenn Sie ihn nicht mehr brauchen.
Um einen Roboter zu bauen, braucht man einen grauen, einen schwarzen und einen durchsichtigen Cubelet. Setzen Sie die Cubelets zusammen. Und fertig ist der Roboter!
4. Wechseln eines Sensor-Cubelets
Jetzt tauschen Sie den Entfernungsmesser-Cubelet. gegen einen Lichtsensor-Cubelet aus. Dabei kommt immer ein Taschenlampen-Roboter heraus, doch die Lichtstärke hängt jetzt vom Umgebungslicht des Rotobers ab.
Machen Sie einen Test : Decken Sie den Lichtsensor mit der Hand ab. Dabei stellen Sie fest, dass das vom Roboter emittierte Licht abnimmt. Jetzt nehmen Sie die Hand vom Lichtsensor weg, und das ausgestrahlte Licht wird wieder stärker.
Sie wissen bereits, dass Sie die Sensor-Cubelets untereinander austauschen können. Mit jedem neuen Sensor erhalten Sie einen anderen Roboter. In unserem Fall haben wir einen lichtempfindlichen Roboter gebaut.
Sehen Sie sich dieses Einstiegsvideo auf YouTube an und lernen Sie im Handumdrehen mit den Cubelets umzugehen.
5. Wechseln eines Action-Cubelets
Dieser einfache Gobot Roboter besitzt einen Fortbewegungs-Cubelet (Drive) auf der linken Seite, mit dem er fährt, wenn der Sensor-Cubelet Licht wahrnimmt. Der graue Block auf der rechten Seite ist der Batterie-Cubelet.
Wie Sie feststellen werden, können Sie auch einen Action-Cubelet gegen einen anderen Action-Cubelet austauschen. Anstelle des lichtempfindlichen Taschenlampen-Cubelets auf dem Dimbot bringen wir nun ein Fortbewegungs-Cubelet an. Dadurch enthält Ihr Roboter einen Fortbewegungs-Cubelet, einen Lichtsensor-Cubelet und einen Batterie-Cubelet.
Sie sehen, dass dieser Roboter fährt, wenn er Licht erkennt. In einem gut beleuchteten Raum fährt der Roboter schnell, in einem Raum mit wenig Licht eher langsam.
Probieren Sie eine weitere Veränderung.
Tauschen Sie den Fortbewegungs-Cubelet gegen einen Lautsprecher-Cubelet aus: Jetzt erhalten Sie einen Canarybot (Kanarienvogel-Roboter).
Und wie wär’s, wenn Sie jetzt den Lichtsensor-Cubelet gegen einen Entfernungsmesser-Cubelet austauschen? Dadurch erhalten Sie einen Fraidybot („furchtsamer Roboter“) oder einen Friendlybot („freundlicher Roboter“), je nach Ausrichtung der Räder: Wenn Sie den Fortbewegungs-Cubelet so drehen, dass der Roboter rückwärts fährt statt vorwärts, dann entsteht ein Fraidybot statt einem Friendlybot.
6. Weitergabe von Eingangswerten
Jeder Sensor-Cubelet (schwarz) misst eine Eigenschaft seiner Umgebung und erstellt daraus einen Eingangswert. Jeder Sensor-Cubelet überträgt den Eingangswert an alle seine Nachbarn.
Die grünen Leuchten jedes Blocks blinken beim „Kommunizieren“ (der Bluetooth-Cubelet emittiert andere Farben).
So misst beispielsweise der Potentiometer-Cubelet , wie stark Sie am Knopf drehen. Drehen Sie ihn bis zum Anschlag gegen den Uhrzeigersinn, und der Potentiometer-Cubelet erzeugt einen niedrigen Wert. Drehen Sie ihn bis zum Anschlag im Uhrzeigersinn, und der Potentiometer-Cubelet erzeugt einen hohen Wert.
Der Lichtsensor-Cubelet erkennt die Helligkeit des Raums. In einem dunklen Raum erzeugt der Cubelet einen niedrigen Eingangswert, in einem hellen Raum hingegen einen hohen Wert.
Jeder Action-Cubelet übernimmt den Eingangswert von seinen Nachbarn und verwandelt ihn in eine Aktion.
Der Taschenlampen-Cubelet leuchtet je nach dem erhaltenen Wert unterschiedlich hell. Bei einem hohen Wert gibt die Lampe viel Licht ab. Bei einem niedrigen Wert leuchtet die Lampe weniger stark. Stellen Sie sich vor, dass die Werte kontinuierlich von einem Cubelet zum anderen weitergegeben werden, von den Sensor-Cubelets zu den Action-Cubelets. Durch die Weitergabe dieser Eingangswerte entstehen die charakteristischen Verhaltensweisen der Roboter.
Nur Sensor-Cubelets geben keine Werte weiter, da sie ihre eigenen Eingangswerte generieren.
7. Verwendung des Balkendiagramm-Cubelets zur Ansicht der Eingangswerte
Sie können den Balkendiagramm-Cubelet (Bar Graph) dazu verwenden, um herauszufinden, was in Ihrem Roboter vor sich geht, d.h. die weitergegebenen Eingangswerte anzeigen.
Schließen Sie den Balkendiagramm-Cubelet an einen beliebigen Cubelet Ihres Roboters an. Der Cursor am Balkendiagramm-Cubelet zeigt nun an, wie hoch der weitergegebene Wert ist. Je höher der kommunizierte Wert, desto mehr Dioden leuchten auf der Fortschrittsleiste auf. Wenn der weitergegebene Wert niedrig ist, dann leuchten nur wenige Dioden auf. Wenn er verschwindend gering oder gleich null ist, leuchtet gar keine Diode auf.
Das wollen wir uns nun in der Praxis ansehen. Bauen Sie einen einfachen Roboter mithilfe eines Lichtsensor-Cubelets und eines Fortbewegungs-Cubelets. Schließen Sie den Balkendiagramm-Cubelet an einen beliebigen Cubelet Ihres Roboters an. Bei guten Lichtverhältnissen leuchtet die Fortschrittsleiste am Balkendiagramm-Cubelet komplett auf (und der Fortbewegungs-Cubelet fährt schnell). Wenn wenig Licht vorhanden ist, leuchten am Balkendiagramm-Cubelet nur wenige oder gar keine Dioden auf.
Sie brauchen nicht unbedingt einen Balkendiagramm-Cubelet, damit Ihr Roboter funktioniert. Meist brauchen Sie auch keinen, um seine Funktionsweise zu verstehen. Trotzdem kann sich der Balkendiagramm-Cubelet bei komplexeren Robotern als nützlich erweisen.
8. Die Art, wie die Cubelets zusammengebaut sind, macht einen Unterschied.
Die präsentierten Roboter entsprechen verschiedenen Varianten, denn Sie können die Fortbewegungs-Cubelets in unterschiedlicher Ausrichtung positionieren. Im ersten Fall fährt der Roboter in einer geraden Linie, im zweiten Fall fährt der Roboter immer im Kreis. Das nennt man einen Turnabot („drehender Roboter“).
Nicht nur die Wahl der Sensor- oder Action-Cubelets macht den Unterschied, sondern auch die Art und Weise, wie sie zusammengestellt werden. Dieselben Cubelets ergeben, anders zusammengebaut, einen völlig anderen Roboter.
Positionieren Sie beispielsweise den Lichtsensor-Cubelet mit der Sensorseite nach unten. So sieht er überhaupt kein Licht. Der Roboter Gobot wird zu einem Nogobot. Ganz egal wie die Lichtverhältnisse sind, der Roboter steht still, da er kein Licht erkennt.
Versuchen Sie jetzt den Lichtsensor-Cubelet auf unterschiedliche Weise auszurichten. Wie wird dadurch das Verhalten des Roboters beeinflusst?
9. Stabilität
Manche Roboter sind stabiler als andere. Diese Roboter besitzen stets einen Entfernungsmesser-Cubelet und einen Fortbewegungs-Cubelet, doch die verschiedenen Bauweisen führen zu den unterschiedlichsten Verhaltensweisen.
Bauen Sie einen einfachen Gobot Roboter mithilfe eines Entfernungsmesser-Cubelets und eines Fortbewegungs-Cubelets. Dieser Roboter ist stabil, wenn Sie einen Cubelet-Zug bauen (drei Cubelets hintereinander).
Der Entfernungsmesser-Cubelet generiert einen hohen Eingangswert, wenn er in seiner Nähe ein Hindernis erkennt. Mit der Hand kann dieser Fraidybot verscheucht werden: Wenn Sie Ihre Hand nähern, dann ergreift er die Flucht.
Wenn Sie jedoch diesen Roboter in Form eines Turms bauen – also die Cubelets übereinander stapeln -, dann funktioniert der Roboter zwar, ist aber nicht stabil: Bringen Sie Ihre Hand in die Nähe des Entfernungsmesser-Cubelets und der Fortbewegungs-Cubelet beginnt sich zu bewegen. Wenn Sie zu schnell beschleunigen, fällt der Turm um.
Dieses Problem kann korrigiert werden, indem Sie einen Cubelet neben dem Fortbewegungs-Cubelet hinzufügen. Dafür eignet sich jeder beliebige Cubelet, wir empfehlen Ihnen jedoch einen hellgrünen Cubelet, d.h. einen Passiv- oder Sperr-Cubelet.
Dieser Gobot kann übrigens auf verschiedene Art und Weise gebaut werden. Wenn der Entfernungsmesser-Cubelet genauso ausgerichtet ist wie der Fortbewegungs-Cubelet, bewegt sich der Roboter auf Ihre Hand zu.
Wenn Sie den Entfernungsmesser-Cubelet in die Gegenrichtung drehen, dann entfernt sich der Roboter von Ihrer Hand, wenn Sie auf ihn zugehen.
10. Ein Entfernungsmesser-Cubelet kann mehr als nur einen Action-Cubelet steuern
Sie können einen einzigen Sensor-Cubelet dazu verwenden, um einen oder mehrere Action-Cubelets zu steuern.
Bauen Sie einen Lighthousebot (Leuchtturm-Roboter), der mithilfe eines Potentiometer-Cubelets die Geschwindigkeit des Rotations-Cubelets und die Helligkeit des Taschenlampen-Cubelets steuert.
Bauen Sie einen einfachen Gobot mithilfe eines Lichtsensor-Cubelets und eines Fortbewegungs-Cubelets. Der Roboter wird vom Licht angezogen. Fügen Sie einen Lautsprecher-Cubelet hinzu.
Der Roboter wird weiterhin vom Licht angezogen, gibt aber zusätzlich beim Fahren einen Ton von sich.
Fügen Sie nun einen zusätzlichen Taschenlampen-Cubelet hinzu. Der Roboter bewegt sich auf das Licht zu und emittiert dabei sowohl einen Ton als auch Licht. Fügen Sie nun Action-Cubelets Ihrer Wahl hinzu: Sie gehorchen alle dem vom Lichtsensor-Cubelet generierten Signal.
Wenn der Roboter sich in einem hellen Raum befindet, dann erzeugt der Lichtsensor ein starkes Signal, und somit führen die Action-Cubelets eine stärkere Aktion aus.
Im gegenteiligen Falle sind die Action-Cubelets wenig aktiv.
11. Intelligente Think-Cubelets
Bisher haben Sie den Batterie-Cubelet, die schwarzen Sensor-Cubelets und die durchsichtigen Action-Cubelets kennen gelernt. Jetzt wird es Zeit, sich die farbigen Cubelets anzusehen. Es handelt sich um intelligente Cubelets (Think).
Roboter sind Maschinen, die erkennen, überlegen und anschließend handeln. Deshalb müssen Think-Cubelets zwischen dem Sensor-Cubelet und dem zu aktivierenden Action-Cubelet platziert werden.
Neben dem grünen Passiv-Cubelet ist das einfachste Think-Cubelet das rote Umkehr-Cubelet.
12. Umkehr-Cubelet
Um einen Nightbot (Nachtroboter) zu bauen, der in einem dunklen Raum aufleuchtet, braucht man einen roten Umkehr-Cubelet (Inverse).
Schau, schau! Der Roboter auf dem Foto weist einen Fehler auf. Können Sie ihn erkennen?
Kommen wir auf unseren lichtempfindlichen Dimbot zurück. Dieser Roboter besitzt einen Lichtsensor-Cubelet und einen Taschenlampen-Cubelet (und natürlich einen Batterie-Cubelet, aber das brauchen wir jetzt nicht mehr dazusagen).
Der Dimbot ist uns wenig nützlich, denn er gibt Licht ab, wenn der Raum, in dem er sich befindet, hell ist, und umgekehrt. Wir hätten allerdings gern einen Roboter, der ein dunkles Zimmer beleuchtet. Dafür brauchen wir den roten Umkehr-Cubelet (Cubelet Inverse).
Platzieren Sie den roten Umkehr-Cubelet zwischen dem Lichtsensor-Cubelet und dem Taschenlampen-Cubelet.
Erinnern Sie sich an die Sache mit den weitergegebenen Eingangswerten. Jeder Sensor-Cubelet erzeugt einen Wert. Der Lichtsensor-Cubelet generiert einen hohen Eingangswert, wenn er sich in einem hellen Umfeld befindet. Diesen hohen Wert gibt er an seine Nachbarn weiter, also hier an den Taschenlampen-Cubelet, der diesen hohen Wert in ein helles Licht verwandelt.
Dieser Umkehr-Cubelet verwandelt einen hohen in einen niedrigen Wert und einen niedrigen in einen hohen Wert.
Die Eingangswerte des Sensor-Cubelets passieren den Umkehr-Cubelet und erreichen den Action-Cubelet. Im Falle unseres Roboters erzeugt der Lichtsensor-Cubelet, wenn er sich in einem hellen Raum befindet, einen hohen Eingangswert, der an den Umkehr-Cubelet weitergegeben wird.
Dieser wandelt diesen Wert in einen niedrigen Wert um und gibt diesen an den Taschenlampen-Cubelet weiter, der wiederum wenig oder kein Licht emittiert.
Das Gleiche gilt im umgekehrten Sinne. Wenn der Roboter sich in einem dunklen Raum aufhält (oder wenn Sie Ihre Hand über den Lichtsensor halten), erzeugt der Lichtsensor-Cubelet einen niedrigen Eingangswert, der an den Umkehr-Cubelet weitergegeben wird.
Dieser verwandelt ihn seinerseits in einen hohen Wert, den er an den Taschenlampen-Cubelet weitergibt, der dann auf der Basis des empfangenen Werts Licht emittiert. So erhalten wir einen Nightbot, der sich in einem dunklen Raum ein-, in einem hellen Raum ausschaltet.
Tauschen Sie den Taschenlampen-Cubelet gegen einen Fortbewegungs-Cubelet aus. Jetzt haben Sie einen Roboter gebaut, der bei Dunkelheit fährt und bei Licht stehen bleibt.
Bei diesem Night-Gobot wandelt der Umkehr-Cubelet den vom Lichtsensor-Cubelet erhaltenen Eingangswert um, bevor er ihn an den Fortbewegungs-Cubelet weitergibt. Bei geringer Helligkeit erzeugt der Lichtsensor-Cubelet einen niedrigen Eingangswert: Der Umkehr-Cubelet wandelt diesen in einen hohen Wert um, was zu einem schnellen Betrieb des Fortbewegungs-Cubelets führt.
Bei starker Helligkeit erzeugt der Lichtsensor-Cubelet einen hohen Eingangswert: Der Umkehr-Cubelet wandelt diesen in einen niedrigen Wert um, was zu einer langsamen Fortbewegung bzw. dem Stillstand des Fortbewegungs-Cubelets führt.
13. Differenzialantrieb
Verbinden Sie zwei Gobots wie auf dem nebenstehenden Bild gezeigt, wobei die Entfernungsmesser dieselbe Ausrichtung aufweisen. Und fertig ist der Steeringbot (direktionaler Roboter)!
Der Steeringbot besitzt zwei Gobot-Türme, die miteinander über einen Batterie-Cubelet verbunden sind. Jeder Turm handelt unabhängig vom anderen je nach den Gegenständen, die er auf seinem Weg erkennt.
Nähern Sie Ihre Hand dem rechten Turm des Roboters, und der Fortbewegungs-Cubelet dieses Turms fährt nach vorne, während der andere Turm (praktisch) unbeweglich bleibt.
Wenn einer der Türme geradeaus fährt und der andere nicht (oder in die andere Richtung), dann dreht sich der Roboter um die eigene Achse. Das nennt man einen „Differenzialantrieb“.
14. Action-Cubelets ermitteln den Mittelwert der Eingangssignale
Wenn Ihr Roboter mit zwei Sensor-Cubelets und nur einem Action-Cubelet ausgestattet ist, was passiert dann? Bauen Sie einen Testbot mit zwei Entfernungsmesser-Cubelets, getrennt durch einen Balkendiagramm-Cubelet.
Der Balkendiagramm-Cubelet zeigt einen niedrigen Wert, wenn keiner der Entfernungsmesser einen Gegenstand in seiner Nähe erkennt. Nähern Sie Ihre Hand beiden Entfernungsmesser-Cubelets gleichzeitig. Diese erzeugen einen hohen Wert, der als solcher vom Balkendiagramm-Cubelet angezeigt wird.
Jetzt nähern Sie Ihre Hand nur einem Entfernungsmesser-Cubelet. Dieser generiert einen hohen Eingangswert, während der andere einen niedrigen Wert erzeugt.
Der Balkendiagramm-Cubelet nimmt beide empfangenen Werte und ermittelt einen Durchschnittswert.
Jetzt zeigt er einen Wert an, der sich zwischen den beiden von den benachbarten Cubelets übertragenen Werten befindet.
15. Gradienten: Diffusion
Dieser Roboter ist eine Darstellung der Auswirkung von Gradienten. Der Balkendiagramm-Cubelet wird an einem der zwei Passiv-Cubelets zwischen zwei Entfernungsmesser-Cubelets, einer an jedem Ende des Roboters, angebracht. Der nächstliegende Entfernungsmesser hat eine stärkere Auswirkung auf den Balkendiagramm-Cubelet.
Wenn Ihr Roboter einen Action-Cubelet zwischen zwei Sensor-Cubelets besitzt, dann ermittelt der Action-Cubelet den Mittelwert der von den Sensor-Cubelets an ihn übertragenen Eingangswerte.
Wenn einer der Sensor-Cubelets weiter entfernt ist vom Action-Cubelet als ein anderer Sensor-Cubelet, dann hat der am nächsten liegende Sensor-Cubelet die stärkste Wirkung.
Das wollen wir nun mithilfe des Balkendiagramm-Cubelets ausprobieren.
Bauen Sie einen Roboter mit zwei Entfernungsmesser-Cubelets, getrennt durch zwei Passiv-Cubelets. Bringen Sie jetzt an einem der Passiv-Cubelets einen Balkendiagramm-Cubelet an.
Und jetzt spielen Sie mit dem Roboter: Legen Sie die Hand auf beide Entfernungsmesser, sodass der Balkendiagramm-Cubelet einen hohen Wert abliest (alle Dioden leuchten auf).
Nehmen Sie die Hand vom Entfernungsmesser-Cubelet weg, das weiter vom Balkendiagramm-Cubelet entfernt ist. Jetzt nähern Sie die Hand dem anderen Entfernungsmesser und bewegen sie wieder weg. Sie werden feststellen, dass der Balkendiagramm-Cubelet beim weiter entfernten Entfernungsmesser weniger stark reagiert.
Ein Action-Cubelet ermittelt den Mittelwert aus den empfangenen Signalen, gewichtet mit der Entfernung (Anzahl der Blöcke oder „Sprünge“ zwischen dem Sensor-Cubelet und dem Action-Cubelet) der Cubelets, von denen das Signal stammt.
16. Verwendung des Minimum-Cubelets als Schalter
Nehmen wir an, Sie wollen einen lichtempfindlichen Gobot bauen, der sich fortbewegt, sobald er Licht sieht. Nehmen wir weiter an, dass Sie diese Verhaltensweise bei Bedarf deaktivieren möchten.
Natürlich kann das immer durch Ausschalten oder Abnehmen des Batterie-Cubelets geschehen, doch man kann auch einen Schalter aus Cubelets bauen. Und das geht so:
Der lichtempfindliche Basis-Gobot besitzt zwei Cubelets: Einen Lichtsensor-Cubelet und einen Fortbewegungs-Cubelet (plus einen Batterie-Cubelet). Der vom Lichtsensor-Cubelet übertragene Wert teilt dem Fortbewegungs-Cubelet mit, mit welcher Geschwindigkeit er sich bewegen soll. Je stärker das Licht, desto höher der Wert und desto schneller der Gobot.
Ersetzen Sie den Lichtsensor-Cubelet durch einen Minimum-Cubelet.
Dieser teilt dem Fortbewegungs-Cubelet mit, mit welcher Geschwindigkeit er sich bewegen soll. Er nimmt alle von den benachbarten Sensor-Cubelets übertragenen Werte und wählt den niedrigsten (Minimum) aus, um ihn als Ausgangssignal an die Action-Cubelets zu übertragen.
Schließen Sie an den Minimum-Cubelet einen Lichtsensor-Cubelet an und fügen Sie einen Potentiometer-Cubelet hinzu.
Wenn Sie jetzt den Knopf des Potentiometers ganz gegen den Uhrzeigersinn drehen (also nach links), dann zeigt der Minimum-Cubelet dem Fortbewegungs-Cubelet 0 an, denn das ist der niedrigste empfangene Wert.
Dreht man den Knopf des Potentiometers ganz im Uhrzeigersinn (also nach rechts), dann überträgt der Minimum-Cubelet an den Fortbewegungs-Cubelet den vom Lichtsensor-Cubelet empfangenen Eingangswert. Mit dem Minimum-Cubelet verhält sich der Potentiometer-Cubelet wie ein Schalter.
17. Verwendung eines Sperr-Cubelets zur Trennung zweier Abschnitte eines Roboters
Der dunkelgrüne, intelligente Sperr-Cubelet (Block) leitet zwar Strom vom Batterie-Cubelet, blockiert jedoch die von den Sensor-Cubelets generierten Eingangswerte.
Der dunkelgrüne, intelligente Sperr-Cubelet (Block) leitet zwar Strom vom Batterie-Cubelet, blockiert jedoch die von den Sensor-Cubelets generierten Eingangswerte.
Hier ein Beispiel: Ein Teil des Roboters ist ein Lighthousebot mit rotierender Lampe. Der andere Teil ist ein Roboter, der einen Ton abgibt, wenn er das Licht des Lighthousebot sieht.
Dieser besitzt einen Potentiometer-Cubelet, der die Drehgeschwindigkeit eines Rotations-Cubelets steuert, auf dem ein horizontal ausgerichteter Taschenlampen-Cubelet platziert wurde.
Wenn Sie den Knopf des Potentiometer-Cubelets im Uhrzeigersinn (nach rechts) drehen, dann geht das Licht an und dreht sich um die eigene Achse.
Fügen Sie jetzt der Basis einen Sperr-Cubelet hinzu, beispielsweise auf dem Batterie-Cubelet. Auf diesem Sperr-Cubelet wird jetzt ein Lautsprecher-Cubelet angebracht, und darauf wiederum ein Lichtsensor-Cubelet, der in Richtung des Drehlichts zeigt. Der Lautsprecher-Cubelet gibt einen Ton ab (wenn der Raum hell ist).
Rechts vom grünen Sperr-Cubelet befindet sich ein Mini-Leuchtturm: Ein Potentiometer-Cubelet, ein Rotations-Cubelet und ein Taschenlampen-Cubelet. Dieser Leuchtturm dreht sich, wenn Sie den Knopf des Potentiometer-Cubelets nach rechts drehen.
Jedesmal wenn das Licht des rotierenden Taschenlampen-Cubelets den Lichtsensor-Cubelet streift, gibt der Lautsprecher-Cubelet einen Ton ab. Erhöht man die Rotationsgeschwindigkeit, so werden auch die Töne schneller emittiert.
Jedesmal wenn das Licht des rotierenden Taschenlampen-Cubelets den Lichtsensor-Cubelet streift, gibt der Lautsprecher-Cubelet einen Ton ab. Erhöht man die Rotationsgeschwindigkeit, so werden auch die Töne schneller emittiert.
Der Schwellen-Cubelet (Threshold) ist ein intelligenter Cubelet, der mit einem Einstellknopf ausgestattet ist.
Im Gegensatz zu anderen Think-Cubelets bietet der Schwellen-Cubelet die Möglichkeit, seine Auswirkung auf den Roboter flexibel zu modulieren.
Er blockiert Werte unter einem bestimmten, vom Knopf definierten Schwellenwert. Höhere Werte werden weiterhin von einem Cubelet zum nächsten weitergegeben.
Bauen Sie einen Testbot mit einem Batterie-Cubelet, einem Balkendiagramm-Cubelet und einem Entfernungsmesser-Cubelet.
Je näher sich ein Gegenstand vom Entfernungsmesser befindet, desto höher der vom Balkendiagramm-Cubelet angezeigte Wert.
Jetzt positionieren Sie den Schwellen-Cubelet zwischen dem Entfernungsmesser-Cubelet und dem Balkendiagramm-Cubelet. Legen Sie den niedrigsten Eingangswert als Schwelle fest.
Vous constatez que le Cubelet seuil semble n’avoir aucun effet : c’est parce que toute valeur supérieure à 0 est transmise de bloc en bloc.
Sie werden feststellen, dass der Schwellen-Cubelet scheinbar keine Wirkung zeigt: Das liegt daran, dass jeder über 0 liegende Wert von einem Block zum anderen weitergegeben wird.
Wenn Sie den Regler nun drehen, um einen Schwellenwert von 50 % zu definieren, sehen Sie, dass niedrigere Werte nicht auf dem Balkendiagramm-Cubelet aufscheinen. Wenn die vom Entfernungsmesser-Cubelet übertragenen Werte über dem Schwellenwert liegen, dann zeigt der Balkendiagramm-Cubelet die Werte normal an.
Sie können die Parameter des Schwellen-Cubelets anpassen und dadurch Roboter bauen, die urplötzlich reagieren oder ein binäres Verhalten aufweisen.
19. Verwendung von Bluetooth
Der
Bluetooth-Cubelet
ist ein intelligenter Cubelet, der mit besonderen Funktionen ausgestattet ist.
Er besitzt ein Bluetooth-Funkmodul, mit dem Geräte wie Computer, Tablets oder Smartphones mit Cubelets kommunizieren können. Mit der KOSTENLOSEN Cubelets-App können Sie Ihre Roboter mit jedem beliebigen iOS- oder Android- Gerät steuern.
Seit Version 4 veröffentlicht Modular Robotics regelmäßig Firmware-Aktualisierungen und neue Funktionen für den Bluetooth-Cubelet.
20. Hinweise für erfahrene Programmierer
Computerprogrammierer fragen uns regelmäßig: „Welcher Cubelet führt Wenn/dann-Entscheidungen aus?“ oder „Welcher Cubelet übernimmt die Rolle eines Mikroprozessors?“ Diese Fragen sind verständlich, doch Cubelets funktionieren ganz anders.
Cubelets sind nicht auf das Paradigma der prozeduralen Programmierung (in C, Java oder BASIC) abgestimmt, bei der das Verhalten eines Roboters sich aus der Ausführung einer Sequenz von Anweisungen im „Hirn“ des Roboters (meist ein zentraler Mikrocontroller) ergibt.
Cubelets basieren auf dem Prinzip der verteilten Programmierung: Jeder Cubelet enthält einen Mikrocontroller.
Das Roboterverhalten ergibt sich aus der Wechselwirkung der Sensor-, Think- und Action-Cubelets untereinander und der von ihnen kommunizierten Werte.
Es gibt weder ein zentrales „Hirn“ noch eine Sequenz auszuführender Anweisungen. Es gibt keine Variablen, keine Funktionen, keine prozedurale Logik. Bei den Cubelets ist der Roboter selbst das Programm!
Von der Anordnung der Blöcke hängt die Übertragung der Werte zwischen Sensor- und Action-Cubelets ab, und das ist wiederum ausschlaggebend für das Verhalten des Roboters.