LCD 1602 mit Arduino verbinden: Beschreibung, Funktionen, Anleitung, Merkmale, Probleme und Lösungen

Inhaltsverzeichnis:

LCD 1602 mit Arduino verbinden: Beschreibung, Funktionen, Anleitung, Merkmale, Probleme und Lösungen
LCD 1602 mit Arduino verbinden: Beschreibung, Funktionen, Anleitung, Merkmale, Probleme und Lösungen
Anonim

Jeder Funkamateur kommt nach einfacher Heimwerkerarbeit an das Ziel, aus Sensoren und Knöpfen etwas Großes zu konstruieren. Schließlich ist es viel interessanter, Daten auf dem Display anzuzeigen als auf dem Hafenmonitor. Aber dann stellt sich die Frage: Welches Display soll man wählen? Und im Allgemeinen, wie man es anschließt, was wird zum Anschließen benötigt? Die Antworten auf diese Fragen werden in diesem Artikel diskutiert.

LCD 1602 Display zum Anschluss an Arduino
LCD 1602 Display zum Anschluss an Arduino

LCD 1602

Unter den vielen Optionen unter den Displays möchte ich das LCD1602-Display hervorheben, das auf dem HD4478-Controller basiert. Dieses Display gibt es in zwei Farben: weiße Schrift auf blauem Grund, schwarze Schrift auf gelbem Grund. Auch das Anschließen des LCD 1602 an den Arduino bereitet keine Probleme, da es eine eingebaute Bibliothek gibt und Sie nichts extra herunterladen müssen. Displays unterscheiden sich nicht nur im Preis, sondern auch in der Größe. Oft verwenden Funkamateure 16x 2, also 2 Zeilen mit 16 Zeichen. Aber es gibt auch 20 x 4, wo es 4 Zeilen mit 20 Zeichen gibt. Abmessungen und Farbe spielen beim Anschluss des LCD-Displays 1602 an Arduno keine Rolle, sie werden auf die gleiche Weise angeschlossen. Der Blickwinkel beträgt 35 Grad, die Reaktionszeit des Displays 250 ms. Kann bei Temperaturen von -20 bis 70 Grad Celsius arbeiten. Im Betrieb verbraucht es 4 mA für den Bildschirm und 120 mA für die Hintergrundbeleuchtung.

Pinbelegung des LCD 1602-Displays
Pinbelegung des LCD 1602-Displays

Wo wird es verwendet?

Dieses Display erfreut sich nicht nur bei Funkamateuren großer Beliebtheit, sondern auch bei großen Herstellern. Zum Beispiel verwenden Drucker und Kaffeemaschinen auch LCD1602. Dies liegt an seinem niedrigen Preis, dieses Display kostet auf chinesischen Websites 200-300 Rubel. Dort einzukaufen lohnt sich, da in unseren Filialen die Margen für dieses Display sehr hoch sind.

Mit Arduino verbinden

Das Verbinden von LCD 1602 mit Arduino Nano und Uno ist nicht anders. Sie können mit der Anzeige in zwei Modi arbeiten: 4 Bit und 8. Bei der Arbeit mit einer 8-Bit-Anzeige werden sowohl die niedrigeren als auch die höheren Bits verwendet, und bei einer 4-Bit-Anzeige nur die niedrigeren. Es macht keinen besonderen Sinn, mit 8-Bit zu arbeiten, da 4 weitere Kontakte zum Verbinden hinzugefügt werden, was nicht ratsam ist, da die Geschwindigkeit nicht höher sein wird und das Display-Update-Limit 10 Mal pro Sekunde beträgt. Im Allgemeinen werden viele Drähte verwendet, um den LCD 1602 mit dem Arduino zu verbinden, was einige Unannehmlichkeiten verursacht, aber es gibt spezielle Abschirmungen, aber dazu später mehr. Das Foto zeigt den Anschluss des Displays an den Arduino Uno:

Display mit arduino verbinden
Display mit arduino verbinden

Codebeispiel:


einschließen //Fügen Sie die erforderliche Bibliothek LiquidCrystal lcd(7, 6, 5, 4, 3, 2) hinzu; // (RS, E, DB4, DB5, DB6, DB7) void setup () {lcd.begin (16, 2); // Bildschirmdimension einstellen lcd.setCursor (0, 0); // Setze den Cursor an den Anfang von Zeile 1 lcd.print("Hello, world!"); // Text LCD anzeigen setCursor (0, 1); // Setzen Sie den Cursor auf den Anfang von Zeile 2 lcd.print("fb.ru"); // Text ausgeben } void loop(){ }

