LCD Modul 16x02 I2C: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(37 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 7: Zeile 7:


== Einleitung ==
== Einleitung ==
Das I<sup>2</sup>C 1602 LCD Modul besteht aus einem zweizeiligen Display mit je 16 Zeichen pro Zeile und einem I<sup>2</sup>C Modul auf der Rückseite. I<sup>2</sup>C benötigt einen Takt- (SCL) und eine Datenverbindung (SDA) sowie +5VDC und GND. Über den [https://de.wikipedia.org/wiki/I%C2%B2C I<sup>2</sup>C-Bus] kann das Display mit nur 4 Anschlusskabeln betrieben werden.
Das I<sup>2</sup>C 1602 LCD Modul besteht aus einem zweizeiligen Display mit je 16 Zeichen pro Zeile und einem I<sup>2</sup>C Modul HW-061 auf der Rückseite. I<sup>2</sup>C benötigt einen Takt- (SCL) und eine Datenverbindung (SDA) sowie +5VDC und GND. Über den [https://de.wikipedia.org/wiki/I%C2%B2C I<sup>2</sup>C-Bus] kann das Display mit nur 4 Anschlusskabeln betrieben werden.


== Technische Übersicht ==
== Technische Übersicht ==
Zeile 19: Zeile 19:
| Spannungsversorgung || 5&thinsp;V DC
| Spannungsversorgung || 5&thinsp;V DC
|-
|-
| Rücklicht || weiß
| Rücklicht/Text || Blau/Weiß
|-
|-
| Kontrast || einstellbar über das Potentiometer des I<sup>2</sup>C-Interfaces
| Kontrast || einstellbar über das Potentiometer des I<sup>2</sup>C-Interfaces
Zeile 28: Zeile 28:
|}
|}


== Technische Übersicht ==
== I<sup>2</sup>C Modul HW-601 ==
[[Datei:HW-061.jpg|400px|thumb||right|Abbildung 2: I<sup>2</sup>C Modul HW-061 ]]
Abb. 2 zeigt die Einstellmäglichkeiten des I<sup>2</sup>C Modul HW-601. Tabelle 2 erläutert die Einstellfunktionen, Tabelle 3 die Pinbelegung und Einstelloptionen und Tabelle 4 erläutert die Anpassung der HEX-Adresse des Moduls ()
{| class="wikitable"
|+ Tabelle 2: Einstellungen des I2C Modul HW-601
! style="font-weight: bold;" | #
! style="font-weight: bold;" | Funktion
|-
| <big><big>&#9312;</big></big>  || Hintergrundbeleuchtung
|-
| <big><big>&#9313;</big></big>  || Kontrastanpassung
|-
| <big><big>&#9314;</big></big> || Anpassung der I<sup>2</sup>C-Adresse
|}
 
{| class="wikitable"
|+ Tabelle 3:  Pinbelegung und Einstellungen des I2C Modul HW-601
! Pin #
! colspan="2" | Bezeichnung
! Typ
! Funktion
|-
| 1 ||!! style="background-color: black;" |&nbsp; || GND ||Versorgung || Spannungsversorgung, GND
|-
| 2 ||!! style="background-color: red;"  |&nbsp; || VCC ||Versorgung || Spannungsversorgung, +5&thinsp;V
|-
| 3 ||!! style="background-color: yellow;" |&nbsp; || SDA || I/O|| A4, Serielle Datenleitung
|-
| 4 ||!! style="background-color: green;" |&nbsp; || SCL || CLK|| A5, Serielle Taktleitung
|-
| A0 ||  || A0 ||Lötverbindung || Optionale Adressänderung A0 (vgl. Tabelle 4)
|-
| A1 || || A1 ||Lötverbindung || Optionale Adressänderung A1 (vgl. Tabelle 4)
|-
| A2 || || A2 ||Lötverbindung || Optionale Adressänderung A2 (vgl. Tabelle 4)
|-
| Beleuchtung || ||  ||Steckbrücke|| gesetzt: Hintergrundbeleuchtung an, offen: Hintergrundbeleuchtung aus
|-
| Kontrast || ||  ||Potentiometer || Kontrastanpassung
|}
edes I²C Modul hat eine sogenannte „HEX Adresse“. Über diese Adresse reagiert das I²C-Modul auf die Daten, die vom Arduino auf dem Datenbus an genau diese Adresse gesendet werden. Viele I²C-LCDs haben auch die gleiche HEX-Adresse. Das bedeutet, dass beim Verwenden von zwei Displays beide Displays auf die gesendeten Daten vom Arduino-Board reagieren würden. Man könnte also auf zwei Displays keine unterschiedlichen Daten darstellen.
 
Die HEX-Adresse kann bei dem Display mit Hilfe der A0, A1 und A2 Lötstellen jedoch verändert werden. Im unveränderten Zustand sind alle drei Lötstellen nicht verbunden. Je nach Kombination, welche der Stellen man mit einer Lötstelle überbrückt, sind also 8 verschiedene Adressen möglich. Abhängig vom Display Typ kann diese Adresse anfangs 0x27 oder 0x3F sein (kann mit dem Adressen „Scanner“ herausgefunden werden, dazu später mehr).
 
Tabellen 4 zeigt die HEX Adressen je nach verlöteten Stellen ( | = verbunden, : = nicht verbunden). Standardeinstellung ist 0x27.
{| class="wikitable"
{| class="wikitable"
|+ Tabelle 1: Eigenschaften des LCD Modul 16x02 I2C
|+ Tabelle 4: Einstellungen des I2C Modul HW-601 <big><big>&#9314;</big></big>
! style="font-weight: bold;" | Eigenschaft
! style="font-weight: bold;" | A0
! style="font-weight: bold;" | Daten
! style="font-weight: bold;" | A1
! style="font-weight: bold;" | A2
! style="font-weight: bold;" | HEX Adresse
! style="font-weight: bold;" | HEX Adresse
|-
|: ||  : || : || '''0x27''' || 0x3F
|-
|&#124; ||  : || : || 0x26 || 0x3E
|-
|-
| I<sup>2</sup>C Adressbereich || 0x20 bis 0x27 (Standardadresse: 0x27)
|: || &#124; || : || 0x25 || 0x3D
|-
|-
| Spannungsversorgung || 5&thinsp;V DC
|&#124; || &#124; || : || 0x24 || 0x3C
|-
|-
| Rücklicht || weiß
|: || : || &#124; || 0x23 || 0x3B
|-
|-
| Kontrast || einstellbar über das Potentiometer des I<sup>2</sup>C-Interfaces
|&#124; || : || &#124; || 0x22 || 0x3A
|-
|-
| Größe|| 80&thinsp;mm x 36&thinsp;mm x 20&thinsp;mm
|: || &#124; || &#124; || 0x21 || 0x39
|-
|-
| Sichtbereich || 66&thinsp;mm x 16&thinsp;mm
|&#124; || &#124; || &#124; || 0x20 || 0x38
|}
|}


Zeile 59: Zeile 110:


== Tutorial ==
== Tutorial ==
* [https://funduino.de/nr-19-i%c2%b2c-display Funduino Anleitung - I2C Display]
* [https://funduino.de/nr-19-i%c2%b2c-display Funduino Anleitung - I<sup>2</sup>C Display]
* [https://funduino.de/nr-19-i%c2%b2c-display Funduino Anleitung - I2C Display]
* [https://funduino.de/nr-06-zwei-i%c2%b2c-displays-gleichzeitig Funduino Anleitung - zwei I<sup>2</sup>C Displays an einem Controller]
 
== Library ==
*[https://www.arduino.cc/reference/en/libraries/liquidcrystal-i2c/ LiquidCrystal I2C von Frank de Brabander, Marco Schwartz (v1.1.2)]
*[https://github.com/johnrickman/LiquidCrystal_I2C LiquidCrystal Arduino library for the DFRobot I2C LCD displays]


== Video ==
== Video ==
{{#ev:youtube|https://youtu.be/PWmn5U86RtA| 600 | |Arduino Tutorial - 12. I2C Display (LCD)|frame}}
{{#ev:youtube|https://youtu.be/PWmn5U86RtA| 600 | |Arduino Tutorial - 12. I2C Display (LCD)|frame}}
{{#ev:youtube|https://youtu.be/BajgkmIGN80| 600 | |Quicktip: I²C-Adressen schnell und einfach herausfinden!|frame}}


----
----
→ zurück zum Hauptartikel: [[Arduino]]
→ zurück zum Hauptartikel: [[Arduino]]

Aktuelle Version vom 4. Juli 2023, 12:48 Uhr

Abbildung 1: I2C LCD Modul

Autoren: Prof. Schneider


Einleitung

Das I2C 1602 LCD Modul besteht aus einem zweizeiligen Display mit je 16 Zeichen pro Zeile und einem I2C Modul HW-061 auf der Rückseite. I2C benötigt einen Takt- (SCL) und eine Datenverbindung (SDA) sowie +5VDC und GND. Über den I2C-Bus kann das Display mit nur 4 Anschlusskabeln betrieben werden.

Technische Übersicht

Tabelle 1: Eigenschaften des LCD Modul 16x02 I2C
Eigenschaft Daten
I2C Adressbereich 0x20 bis 0x27 (Standardadresse: 0x27)
Spannungsversorgung 5 V DC
Rücklicht/Text Blau/Weiß
Kontrast einstellbar über das Potentiometer des I2C-Interfaces
Größe 80 mm x 36 mm x 20 mm
Sichtbereich 66 mm x 16 mm

I2C Modul HW-601

Abbildung 2: I2C Modul HW-061

Abb. 2 zeigt die Einstellmäglichkeiten des I2C Modul HW-601. Tabelle 2 erläutert die Einstellfunktionen, Tabelle 3 die Pinbelegung und Einstelloptionen und Tabelle 4 erläutert die Anpassung der HEX-Adresse des Moduls ()

Tabelle 2: Einstellungen des I2C Modul HW-601
# Funktion
Hintergrundbeleuchtung
Kontrastanpassung
Anpassung der I2C-Adresse
Tabelle 3: Pinbelegung und Einstellungen des I2C Modul HW-601
Pin # Bezeichnung Typ Funktion
1   GND Versorgung Spannungsversorgung, GND
2   VCC Versorgung Spannungsversorgung, +5 V
3   SDA I/O A4, Serielle Datenleitung
4   SCL CLK A5, Serielle Taktleitung
A0 A0 Lötverbindung Optionale Adressänderung A0 (vgl. Tabelle 4)
A1 A1 Lötverbindung Optionale Adressänderung A1 (vgl. Tabelle 4)
A2 A2 Lötverbindung Optionale Adressänderung A2 (vgl. Tabelle 4)
Beleuchtung Steckbrücke gesetzt: Hintergrundbeleuchtung an, offen: Hintergrundbeleuchtung aus
Kontrast Potentiometer Kontrastanpassung

edes I²C Modul hat eine sogenannte „HEX Adresse“. Über diese Adresse reagiert das I²C-Modul auf die Daten, die vom Arduino auf dem Datenbus an genau diese Adresse gesendet werden. Viele I²C-LCDs haben auch die gleiche HEX-Adresse. Das bedeutet, dass beim Verwenden von zwei Displays beide Displays auf die gesendeten Daten vom Arduino-Board reagieren würden. Man könnte also auf zwei Displays keine unterschiedlichen Daten darstellen.

Die HEX-Adresse kann bei dem Display mit Hilfe der A0, A1 und A2 Lötstellen jedoch verändert werden. Im unveränderten Zustand sind alle drei Lötstellen nicht verbunden. Je nach Kombination, welche der Stellen man mit einer Lötstelle überbrückt, sind also 8 verschiedene Adressen möglich. Abhängig vom Display Typ kann diese Adresse anfangs 0x27 oder 0x3F sein (kann mit dem Adressen „Scanner“ herausgefunden werden, dazu später mehr).

Tabellen 4 zeigt die HEX Adressen je nach verlöteten Stellen ( | = verbunden, : = nicht verbunden). Standardeinstellung ist 0x27.

Tabelle 4: Einstellungen des I2C Modul HW-601
A0 A1 A2 HEX Adresse HEX Adresse
: : : 0x27 0x3F
| : : 0x26 0x3E
: | : 0x25 0x3D
| | : 0x24 0x3C
: : | 0x23 0x3B
| : | 0x22 0x3A
: | | 0x21 0x39
| | | 0x20 0x38

Datenblätter


Tutorial

Library

Video

Arduino Tutorial - 12. I2C Display (LCD)
Quicktip: I²C-Adressen schnell und einfach herausfinden!

→ zurück zum Hauptartikel: Arduino