Der Thymio fährt ein Rennen, man kann ihn steuern auf der Strecke
Und so sieht der Programmcode aus. Du kannst ihn kopieren.
onevent button.forward # Befehlt wenn der vordere Knopf gedrückt wird, Beide Motoren geradeaus Gas geben. motor.left.target =500 motor.right.target =500 onevent button.backward # Befehlt wenn der hintere Knopf gedrückt wird, Beide Motoren Rückwärts Gas geben. motor.left.target =-500 motor.right.target =--500 onevent button.center # Befehlt wenn der mittlere Knopf gedrückt wird, Beide Motoren still stehen. motor.left.target =0 motor.right.target =0 onevent button.left # Befehlt wenn der linke Knopf gedrückt wird, Beide Motoren unterschiedlich Gas geben, und schräg fahren. motor.left.target =350 motor.right.target =500 onevent button.right # Befehlt wenn der rechte Knopf gedrückt wird, Beide Motoren unterschiedlich Gas geben, und schräg fahren. motor.left.target =500 motor.right.target =350
Der Thymio fährt auf eine Klippe zu... Und stürzt nicht ab! Dank einer Notbremse!
Und so sieht der Programmcode aus. Du kannst ihn kopieren.
onevent button.forward # Wenn der vordere Knopf gedrückt wird, dann schalte die Motoren auf 300. motor.left.target =300 motor.right.target =300 onevent prox if prox.ground.delta[0] <100 or prox.ground.delta[1] <100 then # Wenn die unteren Sensoren mehr als 100 wahrnehmen, dann schalte die Motoren auf 0. motor.left.target =0 motor.right.target =0 end
Er fährt langsam umher, er weicht einem Hindernis aus.
Und so sieht der Programmcode aus. Du kannst ihn kopieren.
var Switch =1 #Erstellt eine Variable "Switch", um den Roboter mit einem Knopf zu steuern. onevent buttons if button.center ==1 and Switch ==1 then while button.center ==1 do Switch =0 end while button.center ==0 do #Schaut, wann der Roboter auf ein Hindernis trifft, und kehrt um. motor.left.target =1000 motor.right.target =1000 if prox.horizontal [1] >3000 then while prox.horizontal [6] <1000 do motor.left.target =0 motor.right.target =-500 end end if prox.horizontal [3] >3000 then while prox.horizontal [5] <1000 do motor.left.target =-500 motor.right.target =0 end end end while button.center ==1 do Switch =0 end if button.center ==1 and Switch ==0 then #Schaltet den Roboter wieder aus. motor.left.target =0 motor.right.target =0 while button.center ==1 do Switch =1 end end
Der Thymio folgt der Linie bis zum Ziel.
Und so sieht der Programmcode aus. Du kannst ihn kopieren.
var a =0 #Erstellt eine Variable "a" onevent buttons #Schaltet die Motoren des Roboters ein, nachdem der Knopf if button.forward ==1 then #vorwärts gedrückt wurde, und ändert das Tempo der while button.center ==1 do #einzelnen Motoren abhängig vom Untergrund. a=1 end while button.center ==0 do motor.left.target =(prox.ground.delta [0]+10)/2 motor.right.target =(prox.ground.delta [1]+10)/2 end end if button.center ==1 then #Schaltet alle Motoren aus, nachdem die Taste in der while button.center ==1 do #in der Mitte gedrückt wurde. a=0 end motor.left.target =0 motor.right.target =0 end
Der Thymio kann mit einem Knopfdruck als Ampel steuern.
Und so sieht der Programmcode aus. Du kannst ihn kopieren.
var a =0 #Erstellt eine Variable "a" var Colour =0 #Erstellt eine Variable "Colour" onevent buttons if button.center ==1 and Colour ==0 then #Setzt jedes zweite Mal die LED-Farbe auf rot call leds.top (32, 0, 0) Colour =1 if button.center ==1 then while button.center ==1 do a=a+1 end end elseif button.center ==1 and Colour ==1 then #Setzt jedes zweite Mal die LED-Farbe auf grün call leds.top (0, 32, 0) Colour =0 if button.center ==1 then while button.center ==1 do a=a+1 end end end
Der Thymio kann man so einstellen, dass er verschiedene Grössen und Geschwindigkeit von Kreisen zeichnet.
Und so sieht der Programmcode aus. Du kannst ihn kopieren.
var Kreisgrösse =8 #Erstellt eine Variable 'Kreisgrösse' var Speed =1 #Erstellt eine Variable 'Speed' var Beschäftigung #Erstellt eine Variable, die den Roboter beschäftigt call leds.temperature(0, 0) call leds.rc(0) if button.center ==1 then while button.center ==1 do Beschäftigung=Beschäftigung+1 end end onevent buttons #Prüft, welcher Knopf gedrückt wird if button.left ==1 and Kreisgrösse != 9 then Kreisgrösse=Kreisgrösse+1 end if button.left ==1 and Kreisgrösse ==9 then Kreisgrösse =1 end if button.right ==1 and Kreisgrösse !=0 then Kreisgrösse=Kreisgrösse-1 end if button.right ==1 and Kreisgrösse ==0 then Kreisgrösse =8 end if Kreisgrösse ==8 then #Passt den LED-Kreis an. call leds.circle(10, 0, 0, 0, 0, 0, 0, 0) end if Kreisgrösse ==7 then call leds.circle(10, 10, 0, 0, 0, 0, 0, 0) end if Kreisgrösse ==6 then call leds.circle(10, 10, 10, 0, 0, 0, 0, 0) end if Kreisgrösse ==5 then call leds.circle(10, 10, 10, 10, 0, 0, 0, 0) end if Kreisgrösse ==4 then call leds.circle(10, 10, 10, 10, 10, 0, 0, 0) end if Kreisgrösse ==3 then call leds.circle(10, 10, 10, 10, 10, 10, 0, 0) end if Kreisgrösse ==2 then call leds.circle(10, 10, 10, 10, 10, 10, 10, 0) end if Kreisgrösse ==1 then call leds.circle(10, 10, 10, 10, 10, 10, 10, 10) end if button.left ==1 or button.right ==1 then #Wartet, bis der Knopf losgelassen wurde. while button.left ==1 or button.right ==1 do Beschäftigung=Beschäftigung+1 end end if button.forward ==1 and Speed !=9 then #Prüft welcher Knopf gedrückt wird Speed=Speed+1 end if button.forward ==1 and Speed ==9 then Speed=1 end if button.backward ==1 and Speed !=0 then Speed=Speed-1 end if button.backward ==1 and Speed ==9 then Speed=8 end call leds.buttons(Speed, Speed, Speed, Speed) #Passt die Helligkeit der Lichter an if button.forward ==1 or button.backward ==1 then #Wartet, bis der Knopf losgelassen wurde. while button.forward ==1 or button.backward ==1 do Beschäftigung=Beschäftigung+1 end end if button.center ==1 then #Lässt den Roboter fahren. while button.center ==1 do Beschäftigung=Beschäftigung+1 end while button.center ==0 do motor.left.target =Speed*50 motor.right.target =Speed*50/(Kreisgrösse*2) if motor.left.target =0 motor.right.target =0 while button.center ==1 do Beschäftigung=Beschäftigung+1 end end
Den Thymio kann man mit 3 verschiedenen Programmiersprachen programmieren: Thymio VPL, Blockly und Aseba Studio. Da man bei Thymio VPL und Blockly mit Blöcken programmiert, gehen wir eher weniger darauf ein. In Aseba Studio kann man den Thymio mit der Programmiersprache Aseba programmieren. Das ist ähnlich wie Java, allerdings ist sie nicht objektbasiert und enthält nicht so viele Klammern. Mit dem Thymio kann man die komischsten Sachen machen. Man kann ihm befehlen, dass er wie ein Staubsauger herumfährt, er kann Musik machen. Man kann ihn sogar zeichnen lassen. Der Thymio besitzt 9 Näherungssensoren, einen Temperatursensoren, ein Gyrosensor, ein Mikrophon, zwei Drehsensoren und 5 Drucksensoren. Alle kann man programmieren. Mit dem Thymio kann man wirklich sehr tolle Sachen machen.
Nachschlagen:https://www.thymio.org
Bis bald! Valentin & Marc