Inhaltsverzeichnis:

DIY I2C LCD-Display mit Eingängen - Gunook
DIY I2C LCD-Display mit Eingängen - Gunook

Video: DIY I2C LCD-Display mit Eingängen - Gunook

Video: DIY I2C LCD-Display mit Eingängen - Gunook
Video: How to Make PLC LCD HMI || FLProg 2024, Juli
Anonim
DIY I2C LCD-Display mit Eingängen
DIY I2C LCD-Display mit Eingängen

Das typische parallele LCD, das mit einem Arduino (16x2 oder 20x4) verwendet wird, hat 16 Pins. Auf dem Arduino werden nur 6 I/O-Pins benötigt, aber was wäre, wenn Sie das auf zwei I/O-Pins reduzieren könnten und diese Pins noch für andere Geräte verfügbar sind?

Die I2C-Schnittstelle befindet sich an den Pins A4 und A5 des Arduino UNO. Diese sind adressierbar und können daher mit anderen I2C-Geräten mit anderen Adressen geteilt werden. Jetzt können Sie I2C-LCDs kaufen, und Sie können sogar I2C-LCDs mit unterschiedlichen Adressen finden, aber es handelt sich normalerweise um zweizeilige LCDs, und die Adressen sind fest. Ich werde Ihnen zeigen, wie Sie Ihre eigene I2C-Schnittstelle erstellen, eine von 8 Adressen auswählen und sogar bis zu 8 Ein- oder Ausgänge hinzufügen können, indem Sie einen MCP23017 16-Port-Expander-Chip verwenden. Dies ist derselbe Chip, den Adafruit verwendet ihr I2C-LCD-Tastaturschild und verwendet ihre Bibliothek, um mit ihr zu sprechen. Sie können sogar bis zu 16 LCD-Displays oder bis zu 128 digitale I/O-Pins und Kombinationen davon haben

MCP23017

20x4 LCD oder 16x2 LCD

Schritt 1: LCD-Verkabelung

LCD-Verkabelung
LCD-Verkabelung

Die Verbindungen zwischen dem parallelen LCD vom Typ Hitachi (2 oder 4 Zeilen) und dem MCP23017 sind auf dem Foto dargestellt.

SDA (Pin 13 am MCP23017) verbindet sich mit Arduino A4 und SCL (Pin 12) verbindet sich mit Arduino A5. Einige schlagen 4,7k Pull-Up-Widerstände vor (Pin 13 bis +5V und Pin 12 bis +5V), aber dieses Projekt funktioniert ohne sie gut.

Beachten Sie den 220-Ohm-Widerstand am LCD-k-Anschluss (Kathode, Masse). Das ist ein Muss!

Ohne sie können Sie den MCP23107-Hintergrundbeleuchtungsstift durchbrennen. Es gibt 3 Pins, die Sie für die Hintergrundbeleuchtung verwenden können. Pin 1 wird in der Bibliothek und im Sketch BLAU genannt, Pin 28 wird GRÜN genannt und Pin 27 wird ROT genannt. Wenn Sie ein monochromes LCD haben, können Sie einen der drei Pins verwenden und die entsprechende Farbbezeichnung verwenden. Wenn Sie eine RGB-Hintergrundbeleuchtung haben, können Sie viele Farbkombinationen erhalten. Sieh sie dir an

Die Pins 15, 16 und 17 am MCP23017 bestimmen die I2C-Adresse. Wir haben alle 3 geerdet, da dies die Standardadresse ist, die die Adafruit-Bibliothek verwendet. Um mehrere Displays hinzuzufügen oder eine andere Adresse auszuwählen, muss die Bibliothek geändert werden, daher bleiben wir vorerst bei der Standardeinstellung.

Adafruit_MCP23017.h enthält die folgende Zeile:

#define MCP23017_ADDRESS 0x20

Pin 17 = A2, Pin 16 = A1 und Pin 15 = A0

0 = Masse, 1 = +5V

Das Adressformat ist 0100A2A1A0. Da wir also alle 3 Leitungen geerdet haben, verwenden wir binär 0100000 oder 20 in Hex (0x20). 0100111 wäre 27 in Hex (0x27).

Schritt 2: Verdrahten der Eingangstasten

Verdrahtung der Eingangstasten
Verdrahtung der Eingangstasten

Wir binden 5 Eingabetasten in dieses Projekt ein. Wir nennen sie Left, Right, Up, Down und Select. Standard-Taster sind dafür ideal, aber jeder digitale Ein / Aus-Sensor funktioniert.

Verbinden Sie Ihre Tasten wie folgt:

Links verbindet zwischen Gnd und Pin 25 des MCP23017

Rechts verbindet zwischen Gnd und Pin 22

Up verbindet zwischen Gnd und Pin 24

Unten verbindet zwischen Gnd und Pin 23

Wählen Sie eine Verbindung zwischen Gnd und Pin 21

Schritt 3: LCD-Skizze

LCD-Skizze
LCD-Skizze

Laden Sie die Adafruit-Bibliothek herunter und installieren Sie sie, führen Sie das Beispiel "Hello World" aus, und diese LCD-Schnittstelle ist betriebsbereit. Wir haben Pin 27 beim MCP23017 verwendet, geben also nur ROT für die monochrome Hintergrundbeleuchtung an.

Wir werden uns mit der Bearbeitung der Bibliotheksadresse befassen, damit in einem zukünftigen Schritt bis zu 8 MCP23017-Chips verwendet werden können. Mailen Sie mir bei Fragen.

Weitere Projekte, die diesen Chip und zusätzlichen Code verwenden, finden Sie unter:

arduinotronics.blogspot.com/2015/11/wifi-rechargeable-internet-clock.html

arduinotronics.blogspot.com/2015/10/add-up-to-128-inputsoutputs-or-mix-to.html

Schritt 4: So funktioniert es

Image
Image

Hier ist ein Projekt, das wir mit der Adafruit-Version dieses Projekts erstellt haben. Die DIY-Version ist gleich verdrahtet, aber Sie können die monochrome Version anstelle der RGB-Hintergrundbeleuchtung verwenden.

Schritt 5: Datenblatt

Ein vollständiges Datenblatt ist verfügbar unter

Empfohlen: