lehrkraefte:blc:informatik:glf22:robotik-mit-vscode:kantemessen

Kante mit Lichtsensor ausmessen

Sie werden festgestellt haben, dass sich der Helligkeitswert nicht in der Mitte von schwarz und weiss befindet, wenn sich der Sensor genau in der Mitte auf der Kante befindet (was auch damit erklärt werden könnte, dass der Messpunkt nicht in der Mitte vom sichtbaren, roten Lichtkegel liegt).

Darum möchten wir den Sensor beim Überfahren einer Kante ausmessen, um zu sehen, wie «linear» der Sensor misst.

  • Erstellen Sie ein neues EV3-Projekt mit Namen kantemessen (ja wirklich ein neues Projekt anlegen).
  • Kopieren Sie folgenden Code ans Ende der neuen main.py-Datei:
links = Motor(Port.A)
rechts = Motor(Port.B)
licht = ColorSensor(Port.S3)  # Bitte Anschluss überprüfen.
 
fahrwerk = DriveBase(links, rechts, 55, 125)
 
fahrwerk.drive(20,0)
while fahrwerk.distance()<30:
    hell = licht.reflection()
    print("%d;%d" % (fahrwerk.distance(), hell))
 
fahrwerk.stop()
fahrwerk.straight(-30)
  • Studieren Sie den Code. Was macht der genau?
  • Setzen Sie den Roboter senkrecht zu einer schwarz/weiss-Kante so, dass der Sensor vollständig auf schwarz oder weiss liegt. Wenn der Roboter ein bisschen vorwärts fährt, muss er die Kante überfahren.
  • Legen Sie (im gleichen Projekt) eine neue Datei mit Namen kante.csv an.
    • Kopieren Sie die Ausgabe, die Roboter produziert hat in die die Datei kante.csv und speichern Sie diese.
    • Öffnen Sie die Datei mit Excel und erstellen Sie ein x/y-Diagramm.
    • Ermitteln Sie so, wie «breit» der Messpunkt Helligkeitssensor in etwa ist.
    • Lesen Sie ebenfalls die Werte für komplett Schwarz und komplett Weiss ab.

Sie sollten eine Graphik erhalten, die folgender ähnlich sieht:

Fazit: Der Sensor scheint ziemlich «linear» zwischen Schwarz und Weiss zu messen. Offenbar ist der Messpunkt nicht in der Mitte des Lichtkegels (was auch durchaus Sinn macht, wenn man den Sensor genauer betrachtet).

  • lehrkraefte/blc/informatik/glf22/robotik-mit-vscode/kantemessen.txt
  • Last modified: 2023/03/02 09:53
  • by Ivo Blöchliger