lehrkraefte:blc:informatik:glf19:robofollow

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
lehrkraefte:blc:informatik:glf19:robofollow [2020/06/08 20:26]
Ivo Blöchliger
lehrkraefte:blc:informatik:glf19:robofollow [2020/06/15 10:38]
Ivo Blöchliger
Line 3: Line 3:
  
 ===== Vorbereitung ===== ===== Vorbereitung =====
-  * Laptop und Roboter starten.+  * Laptop und Roboter (Taste in der Mitte) starten. 
 +  * Stromversorgung vom Roboter ausstecken. 
 +  * Bezeichnung der Roboter-Tasten verstehen: 
 +    * ESC, Escape: Oben links 
 +    * Enter, Bestätigen: Mitte
   * TigerJython starten.   * TigerJython starten.
   * IP von Roboter ablesen und in TigerJython wie folgt eintragen:   * IP von Roboter ablesen und in TigerJython wie folgt eintragen:
Line 18: Line 22:
 # Linker und rechter Motor hinzufuegen # Linker und rechter Motor hinzufuegen
 right = Motor(MotorPort.A) right = Motor(MotorPort.A)
-robot.addPart(left)+robot.addPart(right)
  
 left = Motor(MotorPort.B) left = Motor(MotorPort.B)
-robot.addPart(right)+robot.addPart(left)
  
  
 # Lichtsensor hinzufuegen und starten # Lichtsensor hinzufuegen und starten
-ls = LightSensor(SensorPort.S3)+ls = LightSensor(SensorPort.S3)      # Ueberpruefen, ob der Sensor auch wirklich an Port 3 angeschlossen ist!
 robot.addPart(ls) robot.addPart(ls)
 ls.activate(True) ls.activate(True)
Line 39: Line 43:
 right.forward()      # Mit backward() könnte eine Drehung auf Platz erreicht werden. right.forward()      # Mit backward() könnte eine Drehung auf Platz erreicht werden.
  
-Tools.delay(2000)    2 Sekunden warten+Die Motoren drehen sich jetzt
  
-left.stop() +Tools.delay(2000   # 2 Sekunden warten, damit sich der Roboter auch wirklich bewegt.
-right.stop()+
  
 +left.stop()          # Linken Motor anhalten
 +right.stop()         # Rechnten Motor anhalten
 +
 +robot.exit()         # Programm ordnungsgemäss beenden.
 </code> </code>
  
Line 56: Line 63:
   Motoren aus   Motoren aus
      
-Lichtsensor auslesen und anzeigen:+Lichtsensor auslesen und anzeigen. Diesen Code verwenden Sie anstatt der Pause.
 <code python> <code python>
 while True: while True:
Line 65: Line 72:
 </code> </code>
  
 +===== Challenge 2 =====
 +Ziel ist es, dass der Roboter mit dem Helligkeitssensor einer hell-dunkel Kante folgt, z.B. entlang einer weissen Fläche auf dem Teppich, oder entlang der Bahn auf der Blache.
 +
 +Um die beiden Motoren etwas konfortabler steuern zu können, dürfen Sie gerne folgende Funktion verwenden, die Sie unmittelbar vor dem Kommentar ''Beginn des Programms'' kopieren.
 +<code python>
 +# Beispiele: 
 +#    steuern(0,0)    # stoppt die Motoren
 +#    steuern(20,-20) # rechts im Kreis drehen
 +#    steuern(40,40)  # gerade aus
 +#    steuern(10,30)  # Links-Kurve
 +def steuern(links, rechts):
 +    left.setSpeed(int(abs(links)))
 +    if (links>0):
 +        left.forward()
 +    elif (links<0):
 +        left.backward()
 +    else:
 +        left.stop()
 +    right.setSpeed(int(abs(rechts)))
 +    if (rechts>0):
 +        right.forward()
 +    elif (rechts<0):
 +        right.backward()
 +    else:
 +        right.stop()
 +</code>
 +
 +Idee 1: In einer Endlos-Schleife jeweils die Helligkeit ermitteln und je nach Helligkeit mit der Funktion ''steuern'' eher nach links oder rechts steuern.
 +
 +Idee 2: Abschätzen, wie der Wert etwas später aussehen könnte und bereits darauf reagieren. Das kann ein hin- und herwackeln vermindern.
 +
 +===== Aufräumen =====
 +  * Roboter ausschalten (Escape, Escape, dann bestätigen).
 +  * Roboter an seinen Platz auf den Laptop mit gleicher Nummer.
 +  * Roboter an die Stromversorgung anschliessen.
 +  * Laptop ausschalten (Menu oben rechts)
 +  * Sich melden, vor dem Roboter warten, bis ich Sie verabschiede.
  
  
  • lehrkraefte/blc/informatik/glf19/robofollow.txt
  • Last modified: 2020/06/15 12:45
  • by Ivo Blöchliger