lehrkraefte:blc:informatik:glf20:robotik:helligkeitsensor

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:glf20:robotik:helligkeitsensor [2021/05/03 20:43]
Ivo Blöchliger
lehrkraefte:blc:informatik:glf20:robotik:helligkeitsensor [2021/05/10 09:13] (current)
Ivo Blöchliger [Fahren bis zum nächsten Klebeband]
Line 13: Line 13:
 <WRAP info> <WRAP info>
 <code python> <code python>
-hell = ls.getValue()  # Liefert Werte zwischen 0 (schwarz) und 1023 (komplett weiss)+hell = ls.getValue()  # Liefert Werte zwischen 0 (schwarz) und 1245(?(komplett weiss)
 </code> </code>
 Die gelieferten Werte können fluktuieren (je nach Distanz vom Sensor zum Boden, Umgebungslicht etc.). Die gelieferten Werte können fluktuieren (je nach Distanz vom Sensor zum Boden, Umgebungslicht etc.).
Line 20: Line 20:
 === Kalibrierung === === Kalibrierung ===
 <WRAP todo> <WRAP todo>
-Mit folgendem (noch ungetestetem Programmkönnen die Sensorwerte in Echtzeit angezeigt und getestet werden. Drücken Sie die Escape-Taste (oben rechts) auf dem Roboter, um das Programm wieder zu beenden.+Mit folgendem Programm können die Sensorwerte in Echtzeit angezeigt und getestet werden. Schliessen Sie auf dem Laptop das kleine Verbindungsfenster, um das Programm zu beenden.
 <code python kalibrierung.py> <code python kalibrierung.py>
 from ev3robot import * from ev3robot import *
Line 44: Line 44:
 ########################################### ###########################################
  
-while not robot.isEscapeHit()+while True
-  l = "l=%d"ls.getValue(); +  l = ls.getValue()  # Helligkeit messen 
-  print(l) +  print(l)           # Ausgeben auf dem Laptop 
-  robot.drawString(l, 0, 3) +  robot.drawString(str(l), 0, 3)  # Ausgeben auf dem Roboter-Display 
-  Tools.delay(100)+  Tools.delay(100)   # 0.1 Sekunden warten
  
-robot.exit()  # Programm ordnungsgemäss beenden.+robot.exit()  # Programm ordnungsgemäss beenden.
  
 </code> </code>
Line 64: Line 64:
 # Initialisierung fehlt hier! # Initialisierung fehlt hier!
  
-gears.forward()+gear.forward()
 while True:  # Unendlich wiederholen while True:  # Unendlich wiederholen
-  # Lichtsensor auslesen +  # Lichtsensor auslesen, Wert in eine Variable speichern  
-  # Darauf reagieren:+  # Darauf reagieren (Eine Bedingung mit der Helligkeits-Variablen formulieren)
   if roboter_sieht_klebestreifen:   if roboter_sieht_klebestreifen:
      break      # While-Schlaufe sofort beenden      break      # While-Schlaufe sofort beenden
            
-gears.stop()+gear.stop()
 robot.exit() robot.exit()
 </code> </code>
Line 94: Line 94:
 # Im Code # Im Code
 winkel = randrange(40,171)  # Zufälliger, ganzzahliger Winkel zwischen 40 und 170 (obere Grenze exklusive) winkel = randrange(40,171)  # Zufälliger, ganzzahliger Winkel zwischen 40 und 170 (obere Grenze exklusive)
 +# Winkel in Zeit oder Strecke umrechnen, um effektiv um diesen Winkel zu drehen.
 </code> </code>
 </WRAP> </WRAP>
  
 ==== Der Linie folgen ==== ==== Der Linie folgen ====
-Die Idee ist, dem Rand einer Linie zu folgen und den Sensor zu platzieren, dass dieser grau sieht. Zu hell heisst, zu viel rechts, zu dunkel heisst zu viel links (oder umgekehrt).+Die Idee ist, dem Rand einer Linie zu folgen und den Sensor zu platzieren, dass dieser grau sieht. Das passiert, wenn der Sensor genau auf der Grenze zwischen Weiss und Schwarz misst.  
 +Zu hell heisst, zu viel rechts, zu dunkel heisst zu viel links (oder umgekehrt).
  
 Arbeiten Sie mit ''gear.leftArc(radius_in_cm)'' und ''gear.rightArc(radius_in_cm)'' in einer while Schlaufe. Arbeiten Sie mit ''gear.leftArc(radius_in_cm)'' und ''gear.rightArc(radius_in_cm)'' in einer while Schlaufe.
  
  
  • lehrkraefte/blc/informatik/glf20/robotik/helligkeitsensor.1620067425.txt.gz
  • Last modified: 2021/05/03 20:43
  • by Ivo Blöchliger