- Offizieller Beitrag
Hallo Gemeinde,
Ich freue mich meine Erfahrungen mit dem neuen Display des Herstellers Emsystech in diesem Beitrag mitzuteilen.
Emsystech hat mir kostenlos das erste Serienboard des ab dem 6. August lieferbaren Raspi LCD zur Verfügung gestellt.
Dafür noch einmal ein .
Ein paar Fakten zum Display:
- 1,8 Zoll Display
- 128×64 Pixel Auflösung
- Per Software einstellbarer Kontrast/LED-Hintergrundbeleuchtung
- 6 Taster
- Anschlussmöglichkeit für UART und I2C
Zusätzlich gibt es noch eine Version mit einer Batteriegepufferte Realtime Clock (DS1338) sowie ein CNC bearbeitetes Gehäuse (Tek Berry).
Raspi LCD
Ja, was gibt es zum Display zu sagen. Es hat einen super Kontrast, auch ohne LED Hintergrundbeleuchtung lässt es sich noch angenehm lesen. Leider muss man für den Betrieb an der GPIO Stiftleiste den Videoausgang entlöten. Das habe ich vorerst nicht gemacht, sondern bin den Umweg über ein Flachbandkabel und Jumpwires gegangen um erste Tests zu machen.
Natürlich wollte ich sehen, wie sich das Display mit dem Raspberry Pi zusammen im Gehäuse macht. Dazu habe ich dann den Videoausgang entlötet. Der Hersteller hat dazu eine Anleitung verfasst. Ich würde mal meinen, dass man die Buchse relativ schnell wieder auf die Platine löten könnte. Wenn man beides Zugleich nutzten möchte, bleibt einem nichts anderes übrig, als die Video Buchse aus dem Gehäuse herauszuführen.
Nach dem erfolgreichen ablöten kann das Raspi LCD einfach aufgesteckt werden. Dachte ich!!!
Ich musste leider feststellen, dass meine P2 Stiftleiste (genauer genommen 5 von 8 Pins) mit der Halterung von der Realtimeclock (RTC) in die Quere kommt.
Ich habe einen Raspberry Pi der ersten Version vor mir liegen. Auf den neuen Pis der Ref V 2 ist diese Leiste nicht mit Pins bestückt. Da der Lötkolben schon abgekühlt war, habe ich die Pins kurzer Hand
ca 45° zur Seite gebogen (Richtung USB Buchse). Danach klappt es dann mit dem aufstecken.
Gehäuse:
Das Gehäuse ist eine modifizierte Version des Tek Berry Gehäuses. Es wurde per CNC Fräse angepasst.
Die Verarbeitung sieht wirklich "top" aus. Die Radien sind optimal und alle Kanten sowie die Löcher der Taster sind von außen gesenkt.
RTC:
Die Realtimeclock ist auf Basis des DS1338. Mithilfe dieses Links kann man die RTC konfigurieren.
Ich gehe aber davon aus, dass der Hersteller dies noch auf seiner Seite nachliefern wird.
Es wird eine 3V Lithium CR2032 Batterie benötigt
Anschlußmöglichkeit für UART und I2C:
Da das Modul auf die komplette GPIO Stiftleiste gesteckt wird, sind auf dem Modul 6 Pins vorhanden ab denen UART und I2C betrieben werden kann.
Alle Pins, bis auf RxD und TxD, werden direkt durchgeschleift. Zwischen GPIO und Pin 5/6 befindet sich jeweils ein 470 Ohm Widerstand.
Pin 1 -> VCC
Pin 2 -> SCL
Pin 3 -> Ground
Pin 4 -> SDA
Pin 5 -> RxD (470 Ohm)
Pin 6 -> TxD (470 Ohm)
Software:
Auf der Herstellerseite kann man sich die Software mit Beispielprogrammen herunterladen: Raspi-LCD-V1.0.0.zip
Ein Schaltplan ist ebenfalls vorhanden: Raspi-LCD2-Spec-1.0.pdf
Die Software zeigt eindrucksvoll was mit dem Display möglich ist.
Hier ein paar Beispiele mit kurzen Code Ausschnitt.
Bild und Text
siehe Bild 1
Es ist möglich Bilder und Text auf dem Display darzustellen.
void DemoLogo(void)
{
LCD_ClearScreen();
LCD_DrawBitmap(0,0,bmp_raspi);
LCD_SetFont(0);
LCD_PrintXY(70,4 ,"Raspi-LCD");
LCD_PrintXY(75,14,"Project");
LCD_PrintXY(68,32,"powered by");
LCD_PrintXY(70,42,"Emsystech");
LCD_PrintXY(62,52,"Engineering");
}
Alles anzeigen
Mit der Funktion LCD_DrawBitmap kann man ein Bild auf das Display schreiben. Dabei ist gibt man die Koordinaten für die Positionierung an und eine Variable in der das Bitmap als Arrray vorliegt, dazu später mehr. Als nächstes kann man festlegen welche Schriftgröße gewählt werden soll. Man kann zwischen 4 Größen unterscheiden. Siehe Bild 4
Die Funktion LCD_PrintXY verhält sich ebenso. Auch hier wird X und Y Koordinate angeben und ein String mit dem Text.
Bild 2 zeigt einen Graphen der CPU Temperatur.Dies könnt ihr euch in diesem Video anschauen
[youtube]tdGGPOjrMNs[/youtube]
Bild und Text die zweite
siehe Bild 3
Auch hier ist es möglich Bild und Text darzustellen. Die Besonderheit hier ist, dass das Bild eine Größe von 128x64 Pixel hat und der Text darüber gelegt wird.
void DemoBitmap(void)
{
LCD_DrawBitmap(0,0,bmp_men);
LCD_SetFont(1);
LCD_PrintXY(6,0, "Bitmap");
}
Geometrische Formen
siehe Bild 5
Außerdem kann man mit dem Beispielcode auch Linien, Kreise und Rechtecke zeichnen lassen.
Diesen Code werde ich euch natürlich nicht komplett erläutern.
void DemoVector(void)
{
LCD_ClearScreen();
LCD_SetFillColor(1);
LCD_DrawRect(110,20,120,60,1);
LCD_DrawLine(0,0,127,0);
LCD_DrawLine(0,0,127,16);
LCD_DrawLine(0,0,127,32);
LCD_DrawLine(0,0,127,48);
LCD_DrawLine(0,0,127,63);
LCD_SetPenColor(1);
LCD_DrawCircle(63,31,31);
LCD_DrawCircle(8,50,5);
LCD_DrawEllipse(80,40, 30,10);
LCD_SetFillColor(0);
LCD_DrawRect(12,20,40,40,3);
LCD_SetFillColor(-1);
LCD_DrawRect(30,50,60,60,1);
}
Alles anzeigen
BMP to hex
Emsystech stellt außerdem ein Tool zur Verfügung, welches ein Bitmap in ein C-Array konvertiert.
Mit diesem Tool ist es sehr einfach, ein Bild umzuwandeln und mit dem Display zu nutzten.
BMP2C-V1.0.zip
Ich meine im Quellcode gesehen zu haben, dass es auch möglich sein wird ein .bmp automatisch umwandeln zu lassen. Die Funktion ist aber noch nicht fertig. Es ist mir ein Rätsel, warum ich die betreffende Passage nicht mehr wiederfinde. Daher kann ich auch falsch liegen. Wer Lust hat, kann den Sourcecode gerne mal durchforsten.
Nützliche Links:
- Tutorial: http://www.emsystech.de/raspi-lcd-tutorial/
- Python Programmierung von Michael Ziegler : https://bitbucket.org/Svedrin/raspilcd/src
- Online Shop von Emsystech: http://shop.emsystech.de/de/Raspberry-Pi-Add-Ons
- Blogeintrag: http://www.emsystech.de/raspi-lcd/
- Video Buchse entlöten: http://www.emsystech.de/raspi-lcd-buchse/
- Tool zum umwandeln von Bitmaps: BMP2C-V1.0.zip
Hier findet ihr ein paar Fotos von meinen Tests
Fazit:
Für einen Preis von rund 43€ (zzgl Versand) bekommt man ein gut verarbeitetes Display mit reichlich Beispielcode. Mit 50€ schlägt die RTC Version zu Buche und für 13€ gibt es das weiße CNC bearbeitete Gehäuse von tekberry.
Das ist natürlich viel Geld, doch in Verbindung mit dem Gehäuse hat man eine wunderbar verpackte Displaylösung sowie 6 Taster.
Nachteil könnte sein, dass der Videoausgang entfernt werden muss und bei den Rev 1 Version die P2 Stiftleiste im Wege ist.
Ich werde sehen, für welche Aufgaben ich das Display benutzten werde, im Moment fallen mir ziemlich viele ein.
Schöne Grüße,
ps915