- Erforderliche Materialien:
- Nokia 5110 Grafikdisplay-Modul:
- Schaltplan:
- Arduino Programm und Arbeiten:
Der ikonische Name „ Nokia 5110 “ selbst sollte Erinnerungen an das robuste Nokia-Handy haben, das in den 90er Jahren sehr beliebt war. Das Modell 5110 war mit einem grafischen Display ausgestattet, das ausreichte, um damals als Bildschirm für das Mobiltelefon zu dienen. Dieser Bildschirm war in der Lage, alles anzuzeigen, von alphanumerischen Zeichen bis hin zu kleinen Grafiken, die für das Mobiltelefon erforderlich sind. Als sich die Erde drehte, tauchten neue Technologien mit glänzenden Touchscreens auf und dieses Display wird nicht mehr verwendet. Hoffentlich können sie in elektronischen Anwendungen eingesetzt werden, in denen kleine Grafiken angezeigt werden müssen, und vermeiden, Geld für große LCD-Bildschirme auszugeben. In diesem Tutorial erfahren Sie, wie Sie ein Nokia 5110 Graphical LCD mit Arduino verbinden und zum Laufen bringen.
Diese LCD-Bildschirme haben Schwarzweißpixel mit den Abmessungen 84 × 48. Sie sehen möglicherweise eintönig aus, können aber dennoch zur Anzeige anständiger Grafiken für Ihre Projekte verwendet werden und können problemlos mit Mikrocontrollern wie Arduino verwendet werden. Also lasst uns anfangen….!
Erforderliche Materialien:
- Arduino Board (jede Version)
- Nokia 5110 Display
- Kabel anschließen
Nokia 5110 Grafikdisplay-Modul:
Es gibt zwei Arten dieser grafischen LCDs auf dem Markt. Eine mit Lötpads über und unter dem Display und die andere mit Lötpads nur am unteren Rand des Displays. Die von uns verwendeten gehören zu Typ 2, bei dem sich nur Pads unter dem Display befinden. Beide Module arbeiten gleich und daher sind die Verbindungen für beide gleich. Unabhängig davon, um welches Modul es sich handelt, können Sie dem Tutorial folgen.
Wie bereits erwähnt, verfügt das Nokia 5110 Graphical LCD über 84 Pixel in horizontaler und 48 Pixel in vertikaler Richtung. Die Gesamtanzeigegröße beträgt 1,72 'x 1,72'. Das Modul verfügt über 6 Eingangspins, über die wir es über SPI-Kommunikation mit jedem Mikrocontroller verbinden können. Der Schnittstellen-IC, der zwischen dem Display und dem Arduino kommuniziert, ist der Philips PCD8544-Display-Controller-IC, dessen Datenblatt hier zu finden ist. Wenn Sie jedoch Arduino verwenden, um mit diesem IC zu kommunizieren, müssen wir uns keine Gedanken über das Datenblatt machen, da es Bibliotheken gibt, die heruntergeladen und verwendet werden können. Das Modul, das wir hier verwenden, ist unten gezeigt.
Schaltplan:
Das vollständige Schaltbild für den Anschluss des Nokia5110 Graphical LCD mit Arduino finden Sie unten.
Das Anzeigemodul verfügt über 8 Pins, mit denen eine SPI-Kommunikation mit Arduino eingerichtet wird. Das Modul wird mit dem 3,3-V-Pin der Arduino-Platine versorgt. Beachten Sie, dass diese Module mit 3,3-V-Logik arbeiten und daher keine 5 V an den Vcc-Pin der Displays liefern. Ich habe den Pin des Displays direkt mit Arduino verbunden, obwohl das LCD mit 3,3-V-Logik und Arduino mit 5-V-Logik arbeitet, da ich erst dann festgestellt habe, dass das LCD ordnungsgemäß funktioniert. Sie können bei Bedarf einen Spannungsteiler verwenden, um 5 V in 3,3 V umzuwandeln, aber für mich funktioniert dies nur ohne die logische Umwandlung. Die Verbindungen sind ziemlich einfach und unkompliziert herzustellen. Sobald Sie mit den Verbindungen fertig sind, sieht Ihre Einrichtung ungefähr so aus (siehe unten).
Arduino Programm und Arbeiten:
Führen Sie die folgenden Schritte aus, um Ihr Arduino für das Nokia 5110 Display zu programmieren. Bei den Schritten wird davon ausgegangen, dass Sie die Arduino IDE bereits installiert haben und mit deren Verwendung vertraut sind.
Schritt 1: Öffnen Sie die Arduino IDE auf Ihrem Computer und wählen Sie die entsprechende Karte im Menü Extras aus, nachdem Sie Ihr Arduino an Ihren Computer angeschlossen haben.
Schritt 2: Klicken Sie hier, um die Nokia 5110 Display Library von Adafruit Library aus dem GitHub-Repository herunterzuladen.
Schritt 3: Nachdem die Zip-Datei heruntergeladen wurde, wählen Sie Skizze -> Bibliothek einschließen -> ZIP-Bibliothek hinzufügen und navigieren Sie zu dem Speicherort, an den die ZIP- Datei heruntergeladen wurde.
Hinweis: Sie müssen auch den Adafruit GFX-Grafikkern herunterladen, der alle Kreise, Texte, Rechtecke usw. enthält. Sie können ihn unter https://github.com/adafruit/Adafruit-GFX-Library herunterladen und auf die gleiche Weise installieren.
Schritt 4: Öffnen Sie nun das Beispielprogramm, indem Sie Datei -> Beispiele -> Adafruit PCD Nokia 5110 LCD-Bibliothek -> pcdtest auswählen und auf die Schaltfläche zum Hochladen klicken
Schritt 5: Sobald das Programm hochgeladen ist, drücken Sie die Reset-Taste auf dem Arduino. Das Beispielprogramm sollte alle Animationen anzeigen, wie im Video am Ende dieses Tutorials gezeigt.
Sie können das Beispielprogramm durchlesen, um die verschiedenen integrierten Funktionen zu verstehen, mit denen verschiedene Grafikdesigns auf dem LCD ausgeführt werden können. Aber gehen wir noch einen Schritt weiter und versuchen Sie , das CircuitDigest-Logo auf dem LCD-Bildschirm anzuzeigen.
Öffnen Sie nun das gewünschte Bild in Paint und ändern Sie die Bildgröße. Die maximale Bildgröße, die wir für unser Display verwenden können, beträgt 84 × 48.
Speichern Sie das Bild nach dem Ändern der Bildgröße als Bitmap (Schwarzweiß), indem Sie die Option Speichern unter in Paint verwenden. Um das Bild als Bitmap auf unserem LCD-Bildschirm anzuzeigen, benötigen wir eine Software, die das Bitmap-Bild in Code konvertieren kann. Sie können die Software herunterladen, indem Sie hier klicken. Nach dem Herunterladen entpacken Sie die Datei und klicken Sie auf "BitmapEncoder" , um die Anwendung zu starten. Öffnen Sie das Bitmap-Bild, das wir gerade mit dieser Software gespeichert haben, um das Array der codierten Werte abzurufen. Sie können diese Werte direkt kopieren und in Ihr Arduino-Array einfügen. Der von der Software für unser Logo angezeigte Wert wird unten angezeigt
Wie Sie sehen können, beginnt das Array mit dem Wert 48, 48. Dies ist die Größe unseres Bildes. Wir sollten dies nicht in unser Array aufnehmen. Entfernen Sie also die ersten beiden Werte und verwenden Sie den Rest als Array-Wert im Programm. Das Array sieht wie folgt aus. Das vollständige Programm finden Sie am Ende dieser Seite als Referenz.
statisches const vorzeichenloses Zeichen PROGMEM Logo = {B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001111, B11111000, B00000000, B00000000, B000000000011 B11111111, B11000000, B00000000, B00000000, B00001110, B00111110, B00111111, B11110000, B00000000, B00000000, B00111110, B00111110, B10000000, B01111100, B00000000, B00000000, B01111100, B01111100, B11000000, B00111110, B00000000, B00000000, B11111100, B01111110, B00000000, B00001111, B00000000, B00000001, B11111000, B11111111, B00111111, B10000111, B10000000, B00000011, B11111000, B11111111, B11111111, B11000011, B110011, B11001, B11001 B01100000, B00000000, B00000011, B11100000, B00001001, B11111100, B00000000, B00000000, B00000111,B11100000, B00011001, B11111110, B00000000, B00000000, B00000111, B11000000, B00000001, B11111111, B10000000, B00011111, B11111111, B11000111, B111111, B111111, B11111 B11111111, B11111111, B11111100, B00111111, B11111111, B00011111, B11111111, B11111111, B11111100, B00111111, B11111110, B00111111, B00111111, B11111111, B11111110, B01111111, B11111110, B00111110, B00000000, B01111111, B11111100, B01111111, B11111100, B01111100, B11000000, B00000000, B00000000, B01111111, B11111100, B01111110, B10000000, B00000000, B00000000, B00000000, B00000000, B11111110, B00111111, B11111111, B11111110, B00000000, B00000001, B11111111, B11111111, B11111111, B11111110, B01111111, B11111111, B11111111, B11111111, B11111111, B11111110, B01111111, B11111111, B11111111, B11111111, B11111111, B11111110, B01111111, B11111111,B11000111, B11111111, B11111111, B11111110, B00111111, B11111111, B10000011, B11111110, B00000000, B00000000, B00111111, B11111111, B10110011, B11111000, B00000000, B000011 B10000001, B11111111, B11111100, B00000000, B00011111, B11111000, B00000111, B11111111, B11111000, B00000000, B00000111, B11111110, B00011111, B11111111, B11111000, B00000000, B00000001, B11111111, B01111111, B11111111, B11110000, B00001111, B11100000, B11111111, B11111111, B11111111, B11110000, B00000111, B11111000, B00001111, B11111111, B11000000, B00000000, B00000011, B11111100, B00100111, B11111111, B00000000, B00000000, B00000011, B11111111, B00110111, B11111100, B00000000, B00000000, B00000001, B11111111, B10000111, B11011000, B00111111, B10000000, B00000000, B11111111, B11001111, B10000000, B11111111, B00000000, B00000000, B01111111,B11111111, B10110001, B11111110, B00000000, B00000000, B00011111, B11111111, B10110111, B11111100, B00000000, B00000000, B00001111, B11111111, B10000111, B11110000, B00000000, B00000000, B00000011, B11111111, B11111111, B11000000, B00000000, B00000000, B00000000, B11111111, B11111111, B00000000, B00000000, B00000000, B00000000, B00001111, B11110000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000};
Um diese Bitmap anzuzeigen, müssen wir die folgenden Codezeilen verwenden. Wo die vorherigen Daten auf dem Bildschirm gelöscht werden und das neue Bitmap-Bild geschrieben wird.
display.clearDisplay (); display.drawBitmap (20, 0, Logo, 48, 48, 1); display.display ();
Die Zeile display.drawBitmap (20, 0, Logo, 48, 48, 1); Zeigen Sie die Position, Größe und Farbe des Bitmap-Bildes an. Die Syntax kann wie folgt angegeben werden.
display.drawBitmap (X_Position, Y_Position, Name des Arrays, Bildlänge, Bildbreite);
Die Länge und Breite des Bildes kann aus den ersten beiden Elementen des Arrays erhalten werden, wie zuvor angegeben. Wenn dieser Code ausgeführt wird, wird die Bitmap wie unten gezeigt auf unserem LCD-Bildschirm angezeigt.
Sie können auch einfachen Text wie folgt anzeigen:
Ich hoffe, Sie haben das Tutorial verstanden und Ihr Nokia 5110 LCD mit Arduino verbunden. Mit dieser grafischen Anzeige im Ärmel können Sie viele Projekte erstellen, für die kleinere Grafikdetails erforderlich sind. Die komplette Arbeit finden Sie im Video unten. Wenn Sie Probleme haben, dies zum Laufen zu bringen, können Sie das Forum oder die Kommentarbereiche unten im Forum veröffentlichen.