Das LCD 128x64 Bricklet ist eine LC Display mit einer Auflösung von 128x64 Pixel und resistivem Touchscreen.
Jedes Pixel kann einzeln angesteuert werden, dadurch ist der Display grafikfähig. Dadurch sind ein vielseitiger Einsatz und detailreiche Darstellungen möglich, verglichen zum alphanumerisches LCD 20x4 Bricklet mit seinem festen Zeichensatz. Die Größe des Displays ist sehr ähnlich zum alten LCD 20x4 Bricklet, so dass es als direkter Ersatz verwendet werden kann,
Mittels des eingebetteten Zeichensatzes können schnell und einfach Texte auf dem Display dargestellt werden. Zusätzlich gibt es eine eingebettete GUI.
Der Touchscreen hat einen einfach zu verwendende Callback für x/y-Koordinaten und Anpressdruck. Zusätzlich erkennt das Bricklet automatisch Wischgesten.
Hohe Update-Raten bis zu 60Hz sind möglich.
LCD 128x64 Bricklet zusammen mit dem Air Quality Bricklet in der Tisch-Wetterstation:
Eigenschaft | Wert |
---|---|
Stromverbrauch | 40mW (8mA bei 5V, Hintergrundbeleuchtung aus)
545mW (107mA bei 5V, Hintergrundbeleuchtung 100%)
|
Display-Auflösung | 128x64 Pixel, 22x8 Zeichen |
Display-Größe | 7,1cm (2,8") |
Display-Farben | Schwarz/Weiß |
Touchscreen-Typ | Resistiv |
Touchscreen-Auflösung | 128x64 |
Touchscreen-Anpressdruck | 0-300 |
Abmessungen (B x T x H) | 55 x 85 x 8mm (2,17 x 3,35 x 0,32") |
Gewicht | 55g |
Um ein LCD 128x64 Bricklet testen zu können, müssen zuerst Brick Daemon und Brick Viewer installiert werden. Brick Daemon arbeitet als Proxy zwischen der USB Schnittstelle der Bricks und den API Bindings. Brick Viewer kann sich mit Brick Daemon verbinden, gibt Informationen über die angeschlossenen Bricks und Bricklets aus und ermöglicht es diese zu testen.
Als nächstes muss das LCD 128x64 Bricklet mittels eines Bricklet Kabels mit einem Brick verbunden werden.
Wenn der Brick per USB an den PC angeschlossen wird sollte einen Moment später im Brick Viewer ein neuer Tab namens "LCD 128x64 Bricklet" auftauchen. Wähle diesen Tab aus. Wenn alles wie erwartet funktioniert sollte der Tab wie im folgenden Bild aussehen.
Auf dem Display kann gezeichnet und Text angezeigt werden. Mit dem Schieberegler können alle verfügbaren Zeichen auf dem Display angezeigt werden.
Drücken mit Finger oder Stylus auf dem Touchscreen werden mit roten Kreisen angezeigt. Die Anzahl der Kreis zeigt den Anpressdruck an.
Nun kann ein eigenes Programm geschrieben werden. Der Abschnitt Programmierschnittstelle listet die API des LCD 128x64 Bricklet und Beispiele in verschiedenen Programmiersprachen auf.
Um auf das Display zu zeichnen empfehlen wir eine Image Library zu nutzen die für eine spezifische Programmiersprache entwickelt wurde (zum Beispiel PIL für Python). Dadurch können die Zeichen-Primitiven der und Schriftarten der Library verwendet werden und das fertig gezeichnete Bild kann dann zum Bricklet übertragen werden.
Wir haben Beispiele für:
Seit Firmware Version 2.0.2 hat das LCD 128x64 Bricklet eine API für eine einfach zu benutzende grafische Benutzeroberfläche (GUI). Die Oberfläche basiert auf vier grundelegenden UI-Elementen:
Diese GUI-Elemente können mit einer einfach zu benutzenden API hinzugefügt, aktualisiert und entfernt werden. Interaktion wird über Callbacks auf der Basis von Nutzer-Events erzeugt (per klicken/wischen). Siehe GUI-Beispiele in deiner Programmiersprache in der API-Dokumentation für Details.
Das LCD 128x64 Bricklet hat einen Buffer für die normalen Zeichnen-Funktionen (WritePixels, WriteLine, DrawBox, etc) und einen zusätzlichen Buffer für die GUI-Elemente. Der GUI-Buffer wird über dem Standard-Buffer gezeichnet.
Zusätzlich kann für beide Buffer Double-Buffering für flüssiges und ununterbrochenes zeichnen verwendet werden.
Dies bedeutet, dass das GUI immer auf dem Display bleibt und auf Nutzer-Interaktion reagiert bis das jeweilige Element explizit entfernt wird. Durch diesen Ansatz ist eine Kooperation zwischen GUI und eigenen gezeichneten Elementen einfach möglich, da es nie zu z-fighting kommen kann.
Beispiel: Wenn ein Button mit einem Icon anstatt eines Textes gezeichnet werden soll, kann zuerst der Button an die gewünschte Stelle mit der gewünschen Größe ohne Text erstellt werden. Danach kann dann das Icon in den Buffer mit der normalen WritePixels-Funktion gezeichnet werden. Dies funktioniert ohne Probleme auch dann noch wenn der Nutzer durch klicken den Highlight-Effekt erzeugt, da der Effekt das Icon nicht permanent überschreibt.
Das Bricklet beinhaltet folgenden Zeichensatz (Codepage 437, ASCII ist grün markiert), mit dem schnell und einfach Text (bis zu 22x8 Zeichen) auf dem Display angezeigt werden kann:
Das Bricklet hat einen resistiven Touchscreen, der nicht so leichtgängig ist wie die kapazitiven Touchscreens moderner Smartphones und mit etwas mehr Druck bedient werden muss. Anstelle des Fingers kann auch ein Stylus verwendet werden.
Über die API des Bricklets kann die x/y-Position und der Anpressdruck der letzten Berührung abgefragt werden. Darüber können "Klicks" und Gesten erkannt werden.
Wischgesten (links, rechts, rauf und runter) mit Start- und Endposition werden vom Bricklet selbst erkannt und mittels API Callback übermittelt.
Ein laser-geschnittenes Gehäuse für das LCD 128x64 Bricklet ist verfügbar.
Der Aufbau ist am einfachsten wenn die folgenden Schritte befolgt werden:
Im Folgenden befindet sich eine Explosionszeichnung des LCD 128x64 Bricklet Gehäuses:
Hinweis: Auf beiden Seiten der Platten ist eine Schutzfolie, diese muss vor dem Zusammenbau entfernt werden.
Siehe Programmierschnittstelle für eine detaillierte Beschreibung.
Sprache | API | Beispiele | Installation |
---|---|---|---|
C/C++ | API | Beispiele | Installation |
C/C++ für Mikrocontroller | API | Beispiele | Installation |
C# | API | Beispiele | Installation |
Delphi/Lazarus | API | Beispiele | Installation |
Go | API | Beispiele | Installation |
Java | API | Beispiele | Installation |
JavaScript | API | Beispiele | Installation |
LabVIEW | API | Installation | |
Mathematica | API | Beispiele | Installation |
MATLAB/Octave | API | Beispiele | Installation |
MQTT | API | Beispiele | Installation |
openHAB | API | Beispiele | Installation |
Perl | API | Beispiele | Installation |
PHP | API | Beispiele | Installation |
Python | API | Beispiele | Installation |
Ruby | API | Beispiele | Installation |
Rust | API | Beispiele | Installation |
Shell | API | Beispiele | Installation |
Visual Basic .NET | API | Beispiele | Installation |
TCP/IP | API | ||
Modbus | API |