Datasheet

73
IO_EXPANDER_READ.PY
Hier werden alle Sensorinformationen durch den IOExpander per I2C ausgelesen. Das Auslesen übernimmt dabei die
Funktion fetchSensorData(). Es werden hierbei keine Übergabeparameter benötigt. Der Rückgabewert ist ein Dictionary
welches die folgenden Informationen enthält:
0: Speed-Sensor Links
1: Speed-Sensor Rechts
2: LineTracking-Sensor Links
3: LineTracking-Sensor Mitte
4: LineTracking-Sensor Rechts
5: Hindernis-Sensor Links
6: Hindernis-Sensor Rechts
7: Optionaler Sensor
Die einzelnen Parameter geben den Sensorstatus als boolsche Variable an. True steht hierbei für eine HIGH-Erkennung und
False für eine LOW-Erkennung.
ZUSATZINFORMATION: Die Funktion zll(s, width) wird in dieser Datei verwendet. Sie ist eigentlich Bestandteil von
Python, wurde bei der Portierung auf den micro:bit jedoch aus Speichergründen ausgelassen. Die Funktion ist jedoch für
das Auslesen der Sensordaten relevant und wurde von uns daher hinzugefügt. Bei der Erstellung von eigenen Dateien, die
das Auslesen der Sensordaten aufgreifen, ist diese Funktion notwendig und sollte daher ebenfalls übernommen werden.
IO_EXPANDER_CONTROL.PY
Ein am Ausgang 7 des IOExpanders angeschlossenes Gerät kann zusätzlich durch den IOExpander gesteuert bzw. auf HIGH/
LOW gesetzt werden. Dies wird in diesem Beispiel durch die Funktionen out7o() bzw. out7on() demonstriert.
MOTOR_CONTROL.PY
Die Motoren können über den PWM-Controller gesteuert werden. Die drive(PWM0, PWM1, PWM2, PWM3) Funktion nimmt
dabei vier Werte entgegen, die jeweils zwischen 0 und 255 liegen. Hierüber wird die Motorgeschwindigkeit deniert. PWM0
und PWM1 denieren dabei den linken Motor und steuern die Vorwärts- und Rückwärtsbewegung. PWM2 und PWM3
denieren dementsprechend den rechten Motor.
Die zusätzliche Funktion stop() setzt alle Motorbewegungen auf 0 und führt damit ein Bremsmanöver durch.