Für eines meiner nächsten Projekte möchte ich ein kleines farbiges Display verwenden. Ich war erstaunt dass man kleine OLEDs teilweise wirklich günstig kaufen kann. Es gibt verschiedene Größen, ich habe mir erstmal das mit einer Auflösung von 160×128 Pixeln vorgenommen. Das ist etwa so gross wie eine Sonderbriefmarke. Dieses Display gibt es wiederum in zwei grundlegenden Varianten: einmal als ‚dummes‘ Display, da ist zwar ein Controller dabei aber man muss die Verwaltung komplett selbst übernehmen. Der Spass kostet an verschiedenen Stellen knapp 40 Euro.
Und es gibt die Variante die ich gekauft habe. Die nennt sich uOLED-160-G1 (Specs) und ist mit 63 Euro spürbar teurer. Aber auch spürbar angenehmer: auf dem Modul ist ein recht intelligenter Controller verbaut. Der übernimmt die eigentliche Ansteuerung des Displays. Angesprochen wird er über eine einfache serielle Schnittstelle, darüber frisst er nicht nur ‚male einen Punkt an dieunddie Stelle‘, sondern auch komplexere Anweisungen (Befehlssatz): Kreise oder Polygone malen, Text darstellen, Font ändern…
Ich muss mich in meinem kleinen Mikrocontroller also nicht mehr damit rumschlagen wie ich den Grafikspeicher verwalte, wie ich einen Kreis auf den Schirm kriege, oder wie ich eine Linie von hier nach da zeichnen kann. Sehr praktisch, das ist nämlich erfahrungsgemäß recht aufwändig für die Hardware.
Und es kommt noch besser: enthalten ist auch ein Steckplatz für eine MicroSD-Karte. Darauf können Daten, Bildchen oder kleine Videos abgelegt werden die dann direkt vom Display abgespielt werden können. Ich freue mich darauf, damit alberne Sachen zu machen…
Natürlich möchte man mit so einem Teil erstmal etwas rumspielen und Erfahrungen sammeln. Normalerweise krame ich dazu das Steckbrett raus und baue mir eine kleine Schaltung die das Ding befeuern kann. Dann etwas C schreiben, compilieren, flashen, testen. Wieder C schreiben, compilieren, testen… und so weiter.
Das geht einfacher. Kommen wir also zum zweiten neuen Spielzeug: ein Bus Pirate.
Als fertiges Modul kostet der zusammen mit Kabelpeitsche und Gehäuse etwas über 30 Euro. Ich habe meinen bei eHaJo gekauft — sympathischer kleiner Händler, die Ware war nach einem unkomplizierten Einkauf schnell da. Wer die Ausgabe scheut kann sich das Ding auch selbst bauen, es handelt sich hier um Open Source Hardware. Ich bereue den Kauf aber nicht, das Modul ist wirklich professionell gefertigt und seinen Preis absolut wert.
Aber was tut es? Ich kann es nicht besser formulieren als die Entwickler:
The Bus Pirate is an open source hacker multi-tool that talks to electronic stuff.
Ich schliesse das Ding mittels USB an mein Notebook an. Es erscheint als /dev/ttyUSB0, dorthin kann ich mich per screen verbinden und bekomme eine Kommandozeile. Jetzt schliesse ich am anderen Ende irgendein (geeignetes) Bauteil an mit dem ich kommunizieren möchte. Da geht alles was die unterstützten Protokolle (unter anderem 1-Wire, I2C, SPI, JTAG, MIDI, PC keyboard, UART…) spricht, zur Not kann man aber auch direkt Pins ein- und ausschalten. Jetzt kann ich Sachen messen, Protokolle sniffen, oder eben auch spontan bestimmte Protokolle ’sprechen‘. Die kompletten Features geben eine Übersicht was möglich ist, die Dokumentation zeigt dann wie es geht.
In meinem speziellen Fall klemme ich also vier der Klemmen an mein OLED an (GND und VCC zur Spannungsversorgung, sowie TX und RX für UART-Kommunikation), gehe per Kommandozeile in den UART-Modus und schalte dort erstmal die Stromversorgung für das Display ein. Jetzt kann ich einfach an der Kommandozeile Werte (sprich: Kommandos) eingeben die dann direkt an das Display gesendet werden.
Der Bus Pirate enthält sogar eine Art Basic-Interpreter, damit habe ich dann spasseshalber das Testbild programmiert das auf dem Foto zu sehen ist. Ich hätte das aber auch auf dem PC in irgendeiner anderen Sprache machen können, der Bus Pirate kann auch direkt aus Perl, Python oder C angesprochen werden.
Alles in allem war das ein erfolgreiches Wochenende. Und im Moment glaube ich dass das Display für mein angedachtes Projekt die richtige Wahl ist, da kann die Planung also weitergehen…