Raspberry IOBoard

Es gibt eine ganze Menge von IO-Boards, mit denen sich der RasPi einfach erweitern lässt. Die vielen Boards haben alle die Aufgabe andere Schnittstellen anzubinden oder auch ganz einfach Funktionen abzubilden. Aber ein richtiger Bastler macht das natürlich selbst. Entsprechend habe ich mich hingesetzt und meinen RasPi mit einer Lochrasterplatte, ein paar LEDs, Tastern und einen Temperatursensor selbst erweitert. Es ist primär ein Lernprojekt und muss weniger schön oder funktional sein. Weiter unten haben ich eine Auflistung einiger interessanter kommerzieller fertiger Boards oder Bausätze aufgelistet. Vielleicht ist etwas passendes für Sie dabei.

Der Weg zum P1-Anschluss

Es ist mir viel zu gefährlich den RasPi unverpackt auf dem Tisch liegen zu lassen. Ein Stückchen Metall oder Kabelrest auf dem Tisch und der Kurzschluss richtet Schaden an. Daher musste auch mein RasPi in eine Box, die es für kleines Geld (4,90€) zu kaufen bekommt. Alle öffnungen für die Schnittstellen sind schon vorhanden, nur P1 ist verdeckt. Wir kommt man an den Port ran ?

  • Huckepackplatine im Gehäuse
    Sie können eine sehr kleine Platine kopfüber auf den Pi stecken. Das Gehäuse hat gerade genug Platz, für den Pfostenstecker mit einer Platine. Die Bestückung erfolgt dann auf der "unterseite" und darf nicht hoch auftragen. Wer LEDs oder Taster nutzen will, kann diese oben auflöten aber muss dann weitere Löcher in das Gehäuse schrauben.
    Ich denke der Weg ist interessant für kleine Konverter, deren Anschlüsse man dann per Kabel durch eine öffnung heraus führt.

