In dem Artikel werden wir ein 1602-Flüssigkristalldisplay mit einem FC-113-I2C-Modul an Arduino anschließen, wodurch die Verbindung mit nur zwei Datenkabeln und zwei Stromkabeln erfolgt.
Es ist notwendig
- -Arduino;
- - LCD 1602 Display (16 Zeichen, 2 Zeilen);
- - I2C-Adapter FC-113;
- - Anschlussdrähte.
Anleitung
Schritt 1
Das Modul FC-113 basiert auf der Mikroschaltung PCF8574T, die ein 8-Bit-Schieberegister - I / O-Expander für den seriellen I2C-Bus ist. In der Figur ist die Mikroschaltung mit DD1 bezeichnet.
R1 ist ein Trimmwiderstand zum Einstellen des Kontrasts des LCD.
Jumper J1 wird verwendet, um die Hintergrundbeleuchtung des Displays einzuschalten.
Die Pins 1…16 dienen zum Anschluss des Moduls an die Pins des LCD-Displays.
Die Kontaktpads A1 … A3 werden benötigt, um die Adresse des I2C-Gerätes zu ändern. Durch Anlöten der entsprechenden Jumper können Sie die Geräteadresse ändern. Die Tabelle zeigt die Entsprechung von Adressen und Jumpern: "0" entspricht dem offenen Stromkreis, "1" - dem installierten Jumper. Standardmäßig ist die Geräteadresse 0x27, d.h. alle 3 Jumper sind offen.
Schritt 2
Für den I2C-Bus wird das Modul standardmäßig mit dem Arduino verbunden: Der SDA-Pin des Moduls wird mit dem analogen Port A4 verbunden, der SCL-Pin wird mit dem analogen Port A5 des Arduino verbunden. Das Modul wird mit + 5V vom Arduino versorgt. Das Modul selbst ist über die Pins 1 … 16 mit den entsprechenden Pins 1 … 16 auf dem LCD-Display verbunden.
Schritt 3
Jetzt brauchen wir eine Bibliothek, um mit LCDs über die I2C-Schnittstelle zu arbeiten. Sie können beispielsweise diesen verwenden: https://www.dfrobot.com/wiki/index.php?title=I2C/TWI_LCD1602_Module_(SKU:_DFR0063)#Sample_Code (Link in der Zeile "Download Sample code and library").
Das heruntergeladene Archiv "LiquidCrystal_I2Cv1-1.rar" wird in den Ordner "\bibliotheken" entpackt, der sich im Arduino IDE-Verzeichnis befindet.
Die Bibliothek unterstützt eine Reihe von Standardfunktionen für LCD-Bildschirme:
LiquidCrystal () - erstellt eine Variable vom Typ LiquidCrystal und akzeptiert Anzeigeverbindungsparameter (Pin-Nummern), begin () - Initialisierung des LCD-Displays, Einstellungsparameter (Anzahl der Zeilen und Symbole);
clear () - löscht den Bildschirm und bringt den Cursor an die Startposition zurück;
home () - bringt den Cursor an die Startposition zurück;
setCursor () - Setzen des Cursors auf die angegebene Position;
write () - zeigt ein Zeichen auf dem LCD-Bildschirm an;
print () - zeigt Text auf dem LCD-Bildschirm an;
Cursor () - zeigt den Cursor an, d.h. unterstreichen unter der Stelle des nächsten Zeichens;
noCursor () - verbirgt den Cursor;
blink () - Cursor blinkt;
noBlink () - bricht das Blinken ab;
noDisplay () - schaltet das Display aus, während alle angezeigten Informationen gespeichert werden;
display () - schaltet das Display ein, während alle angezeigten Informationen gespeichert werden;
scrollDisplayLeft () - Scrollt den Anzeigeinhalt um 1 Position nach links;
scrollDisplayRight () - Scrollt den Displayinhalt um 1 Position nach rechts;
autoscroll () - autoscroll aktivieren;
noAutoscroll () - Autoscroll deaktivieren;
leftToRight () - legt die Richtung des Textes von links nach rechts fest;
rightToLeft () - Textrichtung von rechts nach links;
createChar () - Erstellt ein benutzerdefiniertes Zeichen für den LCD-Bildschirm.
Schritt 4
Öffnen wir das Beispiel: File -> Samples -> LiquidCrystal_I2C -> CustomChars und wiederholen es ein wenig. Lassen Sie uns eine Nachricht anzeigen, an deren Ende ein blinkendes Symbol angezeigt wird. Alle Nuancen der Skizze werden in den Kommentaren zum Code kommentiert.
Schritt 5
Schauen wir uns das Thema der Erstellung eigener Symbole für LCD-Bildschirme genauer an. Jedes Zeichen auf dem Bildschirm besteht aus 35 Punkten: 5 breit und 7 hoch (+1 reservierter Unterstrich). In Zeile 6 der obigen Skizze legen wir ein Array von 7 Zahlen fest: {0x0, 0xa, 0x1f, 0x1f, 0xe, 0x4, 0x0}. Lassen Sie uns Hex-Zahlen in Binärzahlen umwandeln: {00000, 01010, 11111, 11111, 01110, 00100, 00000}. Diese Zahlen sind nichts anderes als Bitmasken für jede der 7 Zeilen des Zeichens, wobei "0" einen hellen Punkt und "1" einen dunklen Punkt bezeichnet. Beispielsweise erscheint ein als Bitmaske spezifiziertes Herzsymbol auf dem Bildschirm, wie in der Abbildung gezeigt.
Schritt 6
Laden Sie die Skizze auf Arduino hoch. Auf dem Bildschirm wird die von uns angegebene Inschrift mit einem blinkenden Cursor am Ende angezeigt.