Den Raspberry Pi mit Lego mobil machen

© Wunchai Intararit, 123RF

Spiel mit mir

Mit wenigen Handgriffen steuern Sie aktive Bauelemente der Lego Power Functions (PF) mit dem Raspberry Pi und basteln so ein via WLAN ferngesteuertes Fahrzeug, das Sie mit einem Xbox360-Gamepad bedienen.

README

In diesem Artikel erfahren Sie, wie Sie mit Lego, einem RasPi, einem Gamepad und Java ein über WLAN ferngesteuertes und leicht modifzierbares Fahrzeug konstruieren.

Um ein Lego-Fahrzeug fernzusteuern, bieten sich die entsprechenden Bauteile aus Lego Mindstorms [1] oder auch die Infrarotkomponenten (IR) aus der Power-Functions-Reihe (PF, [2]) an. Allerdings bleibt ein Lerneffekt dabei weitgehend auf der Strecke, und das Spielzeug wäre auch schnell langweilig. Für den wissbegierigen Bastler gibt es deswegen keine Alternative zum Eigenbau. Auch finanziell lohnt sich eine Eigenentwicklung gegenüber Lego Mindstorms allemal. Der RasPi als Hauptsteuerelement bietet Ihnen alle Freiheiten und Erweiterungsmöglichkeiten, die damit einhergehen, wohingegen die PF-IR-Komponenten Sie sehr stark einschränken.

Neben dem RasPi und den Bauelementen für ein Lego-Fahrzeug benötigen Sie die Motoren, die die Schnittstelle von Lego zur Steuerelektronik bilden. Motoren aus der Lego-PF-Reihe eignen sich sehr gut. Als native Elemente integrieren sie sich direkt und problemlos in ein vorhandenes Modell. Für den schnellen Einstieg bietet sich als Basis das Lego-Modell 42006 an, das Sie mit zwei PF-Motoren aufrüsten (Abbildung 1). Das Anbauen der Antriebe gestaltet sich bei diesem Modell sehr einfach, weitere Komponenten für Getriebe und Lenkung benötigen Sie nicht.

Abbildung 1: Als Basis dient das Lego-Modell 42006 mit zwei modifizierten Motoren aus der PF-XL-Reihe von Lego.

Wie Abbildung 1 zeigt, wurden bei den Motoren die originalen Lego-Anschlüsse ersetzt. Damit sich die Motoren an ein Steckbrett anschließen lassen, lötete der Autor die Enden von Jumperkabeln an. Die PF-Motoren besitzen vier Leitungen (Abbildung 2). Die rote und die blaue dienen zur Stromversorgung, die inneren mit den gelben Kabelenden zur Steuerung durch den PF-IR-Empfänger [3]. Für das Ansteuern mit dem RasPi benötigen Sie nur die äußeren Leitungen.

Abbildung 2: Um ihn an das Steckbrett anzuschließen, besitzt der PF-XL-Motor modifizierte Kabelenden.

Motortreiber

Die Enden der Jumperkabel besitzen eine männliche Bauform, da es in den meisten Fällen keine gute Idee ist, Motoren direkt an die GPIO-Pins des RasPi anzuschließen. Das liegt daran, dass diese nur eine sehr geringe Leistung liefern. Statt die Motoren direkt anzuschließen, nehmen Sie also besser einen Umweg über einen sogenannten Motortreiberchip. Diesen gibt es in verschiedenen Modellen, die sich aber in der Praxis wenig voneinander unterscheiden. Manche davon kommen auf einer eigenen Platine mitsamt Anschlüssen – in diesem Fall benötigen Sie kein zusätzliches Steckbrett. Den Motortreiberchip L293E bekommen Sie für wenige Euro beispielsweise bei Ebay. Abbildung 3 zeigt zwei teils schon verkabelte L293E-Chips auf einem Steckbrett.

Abbildung 3: Auf dem Steckbrett angebrachte L293E-Chips sorgen in einer späteren Ausbaustufe für das korrekte Ansteuern der Motoren.

Ein L293E steuert bis zu zwei Motoren an. Die gilt es gemäß der Chip-Spezifikation anzuschließen (Abbildung 4). In diesem Fall bedeutet das: Sie stecken die äußeren Kabel des ersten Motors an Output 1 und Output 2 an, die des zweiten Motors an Output 3 und Output 4.

Abbildung 4: Die Pin-Belegung des Motortreiberchips L293E.

Zur Orientierung besitzt der L293E eine Aussparung an der Oberseite. Die Input-Pins des Chips schließen Sie an geeignete GPIO-Pins des RasPi an (Abbildung 5), etwa in der Kombination Input-Pins 1 und 2 an die GPIO-Pins 11 und 12 sowie Input-Pins 3 und 4 an die GPIO-Pins 15 und 16 [4].

Abbildung 5: Das GPIO-Pin-Layout des Raspberry Pi.

Um zu verhindern, dass eine falsch angelegte Spannung den RasPi beschädigt, schalten Sie optional Dioden direkt hinter die GPIO-Pins. Diese bewirken, dass der Strom von diesen nur in Richtung Chip fließt und nicht entgegengesetzt. An den L293E schließen Sie außerdem den Strom für die Motoren an (Vs-Pin) und die Spannungsversorgung für den Chip selbst (Vss).

Die PF-Motoren besitzen eine Spannungsaufnahme von 9 Volt, lassen sich in der Regel aber auch problemlos mit 12 Volt betreiben (womit sie sogar mehr Leistung liefern). Eine Batterie-Box mit zehn 1,2-Volt-AA-Akkus (Abbildung 6) für die Motorversorgung liefert bei voller Ladung bis zu 12 Volt. Die Spannungsversorgung für den Motortreiberchip kommt vom 5-Volt-Pin des RasPi.

Neben dem Pin für die Versorgung des Chips müssen Sie auch noch die beiden Enable-Pins Chip**Enable**1 und Chip**Enable**2 mit 5 Volt beaufschlagen. Diese beiden Pins aktivieren und deaktivieren den dazugehörigen Output und dienen optional über ein PWM-Signal zur Geschwindigkeitsregelung. Zu guter Letzt verbinden Sie den GND- sowie die Sense-Pins mit dem 0-Volt-Pin des RasPi und dem entsprechenden Anschluss der Motorversorgung.

Abbildung 6: Eine Batterie-Box mit zehn 1,2-Volt-AA-Akkus sorgt für den Vortrieb der Konstruktion.

Nach dem Fertigstellen der Anschlüsse sollte die Belegung so aussehen wie in Abbildung 7 dargestellt. Nun gilt es, die Baugruppe an ein Chassis anzubringen, am besten unter Zuhilfenahme der oben genannten Lego-Kits. Zusätzlich fügen Sie noch die 5-Volt-Versorgung für den RasPi hinzu. Der EasyAcc PB12000A ist einer der 5-Volt-USB-Akkus, die sich in der Liste der bereits für den Mini-Rechner getesteten Geräte wiederfinden [5].

Abbildung 7: Nach diesem Schema schließen Sie den RasPi an den L293E-Steuerchip und die Stromversorgung an.

RasPi-Konfiguration

Auf der SD-Karte für den RasPi installieren Sie Raspbian. Ein Grundlagenartikel über die Inbetriebnahme des RasPis finden Sie in Ausgabe 02/2014 [6]. In diesem Projekt kam ein RasPi Modell B Rev.2 mit Raspbian Version 3.6.11+ zum Einsatz.

Um ins WLAN zu gelangen, benötigen Sie zusätzlich einen USB-WLAN-Adapter. Ein WL-167G V3 von Asus funktioniert mit dem RasPi problemlos [7], sodass Sie nur noch die Verbindung konfigurieren müssen. Hierzu öffnen Sie die Konfigurationsdatei /etc/network/interfaces und ergänzen diese um einen weiteren Eintrag. Falls die Datei noch nicht existiert, erstellen Sie diese zunächst. Eine Beispielkonfiguration, bei dem das System den WLAN-Adapter als Gerät wlan0 erkennt, zeigt Listing 1.

Listing 1

 

[...]
auto wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa.conf

Die letzte Zeile der Beispielkonfiguration referenziert die Datei /etc/wpa.conf, die Sie ebenfalls erstellen und editieren müssen. Sie enthält die für die WLAN-Verbindung wichtigen Informationen (Listing 2).

Listing 2

 

network={
  ssid="Netzwerkname"
  proto=RSN
  key_mgmt=WPA-PSK
  pairwise=CCMP TKIP
  group=CCMP TKIP
  psk="Netzwerkschlüssel"
}

Im Beispiel kommt DHCP zum Beziehen einer dynamischen IP-Adresse und WPA2 für die Verschlüsselung zum Einsatz. Für beide Konfigurationsdateien gilt, dass Sie sie auf die entsprechende Konfiguration Ihres RasPi anpassen müssen.