Hier ein Beispiel einer unbestückten Platine (nicht ganz in den Pfostenstecker eingedrückt.

Bei geschlossenem Gehäuse sieht man die Platine noch durchschimmern. Die Lötseite ist oben. Die Bestückungsseite liegt "kopfüber" über dem RasPi, darf also auch nicht sehr "dick" sein. Aber für ein paar Widerstände und ICs reicht es schon, die man dann über ein kleines Loch rausführen kann.

  • Flachbandkabel
    Natürlich können Sie einfach einen Schlitz in die Seite fräsen und die 26pol Flachbandleitung herausführen und dann an ein größeres Board anschließen. Das ist insbesondere für den Einsatz von Steckbrettern interessant. Wer nicht den kommerziellen Adapter kaufen will, kann einfach zwei Postenreihen gegeneinander verlöten:

Ein passendes Flachbandkabel (26pol) mit zwei Steckern stellt dann die Verbindung vom Steckbrett zum RasPi her. Ansonsten können Sie z.B. bei Conrad ein "Cobbler/Verbindungskit" bestellen (http://www.conrad.de/ce/de/product/409205/  18€). Oder bei Amazon "Pi T-Cobbler Breakout Kit für Raspberry Pi" 12€ (http://www.amazon.de/dp/B00CH3Q5IO)

  • Port-Verlängerung

Ich habe mich für einen dritten Weg entschieden. Im Gehäuse waren schon Ausbruchmarkierungen vorhanden, so dass ich über dem P1-Anschluss die passende öffnung aussägen konnte. Dann habe ich einfach einen Pfostenstecker mit Pfostenleiste als "Verlängerung" aufeinander gelötet und so den P1-Adapter "raus gelegt". nun kann ich außerhalb des Gehäuse einfach die gewünschten Platinen aufstecken ohne mir allzu viel Gedanken über Abwärme oder Bauhöhen im Gehäuse machen zu müssen.

 

So verlängert schaut der P1-Anschluss etwas aus dem RasPi-Gehäuse heraus und erlaubt mit weitere Boards einfach aufzustecken.

Und mit einem anderen Gehäuse gibt es sicher noch viele andere Möglichkeiten.

Das kleine IO-Board

Ich habe erst mal klein angefangen und mir gedacht, dass ich drei wesentlichen Funktionen einmal umsetzen möchte:

  • LED Ansteuerung (16,18,22)
    Der RasPi kann ein paar mA über die GPIO-Pins direkt treiben. Ich habe mich für "rote LowCurrent LEDs" entschieden, die mit 2mA auskommen und über einen 1kOhm Widerstand direkt gegen Masse angeschlossen wurden
  • Tast-Eingänge (11 und 13)
    Zwei Taster erlauben mir die Steuerung von zwei Eingängen. Einer schaltet dabei gegen 3,3V und der andere gegen Masse. So ist ein Anschluss per Default auf "0" und der andere auf 1 und wenn ich mag kann ich einfache andere Eingänge einfach parallel zum Taster anschliesßen. Der RasPi wird mit einem 1KOhm gegen zu viel Strom geschützt und das Potential sichert ein 10KOhm-Widerstand
  • 1-Wire Temperaturmessung (4)
    Der RasPi erlaubt über GPIO4 und das passende Kernel-Modul von Hause aus schon eine 1-Wire Messung. Nicht leichter als einen DS18S20 schnell an die Pins zu verdrahten und eine Pfostenleiste vorzusehen, um damit erste Gehversuche zu machen, z.B. die Daten per HTTP oder SNMP abzufragen.

Das Modul sollte klein und mit minimalen Bauteilaufwand auskommen und primär Basis für erste Programmierversuche sein. Entsprechend habe ich das Board "fliegend" aufgebaut.

Ich muss leider sagen, dass der verwendete Silberdraht und die Widerstände schon ein paar Jahre alt waren und einige Lötstellen daher etwas mehr Flussmittel gebraucht haben, der ein oder andere Schaltungsfehler eine Korrektur benötigt hat und ich etwas außer Übung war. Aber alle Funktionen sind vorhanden und der RasPi lebt auch noch.

Die Nase am äußeren Rand rührt daher, da das Board ursprünglich in das RasPi Gehäuse eingebaut werden sollte und innen ein Steg diesen Platz benötigt. Ich wollte dann aber doch nicht in das RasPi-Gehäuse große Löcher für die Taster fräsen. Es ist ja "nur" ein experimentelles Board. Ach ja, der Schaltplan: Einfach mal schnell skizziert.

Eigentlich nicht sonderlich spektakulär und auch wirklich nur eine erste Experimentierbasis, der sicher noch der ein oder andere Nachfolger erleben wird.

Andere IO-Boards

Wenn sie nicht alles selbst machen wollten, gibt es natürlich auch von anderen Herstellern schon fertige Boards, die oftmals ähnlich viel wie der ganze RasPi kosten. Relais sind oftmals teurer als hochintegrierte Chips und die Entwicklung und der Vertrieb hat seinen Anteil.

Auf der Seite http://elinux.org/RPi_Expansion_Boards werden ganz viele IO-Boards für den 26pol GPIO-Sockel aufgelistet.  Hier eine Auswahl:

BerryClip

Für Einsteiger finde ich das BerryClip-Board besonders interessant, auch wenn Sie es selbst zusammenlöten müssen. mit 6 LED-Ausgaben, einem Summer und einem Tasteingang ist es meinem eigenen Board ähnlich.

Leider konnte ich in Deutschland keine Quelle finden und auch keinen Schaltplan. Aber die Bilder und die Stückliste zeigt eigentlich genau. wie es verdrahtet ist. Die LEDs 1-6 sind über einen 330Ohm Wiederstand an den P1-Pins 7,11,15,19,21,23 angeschlossen. Der Summer ist wohl direkt an Port 24 verbunden und der Pin 26 dient als Eingang, der mit 1kOhm geschützt ist. Der Schalter schaltet den durch einen 10kOhm Wiederstand gehaltenen Pegel vermutlich gegen +3,3V. Ein paar Beispielskript für diese Schaltung können Sie recht einfach installieren.

mkdir berryclip
cd berryclip
wget http://www.raspberrypi-spy.co.uk/berryclip/6_led/install.sh
sh install.sh

Leider habe ich keine Bezugsquelle in Deutschland ausfindig machen können, sonst hätte ich mir das einfach bestellt statt ein paar Stunden in mein Eigenbauboard zu investieren

PiFace

Über Reichelt gibt es ein weiteres Interfaceboard, welches aber deutlich mehr kann und größer ist. Es kann sowohl vom RasPi mit +5V versorgt werden als auch selbst 5V bekommen und dann den RasPi mit speisen.

Vier Eingänge (Taster) zwei Relaisausgänge, und 8 Digital-Ausgänge mit LED lassen schon ganz viel Spielraum. Das Board wird auf den GPIO-P1-Sockel gesteckt und sichert den RasPi auch elektrisch besser gegen externe Einflüsse ab

RASPBERRY GERT

Ein noch umfangreicheres Board, welches ich ebenfalls bei Reichelt entdeckt habe erlaubt so gar die Steuerung von Motoren und biete 3 Schalter, 12 LEDs , A/D und D/A Wandler und einen kleinen ATmega 328 für Signalverarbeitungen.

SD0-Board

Ein besonderes Board dient der Erfassung von S0-Zählimpulsen von Energiemessgeräten, Wasserzählern etc. 4 Eingänge werden erfasst und eigenständig gezählt. Der RasPi liest sie dann per I2C-Schnittstelle aus.

Der Vorteil hier ist natürlich, dass die Zählung unabhängig von der Software auf dem RasPI ist und dank des Atmel m1284p funktioniert, solange Strom anliegt.

Weitere Links