Mein drittes Programm
Der offizielle compAIR-Bot ist mit einer Reihe von Sensoren ausgestattet. Die wichtigsten sind die Infrarotsensoren und -sender, die an der Vorderseite des Roboters angebracht sind. Insgesamt gibt es fünf IR-Sensoren.
Um loszulegen, muss man zunächst das entsprechende Modul wie folgt importieren:
1from compLib.IRSensor import IRSensor
Wie im obigen Diagramm zu sehen ist, verfügt jeder Sensor auch über einen entsprechenden IR-Sender / Emitter. Dieser Sender kann mit IRSensor.set(port, enable)
aktiviert werden.
Schalten wir nun alle fünf Sender ein:
1from compLib.IRSensor import IRSensor
2
3IRSensor.enable()
Diese fünf verschiedenen Sensoren befinden sich an der Vorderseite des Roboters und sind wichtig, um schwarze Linien zu erkennen.
Es ist sehr einfach, den Wert der Sensoren abzulesen:
1from compLib.IRSensor import IRSensor
2
3IRSensor.enable()
4
5if IRSensor.read_all()[0] > 500:
6 print("high")
7else:
8 print("low")
Erkennen einer schwarzen Linie Um den IR-Sensor zu testen, kannst du deinen Roboter auf eine schwarze Linie stellen. Der Sensor in der Mitte sollte auf der schwarzen Linie liegen.
1from compLib.IRSensor import IRSensor
2
3IRSensor.enable()
4COLOR_BREAK = 900
5
6if IRSensor.read_all()[2] > COLOR_BREAK:
7 print("Robot is standing on a black line")
8else:
9print("Robot is NOT standing on a black line")
Wenn das Programm ausgeführt wird, zeigt es an, dass der Roboter auf einer schwarzen Linie steht, wenn sich der mittlere IR-Sensor des Roboters über einer schwarzen Linie befindet, und es zeigt an, dass der Roboter NICHT auf einer schwarzen Linie steht, wenn sich der mittlere IR-Sensor nicht über einer Linie befindet.
Zeile 1
importieren wir das IRSensor
-Modul, das zur Kommunikation mit dem IR-Sensor-Board verwendet werden kann.Zeile 3
wird der Sensor mit der Nummer 3
aktiviert. Wenn wir einen Sensor nicht aktivieren, können wir ihn nicht in unserem Programm verwenden.Zeile 4
stellen wir einen Farbschwellenwert von 900
ein, mit dem wir später prüfen werden, ob der Sensorwert unter oder über diesem Schwellenwert liegt. Unterhalb bedeutet, dass sich eine helle Farbe unter dem IR-Sensor befindet und ein höherer Wert als 900
bedeutet, dass sich eine dunkle Farbe unter dem IR-Sensor befindet.Zeile 6
lesen wir den Sensor Nummer 2
aus und prüfen, ob der Wert über dem von uns definierten Schwellenwert von 900
liegt. Wenn das der Fall ist, hat der IR-Sensor eine schwarze Linie erkannt.Wir werden nun das Programm so ändern, dass es alle 0.1
Sekunden prüft, ob sich eine schwarze Linie unter dem Roboter befindet, und wenn dies der Fall ist, eine Meldung ausgibt.