Inhaltsverzeichnis:
- Schritt 1: Teilebeschreibung - LCD-Tastatur-Abschirmmodul
- Schritt 2: Teilebeschreibung - I2C Serielles Modul
- Schritt 3: Verbindungen
- Schritt 4: Machen Sie den RST-Schlüssel ähnlich wie die anderen 5 Schlüssel nutzbar
- Schritt 5: Software
- Schritt 6: Überprüfung und Diskussion
Video: 1602 LCD-Tastatur-Abschirmmodul mit I2C-Rucksack - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:18
Als Teil eines größeren Projekts wollte ich ein LCD-Display und eine Tastatur zur Navigation einiger einfacher Menüs haben. Ich werde viele der I / O-Ports des Arduino für andere Aufgaben verwenden, daher wollte ich eine I2C-Schnittstelle für das LCD. Also kaufte ich etwas Hardware, bestehend aus einem 1602 LCD Keypad Shield Modul von DFRobot und einem anonymen I2C seriellen Modul für LCDs. Ich möchte diese mit einem Arduino Nano verwenden. Dann stellte ich fest, dass es einige Herausforderungen gibt, diese Komponenten zusammenzuarbeiten – aber es ist möglich. Deshalb möchte ich meine Erfahrungen teilen und vielleicht anderen helfen.
Dieses Foto zeigt das funktionierende Steckbrett, das Meldungen auf dem LCD anzeigen und Tastendrücke identifizieren kann. Das LCD wird über die I2C-Schnittstelle gesteuert, einschließlich der LCD-Hintergrundbeleuchtung. Die Tastendrücke werden vom Arduino an Pin A0 empfangen (es kann jeder der analogen Pins sein, außer A4 und A5, die für die I2C-Schnittstelle gebunden sind).
Schritt 1: Teilebeschreibung - LCD-Tastatur-Abschirmmodul
Das LCD-Tastatur-Abschirmmodul besteht aus einem häufig verwendeten 1602-LCD, das auf einer Platine montiert ist, die die Tasten hält und eine Teilmenge der LCD-Anschlüsse aufnimmt und sie den Stiftleisten auf der Unterseite der Platine zur Verfügung stellt. Ich verstehe, dass dieses Board auf einem Arduino Uno oder ähnlichem montiert werden soll und das richtige Pin-Layout bietet, damit es in dieser Umgebung funktioniert. Ich habe dieses Modul bei Ebay von einem Händler in China gekauft. Die Header-Pins auf der unteren Seite (Tastatur) der Platine sind meistens beschriftet, die Pins auf der Oberseite, der LCD-Schnittstelle, sind jedoch nicht beschriftet. Die Pins auf dem LCD selbst sind jedoch beschriftet.
Schritt 2: Teilebeschreibung - I2C Serielles Modul
Das serielle Modul hat den üblichen 4-Pin-Header für I2C und einen Satz unbeschrifteter Header-Pins, die meines Wissens direkt in die Unterseite des LCD-Moduls gesteckt werden sollen. Durch das Studium der Beschriftungen auf dem LCD konnte ich die Funktionen der Pins am seriellen Modul identifizieren.
Dieses Modul basiert auf dem IC PCF8574T, der das I2C-Protokoll terminiert, hat 3 Pins zur Adresssteuerung (20 bis 27) und hat 8 digitale Ein-/Ausgangspins P0 bis P7. Laut Datenblatt des PCF8574T hat jeder I/O-Pin einen FET, um ihn für den LOW-Zustand auf Masse zu ziehen, und kann mindestens 20 mA absinken. Im High-Zustand hat es einen kurzzeitigen aktiven Pull-Up und dann einen anhaltenden Pull-Up-Strom von etwa 0,1 mA.
Bei diesem Modul werden alle digitalen I/O-Pins, außer P3, einfach auf Header-Pins geführt (rechts im Foto). Im Fall von P3 ist es mit der Basis eines Transistors verbunden (im Foto oben rechts direkt unter der Beschriftung "LED" sichtbar). Der Emitter dieses Transistors ist mit Vss (Masse) verbunden und der Kollektor ist mit dem Header-Pin 16 verbunden, wo er zur Steuerung der LCD-Hintergrundbeleuchtung verwendet werden kann. Aufgrund des Transistors ist der logische Zustand gegenüber dem in der Softwarebibliothek angenommenen umgekehrt. Das heißt, die LCD-Hintergrundbeleuchtung wird eingeschaltet, wenn der P3-Pin Low ist, und AUS, wenn der P3-Pin High ist.
Das Etikett auf dem Transistor sagt L6, was es nach meinen Recherchen wahrscheinlich zu einem MMBC1623L6 mit einer minimalen Stromverstärkung von 200 macht. Mit 0,1 mA Basisstrom sollte er in der Lage sein, einen LOW-Zustand an seinem Kollektor (Modul Pin 16) aufrechtzuerhalten. mit mindestens 20mA Kollektorstrom.
Darüber hinaus verfügt dieses Modul über ein 10K-Potentiometer, das zwischen +5 und Masse geschaltet ist, dessen variable Leitung auf Pin 3 (dritter von unten im Foto) herausgeführt ist. Bei direktem Anschluss an das LCD steuert dieser Poti den Kontrast des LCD. Diese Funktion wird jedoch von einem separaten, ähnlichen Poti auf der LCD-Abschirmung bereitgestellt, sodass dieser Poti auf dem seriellen Modul keine Funktion hat.
Ich konnte keine Verbindung zum INT-Pin des PCF8574T finden.
AKTUALISIERUNG 22. August 2019
Wie oben erwähnt, verfügt der PCF8574 über 3 Adresssteuerpins. Diese scheinen auf Pads auf dem Rucksackbrett herausgebracht zu werden, wo sie mit A0, A1 und A2 beschriftet sind. Sie sind auf dem Foto zu sehen. Ich habe dies nicht getestet, aber es scheint fast sicher zu sein, dass durch das Überbrücken eines oder mehrerer dieser Pins mit den benachbarten Pads die I2C-Adresse über den Bereich von 20 bis 27 gesteuert werden kann. Darüber hinaus gibt es ein zweites fast identisches Gerät, das PCF8574A mit identischer Funktionalität wie PCF8574, deckt aber den Adressbereich von 0x38 bis 0x3F ab.
Die Adresse, die Ihr Gerät tatsächlich verwendet, kann mit einem I2CScanner überprüft werden. Es gibt mehrere einfache I2C-Scanner aus verschiedenen Quellen. Dieser unter https://github.com/farmerkeith/I2CScanner identifiziert auch einige der gefundenen Geräte.
Schritt 3: Verbindungen
Vielen Dank an ChaitanyaM17, der das Fritzing-Diagramm zur Verfügung gestellt hat, das die unten beschriebenen Verbindungen darstellt.
Leistung:
Das LCD-Modul hat auf der Unterseite einen Pin mit der Bezeichnung "5.0V". Rechts daneben befinden sich zwei unbeschriftete Pins, die beide geschliffen sind.
Halten Sie das serielle Modul mit der I2C-Schnittstelle am linken Ende, am unteren Rand befinden sich 16 Pins. Der erste davon ist geerdet und der zweite ist +5v. Eine andere Möglichkeit besteht darin, die unteren beiden Pins der I2C-Schnittstelle für die Stromversorgung zu verwenden, aber ich fand es bequemer, die Pins wie oben beschrieben zu verwenden.
I2C-Schnittstelle. Auf dem seriellen Modul ist der oberste Pin SCL (Takt) und geht zum Arduino A5. Der zweite Pin ist SDA (Daten) und geht an den Arduino A4.
LCD-Druckschnittstelle. Es gibt 6 Verbindungen zwischen dem seriellen Modul und der LCD-Tastaturabschirmung, alle zwischen Pins ohne Beschriftung. Ich werde sie auf dem LCD-Modul identifizieren, indem ich von rechts nach links zähle, wobei der erste Pin als 1 ist. Es gibt 2 Blöcke von 8, also gehen sie von 1 bis 16. Ich identifiziere sie auf dem seriellen I2C-Modul, indem ich von links nach zähle Richtig, davon gibt es auch 16 Stück. Außerdem gebe ich jedem Draht ein Etikett, das der äquivalente Pin auf dem Arduino ist, der normalerweise mit dieser Funktion verbunden ist, im Falle einer direkten Verbindung ohne das serielle Modul.
Die 6 Datenverbindungen sind also:
Arduino-Äquivalent // Serieller Modulstift // LCD-Tastaturmodulstift
D4 // 11 // 5 D5 // 12 // 6 D6 // 13 // 7 D7 // 14 // 8 D8 // 4 // 9D9 // 6 // 10
LCD-Hintergrundbeleuchtungssteuerung: Dies verwendet eine weitere Verbindung:
Arduino-Äquivalent // Serieller Modulstift // LCD-Tastaturmodulstift
D10 //16 // 11
Tastaturschnittstelle: Dies verwendet ein einzelnes Kabel vom LCD-Modul-Pin auf der Unterseite mit der Bezeichnung "A0" zum Pin A0 auf dem Arduino. Das war zumindest ziemlich einfach!
Schritt 4: Machen Sie den RST-Schlüssel ähnlich wie die anderen 5 Schlüssel nutzbar
Der RST kann direkt an den RESTART-Eingang des Arduino Nano angeschlossen werden.
Wenn Sie jedoch möchten, dass die RST-Taste in der Software für andere Zwecke verwendet werden kann, können Sie dies durch Anschließen eines 15K-Widerstands zwischen dem RST-Pin und dem A0-Pin an der Unterseite der LCD-Bedienfeldabschirmung erreichen.
Dies funktioniert wie folgt: Es gibt einen 2K-Widerstand zwischen +5V und der rechten Taste. Dann eine Kette von zunehmend größeren Widerständen für jede der anderen Tasten (330R bis UP-Taste, 620R bis DOWN-Taste, 1K bis LINKS-Taste und 3K3 bis SELECT-Taste. Alle Tasten (einschließlich der RST-Taste) verbinden sich mit Bei Anschluss an einen 10 Bit A/D-Wandler (wie beim Arduino Nano A0) liefern sie ungefähr folgende Werte:
Rechts = 0; Hoch = 100; Unten = 260; Links = 410; Wählen Sie = 640.
Mit dem 15 k Widerstand gegen RST liefert er etwa 850.
Die Software verwendet Werte um die Mittelpunkte zwischen diesen Werten, um zu entscheiden, welche Taste gedrückt wurde.
Schritt 5: Software
Nützliche Software ist natürlich eine Übung für den Leser. Um Ihnen jedoch den Einstieg zu erleichtern, können Sie sich meine Testsoftware ansehen. Ich habe die NewLiquidCrystal-Bibliothek verwendet, die Unterstützung für die I2C-Schnittstelle enthält. Es hat alles funktioniert, sobald ich die Bibliotheken richtig installiert habe.
Der Hauptpunkt war, die Polarität der Befehle Backlight OFF und ON umzukehren (aufgrund des Transistors auf dem I2C-Modul, wie im Abschnitt Teilebeschreibung erläutert).
AKTUALISIERUNG 22. August 2019
Sollten Sie Probleme damit haben, dass das LCD-Display nicht funktioniert, überprüfen Sie bitte die I2C-Adresse Ihres seriellen Rucksacks mit einem I2C-Scanner. Ein geeigneter Scanner ist angeschlossen. Passen Sie dann ggf. den ersten Parameter in der Anweisung an
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7);
Schritt 6: Überprüfung und Diskussion
Wie Sie sehen können, habe ich die wichtigsten Funktionen zum Laufen gebracht.
Meine nächste Absicht ist, dies als Teil eines anderen Projekts in eine Projektbox zu legen. Nachdem ich diesen Weg eingeschlagen hatte, erfuhr ich jedoch, dass es noch eine andere Schwierigkeit gibt, mit der ich nicht gerechnet hatte.
Die Schwierigkeit besteht darin, dass dieses LCD-Tastaturmodul nicht für den Einbau in eine Box eingerichtet ist. Jede Art von Kiste. Die Tasten der 6 Tasten liegen deutlich unter der Ebene des LCD-Bildschirms, so dass bei einer Montage des Moduls in einer Box (zB im Deckel) mit der Oberseite der LCD-Platine bündig mit der Unterseite des Deckels die Oberseiten der Tasten befinden sich ca. 7 mm unterhalb der Deckeloberkante.
Mögliche Lösungen sind:
a) Lass es zu. Zugangslöcher in den Deckel bohren und mit einem Werkzeug (zB einer abgeschnittenen Stricknadel mit passendem Durchmesser) die Knöpfe drücken.
b) Entfernen Sie das LCD von der Modulplatine und führen Sie eine Operation an der Tastatur durch, damit die beiden Komponenten unabhängig voneinander am Deckel der Projektbox befestigt werden können (ich denke, es kann immer noch ein Problem mit zu kurzen Tasten geben)
c) Entfernen Sie die vorhandenen Tasten und ersetzen Sie sie durch höhere Tasten. Die neuen Tasten müssen ca. 13 mm hoch sein, damit sie durch den Deckel der Projektbox bedient werden können). Ersatztastenschalter sind in verschiedenen Höhen erhältlich, einschließlich 13 mm.
d) Entsorgen Sie das LCD-Tastaturschildmodul und verwenden Sie separate LCD- und Tastatureinheiten (dh beginnen Sie von vorne). Es gibt eine breite Palette von Tastatureinheiten, aber ich habe keine mit dem gleichen 6-Tasten-Layout wie bei diesem Modul gesehen (dh Auswählen, Links, Auf, Ab, Rechts, Neustart). Es ist vielleicht kein großes Problem, aber einer der Gründe, warum ich mit diesem Modul angefangen habe, war, dass ich dachte, dass dieses Tastenlayout das ist, was ich wollte.
Ich plane, mit Lösung c) oben zu gehen, und sehen, wie ich vorgehe.
Ein weiterer Informationsschnipsel, der von Interesse sein könnte:
Bei eingeschalteter Hintergrundbeleuchtung beträgt der Stromverbrauch dieses Projekts: Arduino Nano 21,5 ma; Serielles Modul 3,6 ma; LCD-Modul 27,5 mA; Insgesamt 52 mA.
Bei ausgeschalteter Hintergrundbeleuchtung beträgt der Stromverbrauch dieses Projekts: Arduino Nano 21,5 ma; Serielles Modul 4,6 ma; LCD-Modul 9,8 mA; Insgesamt 36 mA.
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Bewegungsaktivierte Cosplay Wings mit Circuit Playground Express - Teil 1: 7 Schritte (mit Bildern)
Bewegungsaktivierte Cosplay-Flügel mit Circuit Playground Express - Teil 1: Dies ist Teil 1 eines zweiteiligen Projekts, in dem ich Ihnen meinen Prozess zur Herstellung eines Paars automatisierter Feenflügel zeige. Der erste Teil des Projekts ist der Mechanik der Flügel, und der zweite Teil macht es tragbar und fügt die Flügel hinzu
Raspberry Pi mit Node.js mit der Cloud verbinden – wikiHow
So verbinden Sie Raspberry Pi mit Node.js mit der Cloud: Dieses Tutorial ist nützlich für alle, die einen Raspberry Pi mit Node.js mit der Cloud, insbesondere mit der AskSensors IoT-Plattform, verbinden möchten. Sie haben keinen Raspberry Pi? Wenn Sie derzeit keinen Raspberry Pi besitzen, empfehle ich Ihnen, sich einen Raspberry Pi zuzulegen
DIY Circuit Activity Board mit Büroklammern - HERSTELLER - STEM: 3 Schritte (mit Bildern)
DIY Circuit Activity Board mit Büroklammern | HERSTELLER | STEM: Mit diesem Projekt können Sie den Weg des elektrischen Stroms ändern, um durch verschiedene Sensoren zu laufen. Mit diesem Design können Sie zwischen dem Aufleuchten einer blauen LED oder dem Aktivieren eines Summers wechseln. Sie haben auch die Wahl, einen lichtabhängigen Widerstand mit
So reparieren Sie einen Wechselrichter mit LCD-Hintergrundbeleuchtung. Mit einem Fujiplus FP-988D. für 0 $.: 9 Schritte
So reparieren Sie einen Wechselrichter mit LCD-Hintergrundbeleuchtung. Mit einem Fujiplus FP-988D. für $ 0.: In diesem anweisbaren werde ich Sie durch die Reparatur eines toten LCD-Hintergrundlicht-Wechselrichters mit den Teilen führen, die Sie haben. Sie können feststellen, ob Sie ein totes Gegenlicht haben, indem Sie zuerst andere Möglichkeiten ausschließen. Monitor auf mehreren Computern überprüfen. Stellen Sie sicher, dass