Außerdem benötigen Sie auf dem RasPi ein Java Runtime Environment (JRE). Das OpenJDK-JRE richten Sie bei vorhandener Internetverbindung auf Debian-basierten Distributionen mit folgendem Befehl ein:

$ sudo apt-get install openjdk-7-jre

Unter Raspbian ist allerdings bereits das unfreie Oracle-Java vorinstalliert. Welche der beiden Umgebungen Sie verwenden, macht prinzipiell keinen Unterschied, solange diese alle Funktionen der Anwendung unterstützt.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 6 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Raspberry Pi Geek kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Spielkonsolen-Klassiker auf dem Raspberry Pi emulieren

    Über Emulatoren lassen sich auf dem Raspberry Pi auch ohne Konfigurationsorgie klassische Konsolenspiele direkt nutzen. Für das volle Retro-Feeling schließen Sie dabei den Original-Controller der alten Nintendo-Konsole an die GPIO-Pins des RasPi an.

  • Editorial 01/2014

    Editorial

  • Erweiterungen für den Raspberry Pi

    Findige Tüftler spendieren dem Raspberry Pi nützliche bis kuriose Hardware-Erweiterungen. Der Artikel liefert eine Übersicht der wichtigsten Zusatzplatinen und gibt Einblick in die vielfältigen Einsatzmöglichkeiten des ARM-Winzlings.

  • Workshop: RISC OS auf dem RasPi (Teil 2)

    Wer seine ersten Gehversuche unter RISC OS startet, der merkt schnell, dass hier so gut wie alles anders läuft als bei anderen Betriebssystemen. Das gilt nicht zuletzt auch für die etwas exzentrisch anmutende Datei- und Programmverwaltung.

  • Workshop: RISC OS auf dem RasPi (Teil 1)

    Die Geschichte von RISC OS war von Anfang an eng mit jener der ARM-Prozessoren verbunden. So verwundert es nicht, dass sich das schlanke Betriebssystem auch auf dem Raspberry Pi durch geringen Ressourcenverbrauch und hohe Leistung auszeichnet.

Aktuelle Ausgabe

02/2019
Neue Energien

Diese Ausgabe als PDF kaufen

Preis € 9,99
(inkl. 19% MwSt.)

Stellenmarkt

Neuigkeiten

  • Scheibchenweise

    Zu den Stärken von Sonic Pi gehört es, mit wenigen Zeilen Code Samples dynamisch auszuwählen und zu zerlegen.

  • Unter Strom

    Für einen kleinen Spannungsmesser wie den INA3221 gibt es viele Einsatzmöglichkeiten. Wir zeigen, wie Sie den flexiblen Baustein richtig verdrahten.

  • Vermittlungsstelle

    Fischertechnik-Modelle bieten sich zum Fernsteuern an. Mit dem Ftduino schlagen Sie die Brücke zwischen dem RasPi und dem Technik-Spielzeug.

  • Durchgeschlängelt

    Mit den M0-Boards steigen Sie unkompliziert in die Welt der Mikrocontroller ein – ganz ohne C-Kenntnisse.

  • Gesiebt und gefiltert

    Filter und Werbeblocker einzurichten ist besonders auf Smartphones aufwendig. Den eBlocker hingegen schließen Sie einfach nur an Ihren Router an.

  • Es werde Licht

    Wollen Sie bei beginnender Dämmerung nicht ständig die Helligkeit der heimischen Beleuchtung nachregeln, überlassen Sie das einfach einem RasPi – der macht es automatisch.

  • Energiekontrolle

    Der Gesetzgeber erschwert das Direktvermarkten von Strom durch technische Hürden: So muss sich die Einspeisung etwa aus der Ferne abschalten lassen. Der RasPi löst das Problem.

  • H<->2<->-Power

    Gilt es, Energie aus einer regenerativen Quelle zu speichern, erweist sich die Kombi aus einer Brennstoffzelle und dem RasPi als ideale Lösung.

  • Kleine Wolke

    Lokale Cloud-Lösungen im Heimnetz finden immer mehr Nutzer. Mit dem RasPi und Seafile haben Sie eine Lösung zur Hand, die selbst professionellen Ansprüchen genügt.

  • Planvoll verdrahtet

    Die Leiterplattendesign-Software KiCad leistet trotz einer etwas umständlichen Bedienung auch Hobbybastlern gute Dienste.