Aus Raspberry Pi Geek 02/2015

Robotik-Kit Pi2Go (Seite 3)

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). 

Abbildung 3: Der Pi2Go-Lite lässt sich fast beliebig ausbauen, wie beispielsweise mit dem Roboterarm MeArm.

Abbildung 3: Der Pi2Go-Lite lässt sich fast beliebig ausbauen, wie beispielsweise mit dem Roboterarm MeArm.

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

  1. 4tronix: http://www.4tronix.co.uk
  2. Pi2Go: http://www.pi2go.co.uk
  3. Pi2Go-Lite-Bauanleitung: http://4tronix.co.uk/blog/?p=405
  4. Pi2Go-Python-Library: http://4tronix.co.uk/blog/?p=475
  5. Pi2Go-Skripts von Zachery Igielman: https://github.com/ZacharyIgielman/pi2go
DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben