Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
lehrkraefte:blc:informatik:glf22:robotik-mit-svcode:lichtsensor [2023/02/10 10:23] Ivo Blöchliger [Genau auf der Linie anhalten] |
lehrkraefte:blc:informatik:glf22:robotik-mit-svcode:lichtsensor [2023/02/21 10:09] (current) Ivo Blöchliger |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Lichtsensor ====== | ====== Lichtsensor ====== | ||
Der Lichtsensor kann Helligkeit und/oder Farbe messen. Dazu wird die zu messende Fläche normalerweise schnell abwechselnd angestrahlt und wieder nicht, und das jeweils reflektierte Licht gemessen. Die Differenz entspricht dann der Helligkeit der gemessenen Fläche. | Der Lichtsensor kann Helligkeit und/oder Farbe messen. Dazu wird die zu messende Fläche normalerweise schnell abwechselnd angestrahlt und wieder nicht, und das jeweils reflektierte Licht gemessen. Die Differenz entspricht dann der Helligkeit der gemessenen Fläche. | ||
+ | |||
+ | Dokumentation dazu: https:// | ||
<WRAP todo> | <WRAP todo> | ||
Line 7: | Line 9: | ||
* Scrollen Sie nach unten und versichern Sie sich, dass der Modus '' | * Scrollen Sie nach unten und versichern Sie sich, dass der Modus '' | ||
* Wählen Sie dann '' | * Wählen Sie dann '' | ||
- | * Notieren Sie sich zu jeder der verschiedenen Flächen die typische | + | * Notieren Sie sich zu jeder der verschiedenen Flächen die typischen |
* Mit den gemessenen Wertebereich können später diese Bereich erkannt, bzw. sauber voneinander unterschieden werden. | * Mit den gemessenen Wertebereich können später diese Bereich erkannt, bzw. sauber voneinander unterschieden werden. | ||
</ | </ | ||
- | Kenn man nun die Werte, kann damit z.B. bis zu einer Linie gefahren werden: | + | Kennt man nun die Werte, kann damit z.B. bis zu einer Linie gefahren werden: |
<WRAP todo> | <WRAP todo> | ||
* Legen Sie ein neues EV3-Projekt an und fügen Sie folgenden Code hinzu: | * Legen Sie ein neues EV3-Projekt an und fügen Sie folgenden Code hinzu: | ||
<code python> | <code python> | ||
- | licht = ColorSensor(Port.S3) | + | licht = ColorSensor(Port.S3) |
links = Motor(Port.A) | links = Motor(Port.A) | ||
rechts = Motor(Port.B) | rechts = Motor(Port.B) | ||
fahrwerk = DriveBase(links, | fahrwerk = DriveBase(links, | ||
+ | |||
+ | stopuhr = StopWatch() | ||
fahrwerk.drive(150, | fahrwerk.drive(150, | ||
hell = licht.reflection() | hell = licht.reflection() | ||
- | while hell< | + | while hell< |
- | hell = licht.reflection() | + | hell = licht.reflection() |
- | print(hell) | + | print(hell) |
- | fahrwerk.stop() | + | fahrwerk.stop() |
+ | |||
+ | print(" | ||
+ | print(stopuhr.time()) | ||
</ | </ | ||
* Passen Sie nötigenfalls die Parameter fürs '' | * Passen Sie nötigenfalls die Parameter fürs '' | ||
Line 37: | Line 44: | ||
**Situation** | **Situation** | ||
- | Der Roboter startet mit dem Lichtsensor auf einer 1m Linie. Der Roboter soll mit dem Lichtsensor | + | Der Roboter startet mit dem Lichtsensor auf einer 1m Linie. |
+ | Der Roboter soll die gegenüberliegende Linie mit dem Sensor mindestens berühren, um 180 Grad wenden und dann | ||
+ | möglichst | ||
Das Score ist die Zeit in Sekunden plus $\frac{1}{10}$ vom Quadrat des Abstands in mm von der Mitte vom Klebestreifen. | Das Score ist die Zeit in Sekunden plus $\frac{1}{10}$ vom Quadrat des Abstands in mm von der Mitte vom Klebestreifen. | ||
Line 52: | Line 61: | ||
+ | <WRAP todo> | ||
+ | Schreiben Sie ein Programm, so dass der Roboter einer Linie folgen kann. Testen erst mit Geraden Linien, dann auch mit Kurven (Blache). | ||
+ | </ | ||