lehrkraefte:blc:informatik:glf20:robotik:helligkeitsensor

This is an old revision of the document!


Helligkeitssensor als Navigationshilfe

Initialisierung

Der Sensor wird wie folgt initialisiert (z.B. gleich nach Initialisierung den Motoren)

# Lichtsensor hinzufuegen und starten
ls = LightSensor(SensorPort.S3)      # Ueberpruefen, ob der Sensor auch wirklich an Port 3 angeschlossen ist!
robot.addPart(ls)
ls.activate(True)

Verwendung

hell = ls.getValue()  # Liefert Werte zwischen 0 (schwarz) und 1023 (komplett weiss)

Die gelieferten Werte können fluktuieren (je nach Distanz vom Sensor zum Boden, Umgebungslicht etc.). Sinnvolle Werte müssen erst gemessen werden, indem der Roboter auf verschiedenem Untergrund getestet wird. </WRAP info>

Kalibrierung

Mit folgendem (noch ungetestetem Programm) kö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.

kalibrierung.py
from ev3robot import *
 
######################
##  Initialisierung ##
######################
 
# Roboter initialisieren
robot = LegoRobot()
 
# Raeder hinzufuegen
gear = Gear()
robot.addPart(gear)
 
# Lichtsensor hinzufuegen und starten
ls = LightSensor(SensorPort.S3)      # Ueberpruefen, ob der Sensor auch wirklich an Port 3 angeschlossen ist!
robot.addPart(ls)
ls.activate(True)
 
###########################################
## B E G I N   D E S   P R O G R A M M S ##
###########################################
 
while not robot.isEscapeHit():
  l = "l=%d" % ls.getValue();
  print(l)
  robot.drawString(l, 0, 3)
  Tools.delay(100)
 
robot.exit()  # Programm ordnungsgemäss beenden.

</WRAP todo>

Programmieren Sie den Roboter so, dass er losfährt, bis der Sensor einen Klebestreifen auf dem Boden feststellt. Dort soll der Roboter stoppen und das Programm beenden mit robot.exit().

Benutzen Sie folgendes Programm-Skelett:

# Initialisierung fehlt hier!
 
gears.forward()
while True:  # Unendlich wiederholen
  # Lichtsensor auslesen
  # Darauf reagieren:
  if roboter_sieht_klebestreifen:
     break      # While-Schlaufe sofort beenden
 
gears.stop()
robot.exit()

Programmieren Sie den Roboter so, dass er losfährt, bis der Sensor einen Klebestreifen auf dem Boden feststellt. Dort soll der Roboter stoppen und das Programm beenden mit robot.exit().

  • lehrkraefte/blc/informatik/glf20/robotik/helligkeitsensor.1619594485.txt.gz
  • Last modified: 2021/04/28 09:21
  • by Ivo Blöchliger