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
lehrkraefte:blc:informatik:glf19:robofollow [2020/06/08 20:33]
Ivo Blöchliger [Challenge 2]
lehrkraefte:blc:informatik:glf19:robofollow [2020/06/15 12:45] (current)
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:
     * Datei -> Einstellungen -> Bibliotheken -> zuunterst die IP eintragen. Bestätigen.     * Datei -> Einstellungen -> Bibliotheken -> zuunterst die IP eintragen. Bestätigen.
   * Auf dem Roboter Enter drücken (mittlere Taste), **Run default**.   * Auf dem Roboter Enter drücken (mittlere Taste), **Run default**.
-  * Beispiel-Code kopieren, testen und studieren.+  * Beispiel-Code kopieren, **speichern**, testen und studieren.
  
 <code python> <code python>
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)
 +##################################
 +## Platz fuer eigene Funktionen ##
 +##################################
  
  
Line 39: Line 46:
 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()+
  
 +# Motoren stoppen, Geschwindigkeit auf Null
 +left.setSpeed(0)    
 +left.forward()       
 +right.setSpeed(0)   
 +right.forward()     
 +
 +robot.exit()         # Programm ordnungsgemäss beenden.
 </code> </code>
  
 ===== Challenge 1 ===== ===== Challenge 1 =====
 Der Roboter soll auf weissem Untergrund starten. Er soll so lange geradeaus fahren, bis der Helligkeitssensor auf auf dem Teppich ist. Bonuspunkte, wer den Roboter noch so manövrieren kann, dass der Lichtkegel des Helligkeitssensors am Schluss genau von der hell-dunkel Kante halbiert wird. Der Roboter soll auf weissem Untergrund starten. Er soll so lange geradeaus fahren, bis der Helligkeitssensor auf auf dem Teppich ist. Bonuspunkte, wer den Roboter noch so manövrieren kann, dass der Lichtkegel des Helligkeitssensors am Schluss genau von der hell-dunkel Kante halbiert wird.
 +
 +**Wichtig: Speichern Sie Ihr Programm regelmässig!**
  
 Pseudo-Code: Pseudo-Code:
Line 56: Line 71:
   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 68: Line 83:
 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. 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:+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> <code python>
 # Beispiele:  # Beispiele: 
Line 91: Line 106:
         right.stop()         right.stop()
 </code> </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.1591641233.txt.gz
  • Last modified: 2020/06/08 20:33
  • by Ivo Blöchliger