Der Code stammt aus einer Sammlung von Beispielskripten auf der Github-Seite von Zachery Igielman [5]. Für eine einfache Linienführung ohne Überkreuzungen funktioniert er direkt; um den Pi2Go beispielsweise eine Acht fahren zu lassen, müsste man ihn noch etwas ausbauen.
Listing 1
#!/usr/bin/python
import sys, time
import pi2go
pi2go.init()
slowspeed = 20
fastspeed = 100
lastleft = 0
lastright = 0
# Let's get going
pi2go.forward(fastspeed)
# main loop
try:
while True:
left = pi2go.irLeftLine()
right = pi2go.irRightLine()
if left==0 and right==0:
pi2go.stop()
if left == 0 and lastleft == 1:
pi2go.turnForward(slowspeed,fastspeed)
pi2go.setAllLEDs(0, 4095, 4095)
elif right == 0 and lastright == 1:
pi2go.turnForward(fastspeed,slowspeed)
pi2go.setAllLEDs(4095, 0, 4095)
lastleft = left
lastright = right
time.sleep(0.01)
except KeyboardInterrupt:
pi2go.setAllLEDs(0, 0, 0)
pi2go.cleanup()
sys.exit()
Das Skript lädt die Pi2Go-Bibliothek (Zeile 4) und initialisiert sie (Zeile 6). Anschließend setzt es einige Variablen, die die Geschwindigkeit der Motoren bestimmen. Vor dem Eintritt in die Hauptschleife, die das Skript bis zum Auftreten eines Tastatur-Interrupts durchläuft, lässt der Befehl aus Zeile 15 den Pi2Go-Lite erst einmal mit voller Geschwindigkeit durchstarten.
Am Beginn der Schleife liest das Skript die Informationen der beiden für das Verfolgen der Linie zuständigen Sensoren aus (Zeile 20 und 21). Melden beide Sichtkontakt zur Linie, fährt der Robot einfach geradeaus. Kann keiner der beiden Sensoren die Linie finden, dann hält der Pi2Go-Lite sicherheitshalber an (Zeile 22 und 23). Befindet sich die Linie dagegen im Blickfeld eines der Sensoren, jedoch nicht in Sicht des anderen, dann dreht das Skript den Robot durch Bremsen des entsprechenden Rads in Richtung auf die Markierung (Zeilen 24 bis 29).
Fazit und Ausblick
Zu einem erschwinglichen Preis bietet der Pi2Go-Lite einen vollwertigen Einstieg in die Welt der Robotik. Die von der ausgezeichneten Pi2Go-Bibliothek gebotenen Möglichkeiten zur Programmierung in Python, die wir in diesem Artikel nur kurz anreißen konnten, erlauben, die Fähigkeiten des Kits voll auszuschöpfen. Mit optionalen Nachrüstsätzen lassen sich die Einsatzgebiete des Pi2Go-Lite fast nach Belieben erweitern, beispielsweise mit einem Roboterarm wie dem ebenfalls bei 4tronix erhältlichen MeArm (Abbildung 3).
Der Autor
Russell Barnes schreibt seit mehr als 15 Jahren über IT-Themen und betreibt die Webseite http://www.raspi.today. Zum Hardware-Zoo des Briten gehören, sehr zum Verdruss seiner Frau Rebecca, nicht weniger als vier Raspberry Pis und drei Arduinos.
Infos
- 4tronix: http://www.4tronix.co.uk
- Pi2Go: http://www.pi2go.co.uk
- Pi2Go-Lite-Bauanleitung: http://4tronix.co.uk/blog/?p=405
- Pi2Go-Python-Library: http://4tronix.co.uk/blog/?p=475
- Pi2Go-Skripts von Zachery Igielman: https://github.com/ZacharyIgielman/pi2go