Was macht der Code? Zunächst wird die Bibliothek zum Arbeiten mit dem Display angebunden. Wie oben erwähnt, ist diese Bibliothek bereits in der Arduino IDE enth alten und muss nicht zusätzlich heruntergeladen und installiert werden. Als nächstes werden die Kontakte definiert, die mit den Pins verbunden sind: RS, E, DB4, DB5, DB6, DB7. Dann wird die Bildschirmgröße eingestellt. Da wir mit einer Version mit 16 Zeichen und 2 Zeilen arbeiten, schreiben wir solche Werte. Wir setzen den Cursor an den Anfang der ersten Zeile und zeigen unseren ersten Text Hello World an. Setzen Sie als nächstes den Cursor auf die zweite Zeile und zeigen Sie den Namen der Site an. Das ist alles! Der Anschluss von LCD 1602 an Arduino Uno wurde in Betracht gezogen.

Was ist I2C und warum wird es benötigt?

Wie oben erwähnt, erfordert der Anschluss des Displays viele Pins. Wenn Sie beispielsweise mit mehreren Sensoren und einem LCD-Display arbeiten, reichen 1602 Kontakte möglicherweise einfach nicht aus. Oft verwenden Funkamateure die Uno- oder Nano-Versionen, bei denen es nicht viele Kontakte gibt. Dann kamen die Leute auf spezielle Schilde. Zum Beispiel I2C. Es ermöglicht Ihnen, das Display mit nur 4 Pins anzuschließen. Das ist zweimal weniger. Das I2C-Modul wird sowohl separat verkauft, wo Sie es selbst löten müssen, als auch bereits angelötetLCD-Display 1602.

I2C-Modul für LCD-Display 1602
I2C-Modul für LCD-Display 1602

Verbindung mit I2C-Modul

Der Anschluss von LCD 1602 an Arduino Nano mit I2C nimmt wenig Platz ein, nur 4 Pins: Masse, Strom und 2 Datenausgänge. Wir verbinden Strom und Masse mit 5 V bzw. GND auf dem Arduino. Die verbleibenden zwei Kontakte: SCL und SDA sind mit beliebigen analogen Pins verbunden. Auf dem Foto sehen Sie ein Beispiel für den Anschluss von LCD 1602 an Arduino mit I2C-Modul:

Zeigen Sie Verbindungen mit dem I2C-Modul an
Zeigen Sie Verbindungen mit dem I2C-Modul an

Programmcode

Wenn es notwendig war, nur eine Bibliothek zu verwenden, um mit einem Display ohne Modul zu arbeiten, dann werden zwei Bibliotheken benötigt, um mit einem Modul zu arbeiten. Eines davon ist bereits in der Arduino IDE - Wire. Eine weitere Bibliothek, LiquidCrystal I2C, muss separat heruntergeladen und installiert werden. Um die Bibliothek in Arduino zu installieren, muss der Inh alt des heruntergeladenen Archivs in den Stammordner Bibliotheken hochgeladen werden. Codebeispiel mit I2C:


include include LiquidCrystal_I2C lcd(0x27, 16, 2); // Display einrichten void setup () { lcd.init (); lcd.backlight (); // Sch alten Sie die Hintergrundbeleuchtung des Displays ein lcd.print ("FB.ru"); lcd.setCursor (8, 1); lcd.print ("LCD 1602"); } void loop() { // Cursor auf zweite Zeile und Nullzeichen setzen. lcd.setCursor (0, 1); // Die Anzahl der Sekunden seit dem Start des Arduino ausgeben lcd.print (millis () / 1000); }

Wie Sie sehen können, ist der Code fast derselbe.

Wie füge ich mein eigenes Symbol hinzu?

Das Problem mit diesen Displays ist, dass es keine gibtUnterstützung für Kyrillisch und Symbole. Beispielsweise müssen Sie ein Zeichen in das Display laden, damit es es widerspiegeln kann. Dazu können Sie auf dem Display bis zu 7 Ihrer Charaktere erstellen. Präsentieren Sie die Tabelle:

0 0 0 1 0
0 0 0 0 1
1 1 0 0 1
0 0 0 0 1
1 1 0 0 1
0 0 0 0 1
0 0 0 1 0
0 0 0 0 0

Wenn 0 - dort ist nichts, wenn 1 - es ist ein schattierter Bereich. Im obigen Beispiel sehen Sie die Erstellung der Figur „lächelnder Smiley“. Anhand eines Beispielprogramms in Arduino würde das so aussehen:

include include // Fügt die benötigte Bibliothek ein // Smile-Symbol Bitmask Byte smile[8]={ B00010, B00001, B11001, B00001, B11001, B00001, B00010, }; Flüssigkristall-LCD (7, 6, 5, 4, 3, 2); // (RS, E, DB4, DB5, DB6, DB7) void setup () {lcd.begin (16, 2); // Bildschirmgröße einstellen lcd.createChar(1, smile); // Zeichen Nummer 1 erstellen lcd.setCursor(0, 0); // Setze den Cursor auf den Anfang von Zeile 1 lcd.print("\1"); // Smiley anzeigen (Zeichennummer 1) - "\1" } void loop(){ }

Wie Sie sehen können, wurde erstelltdie Bitmaske ist die gleiche wie die Tabelle. Einmal erstellt, kann es als Variable auf dem Display ausgegeben werden. Denken Sie daran, dass nur 7 Zeichen gespeichert werden können. Im Prinzip reicht das. Zum Beispiel, wenn Sie das Gradsymbol anzeigen möchten.

Hinzufügen benutzerdefinierter Zeichen zum LCD 1602
Hinzufügen benutzerdefinierter Zeichen zum LCD 1602

Probleme, bei denen die Anzeige möglicherweise nicht funktioniert

Es gibt Zeiten, in denen das Display nicht funktioniert. Beispielsweise sch altet es sich ein, zeigt aber keine Zeichen an. Oder es sch altet sich gar nicht ein. Überprüfen Sie zunächst, ob Sie die Kontakte richtig angeschlossen haben. Wenn Sie früher LCD 1202 ohne I2C an Arduino angeschlossen haben, kann es sehr leicht sein, sich in den Drähten zu verheddern, was dazu führen kann, dass das Display nicht richtig funktioniert. Achten Sie auch darauf, dass der Display-Kontrast erhöht wird, da bei minimalem Kontrast nicht einmal erkennbar ist, ob das LCD 1602 an ist oder nicht. Wenn dies nicht hilft, liegt das Problem möglicherweise beim Löten der Kontakte, dies ist bei Verwendung des I2C-Moduls der Fall. Ein häufiger Grund, warum das Display möglicherweise nicht funktioniert, ist die falsche Einstellung der I2C-Adresse. Tatsache ist, dass es viele Hersteller gibt und diese eine andere Adresse einstellen können, Sie müssen sie hier korrigieren:


LiquidCrystal_I2C lcd(0x27, 16, 2);

In Klammern sehen Sie zwei Werte, 0x27 und 16, 2 (16, 2 ist die Displaygröße und 0x27 ist nur die I2C-Adresse). Anstelle dieser Werte können Sie versuchen, 0x37 oder 0x3F einzugeben. Nun, ein weiterer Grund ist einfach ein defektes LCD 1602. Wenn man bedenkt, dass fast alles für Arduino in China hergestellt wird, kann man sich nicht 100% sicher sein, dass das gekauft wurdeDas Produkt ist nicht defekt.

LCD 1602 Vor- und Nachteile

Schauen wir uns die Vor- und Nachteile des LCD 1602 an.

Vorteile

  • Preis. Dieses Modul kann zu einem sehr günstigen Preis in chinesischen Geschäften erworben werden. Der Preis beträgt 200-300 Rubel. Manchmal sogar mit einem I2C-Modul verkauft.
  • Einfache Verbindung. Wahrscheinlich schließt heutzutage niemand einen LCD 1602 ohne I2C an. Und mit diesem Modul benötigt die Verbindung nur 4 Pins, es gibt keine "Netze" aus Drähten.
  • Programmierung. Dank vorgefertigter Bibliotheken ist das Arbeiten mit diesem Modul einfach, alle Funktionen sind bereits registriert. Und wenn Sie Ihren Charakter hinzufügen müssen, dauert es nur ein paar Minuten.

Nachteile

Während der Zeit der Nutzung durch tausende Funkamateure wurden keine großen Minuspunkte festgestellt, lediglich es gibt Fälle von Heiratskauf, da hauptsächlich chinesische Darstellungsoptionen verwendet werden

In diesem Artikel wurde beschrieben, wie das LCD 1602-Display mit Arduino verbunden wird, und es wurden auch Beispielprogramme für die Arbeit mit diesem Display vorgestellt. Es ist wirklich eines der besten seiner Kategorie, nicht nur, dass Tausende von Funkamateuren es für ihre Projekte wählen!

Empfohlen: