Es ist relativ einfach, die aktuellen LEGO City Züge mit einer Powered Up Fernsteuerung fernzusteuern. Es reicht, den Hub und die Fernbedienung jeweils über die grüne Taste einzuschalten. Durch mehrmaliges Drücken der Plus-Taste fährt die Lok stufenweise schneller, selbiges ist mit der Lichthelligkeit möglich.
Bei komplexeren Zügen, die einen anderen Motor als den Zugmotor nutzen, funktioniert das leider nicht so gut. Dort dreht der Motor nur so lange, wie die Plus-Taste gedrückt wird und eine Geschwindigkeitssteuerung gibt es auch nicht. Beispiele für solche Züge sind das Krokodil und ein umgebauter Orient Express.
Voraussetzungen
Der Motor muss sich in dem "B" Anschluss des Hubs befinden. Außerdem kann ein optionales Licht in den Anschluss "A" gesteckt sein. Wenn das Licht benutzt werden soll, müssen die ersten beiden Rauten (#-Symbol) in dem Code entfernt werden.
Um den Code auf einem LEGO Hub zu speichern, kann die Pybricks-Website genutzt werden.
Code
from pybricks.hubs import CityHub
from pybricks.pupdevices import DCMotor, Light, Motor, Remote
from pybricks.parameters import Button, Color, Direction, Port, Side, Stop
from pybricks.tools import wait, StopWatch
steps = 10
speed = 0
hub = CityHub()
motor = Motor(Port.B)
remote = Remote()
#light = Light(Port.A)
#light.on(100)
maxSpeed = motor.control.limits()[0] #get maximu Speed of motor (depends on motor type)
#print(maxSpeed)
remote.light.on(Color.GREEN)
while True:
#check remote control buttons
#done in while loop because speed has to be "updated" periodically
buttons = remote.buttons.pressed()
if Button.LEFT_PLUS in buttons:
speed = speed + 1
if Button.LEFT_MINUS in buttons:
speed = speed - 1
if Button.LEFT in buttons:
speed = 0
if speed > maxSpeed:
speed = maxSpeed
if speed < -maxSpeed:
speed = -maxSpeed
if Button.CENTER in buttons:
hub.system.shutdown()
while buttons:
buttons = remote.buttons.pressed()
motor.run(speed*(maxSpeed/steps))

Kommentare
Kommentar veröffentlichen