Aus Raspberry Pi Geek 06/2014

Interaktiver Adventskalender (Seite 2)

Den Trim-Anschluss des Reglers legen Sie über einen veränderbaren Widerstand, dessen Wert die Höhe der Ausgangsspannung vorgibt, an Masse. Im Testaufbau kam eine Kombination aus einem festen 500-Ohm-Widerstand und einem 10-Gang-Poti zum Einsatz, mit dem sich die 5 Volt recht leicht einstellen lassen. Durch geschicktes Auflöten einer Pfostenleiste findet der Wandler problemlos auf einer Lochrasterplatine Platz (Abbildung 4).

Abbildung 4: Die Spannungswandlermodule verlöten Sie ohne größere Schwierigkeiten auf der Lochrasterplatine.

Abbildung 4: Die Spannungswandlermodule verlöten Sie ohne größere Schwierigkeiten auf der Lochrasterplatine.

Ein zusätzlicher Kondensator im Schaltplan federt mögliche Stromspitzen ab, die die Motoren unter Umständen erzeugen.

Raspberry vorbereiten

Als Betriebssystem für den Pi kommt das aktuelle Raspbian [2] zum Einsatz. Nach dem Entpacken des heruntergeladenen Images spielen Sie es mit folgendem Befehl auf die SD-Karte:

$ sudo dd if=2014-06-20-wheezy-raspbian.img of=/dev/sdd

Beim ersten Hochfahren expandieren Sie im Konfigurationswerkzeug Raspi-config zunächst das Filesystem, ändern das Passwort für den User pi und stellen die regionalen Settings auf Deutschland ein. Falls Sie mehrere RasPis im Netz betreiben, ändern Sie in den erweiterten Optionen den Hostnamen.

Ein Neustart übernimmt die Änderungen, die IP-Adresse des RasPi steht am Ende der Bootinformationen. Mit dem Kommando ssh pi@RasPi-IP melden Sie sich auf der Konsole an und bringen via Apt-get (Listing 1, Zeile 1 und 2) das Betriebssystem auf den aktuellen Stand. Um die GPIO-Schnittstelle komfortabel anzusteuern, laden Sie zudem via Git die WiringPi-Library herunter und richten diese ein (Zeilen 3 bis 5).

Listing 1

 

$ sudo apt-get update
$ sudo apt-get upgrade
$ git clone git://git.drogon.net/wiringPi
$ cd wiringPi
$ ./build

Danach testen Sie mittels des Kommandos gpio readall, ob Letzteres fehlerfrei geklappt hat (Listing 2). Falls ja, zeigt die Software das Pinout der GPIO-Schnittstelle an, was die weiteren Arbeiten deutlich erleichtert.

Listing 2

 

$ gpio readall
 +-----+-----+---------+------+---+-Model B2-+---+------+---------+-----+-----+
 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 |     |     |    3.3v |      |   |  1 || 2  |   |      | 5v      |     |     |
 |   2 |   8 |   SDA.1 |   IN | 1 |  3 || 4  |   |      | 5V      |     |     |
 |   3 |   9 |   SCL.1 |   IN | 1 |  5 || 6  |   |      | 0v      |     |     |
 |   4 |   7 | GPIO. 7 |   IN | 1 |  7 || 8  | 1 | ALT0 | TxD     | 15  | 14  |
 |     |     |      0v |      |   |  9 || 10 | 1 | ALT0 | RxD     | 16  | 15  |
 |  17 |   0 | GPIO. 0 |   IN | 1 | 11 || 12 | 1 | IN   | GPIO. 1 | 1   | 18  |
 |  27 |   2 | GPIO. 2 |   IN | 1 | 13 || 14 |   |      | 0v      |     |     |
 |  22 |   3 | GPIO. 3 |   IN | 0 | 15 || 16 | 0 | IN   | GPIO. 4 | 4   | 23  |
 |     |     |    3.3v |      |   | 17 || 18 | 0 | IN   | GPIO. 5 | 5   | 24  |
 |  10 |  12 |    MOSI |   IN | 0 | 19 || 20 |   |      | 0v      |     |     |
 |   9 |  13 |    MISO |   IN | 0 | 21 || 22 | 0 | IN   | GPIO. 6 | 6   | 25  |
 |  11 |  14 |    SCLK |   IN | 0 | 23 || 24 | 0 | IN   | CE0     | 10  | 8   |
 |     |     |      0v |      |   | 25 || 26 | 0 | IN   | CE1     | 11  | 7   |
 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 |  28 |  17 | GPIO.17 |   IN | 0 | 51 || 52 | 0 | IN   | GPIO.18 | 18  | 29  |
 |  30 |  19 | GPIO.19 |   IN | 0 | 53 || 54 | 0 | IN   | GPIO.20 | 20  | 31  |
 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +-----+-----+---------+------+---+-Model B2-+---+------+---------+-----+-----+

Musik

Zum Abspielen der Musik dient das Kommandozeilen-Tool ogg123, das zum Paket vorbis-tools gehört. Dieses installieren Sie mit folgendem Kommando:

$ sudo apt-get install vorbis-tools

Da der Player ausschließlich Audiodateien im OGG-Format abspielt, müssen Sie die für den Kalender vorgesehenen Musikstücke zuvor entsprechend konvertieren. Legen Sie sie danach in einem Unterordner ab, etwa in kalender/musik/. Damit der Player beim Abspielen später die korrekte Reihenfolge einhält, nummerieren Sie die Titel mit dem vorgesehenen Datum von 1 bis 24 durch.

Die Lautsprecher schließen Sie am Klinkenstecker des Raspberry an. Im Projekt kamen dazu preiswerte Standard-Aktivboxen zum Einsatz. Sollte sich der RasPi weigern, die Stücke abzuspielen, weisen Sie ihm mittels des Befehls amixer cset numid=3 den Klinkenstecker als Audioausgang zu.

Licht an!

Rund um die Öffnung für Ausgabe der täglichen Überraschung erhellen 32 blaue LEDs als Lauflicht das Szenario. Diese Anzahl übersteigt deutlich jene der I/O-Ports am RasPi – es gilt also zu improvisieren. Der I2C-Bus (siehe Kasten “I2C-Bus”) ermöglicht es, über eine serielle Verbindung zusätzliche I/O-Bausteine anzuschließen. Passend dazu bringen die WiringPi-Tools die erforderlichen Treiber mit.

I2C-Bus

Der serielle Datenbus eignet sich für die Kommunikation über kürze Distanzen, also auf Platinen oder in Geräten. Die Datenübertragung erfolgt synchron über zwei Leitungen: die Datenleitung SDA und die Taktleitung SCL. Beide ziehen Pullup-Widerstände auf ein positives Potenzial. Grundsätzlich initiiert der Busmaster die Kommunikation.

Der I2C-Bus verfügt über einen 7-Bit-Adressbereich, kann also 128 Teilnehmer bedienen (abzüglich 16 bereits reservierter Adressen). Üblicherweise stehen nur die unteren 3 Bits der Adressen am Client zur Wahl, die oberen Bits sind fest verdrahtet. Die möglichen Adressen für einen Baustein entnehmen Sie dessen Datenblatt.

Der Bus überträgt die Daten byteweise. Die Übertragungsgeschwindigkeit beträgt zwischen 100 Kbit/s bidirektional (Standard Mode) und 5 Mbit/s unidirektional (Ultra Fast Mode). Die Möglichkeiten, die Reichweite des I2C-Busses zu erhöhen, reichen vom Verringern der Pullup-Widerstände bis zum Tunneln durch CAN-Bus-Treiber.

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