Das vierte Türchen

En los últimos tres días, ha adquirido conocimientos básicos sobre la construcción de un circuito pequeño, la soldadura y la puesta en marcha de un microcontrolador. Lo que los elfos de Navidad no han lanzado hasta ahora eran periféricos para el microcontrolador. Los elfos de Navidad quieren corregir esto hoy y han escondido 6 componentes detrás de la puerta cuatro.   

Qué hay dentro detrás de la puerta número 4

Detrás de la puerta número cuatro hay:

  • 3 x HD44780 1602 LCD Módulo Pantalla (iluminación verde)
  • 3 x I2C adaptador de interfaz para soldar

Además, es posible que necesite las bibliotecas de programas para el Arduino IDE LiquidCrystal y/o LiquidCrystal_I2C. Le mostraremos cómo hacerlo, aqui

En general, tiene tres formas diferentes de conectar la pantalla a un microcontrolador, ver  Figura 1.

 Figura 1: HD44780 1602 LCD Módulo muestra las opciones de conexión

La primera variante, en la imagen de arriba, es la variante original con encabezado de pin soldado (no incluido). Pero esto también significa que se asignan al menos 6 pines en un microcontrolador, más sobre eso en un momento. La otra variante es con el adaptador de interfaz I2C soldado, que opcionalmente puede soldarse por delante o por detrás. Asegúrese de que los cabezales de cuatro pines para la conexión al microcontrolador siempre apunten hacia afuera, de lo contrario, la pantalla del módulo LCD HD44780 1602 puede ser destruida.

Conexión clásica

En la versión clásica, la pantalla LCD está conectada al microcontrolador en un total de 6 pines. La Figura 2 muestra una conexión de este tipo, en la que se utiliza el potenciómetro de 10kohm para el contraste de la pantalla.

 Figura 2: Conexión LCD paralelo Interfaz

El código correspondiente, véase Código 1, es delgado y emite en dos líneas el mensaje "LCD-Display without ic2".


//-----------------------------------------------------
// LiquidCrystal parallel interface
// Autor: Joern Weise
// License: GNU GPl 3.0
// Created: 24. Nov 2020
// Update: 24. Nov 2020
//-----------------------------------------------------
#include <LiquidCrystal.h> //include the LiquidCrystal library

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
//define LCD pins (RS, E, D4, D5, D6, D7)

void setup() {
lcd.begin(16, 2); //initializes the LCD and specifies the dimensions
lcd.home();
lcd.print(" LCD-Display ");
lcd.setCursor(0, 1);
lcd.print(" without i2c ");
}

void loop()
{

}

Código 1: Edición Simple

Por cierto, la cuenta para la posición del cursor y la línea comienza en 0, es decir lcd.setCursor (0,1); es la primera posición en la segunda línea.

Conexión con el adaptador de interfaz I2C

Si desea operar la pantalla con I2C, debe soldar el adaptador de interfaz I2C a la pantalla. En principio, puede operar hasta 8 pantallas LCD, si establece diferentes direcciones hexadecimales a través de los pads de direcciones. La Tabla 1 muestra cómo soldar qué pad de dirección para obtener la dirección HEX deseada, ver Figura 3. La "X" significa conectado, el "0" significa no conectado.

Item

A0

A1

A2

Hex address

1

X

X

X

0X20

2

0

X

X

0X21

3

X

0

X

0X22

4

0

0

X

0X23

5

X

X

0

0X24

6

0

X

0

0X25

7

X

0

0

0X26

8

0

0

0

0X27

Tabla 1: Dirección hexadecimal para pads de direcciones

 Figura 3: Posición de los pads de dirección para cambiar la dirección HEX

La dirección base es 0x27, los tres puentes de soldadura están abiertos.

La conexión por ejemplo a un Microcontrolador compatible con Arduino Uno R3 es bastante simple, porque se utilizan los pines I2C del microcontrolador, es decir, SDA a A4, SCL a A5, VCC a 5V y GND a GND, ver Figura 3. Aquí en la figura 3 también es fácil reconocer el potenciómetro para el contraste de la pantalla LCD.

Figura 4: Conexión HD44780 1602 LCD con I2C a Microcontrolador compatible con Arduino Uno R3

El Código 2 también emite un mensaje en dos líneas; aquí es la frase "LCD display with i2c". Aquí usamos la segunda biblioteca para LiquidCrystal con la adición _I2C.

//-----------------------------------------------------
// LiquidCrystal I2C connection
// Autor: Joern Weise
// License: GNU GPl 3.0
// Created: 24. Nov 2020
// Update: 24. Nov 2020
//-----------------------------------------------------
#include <Wire.h>
#include <LiquidCrystal_I2C.h>


LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display

void setup()
{
lcd.init(); // initialize the lcd
lcd.backlight(); // backlight on

lcd.home(); // set cursor to 0,0

//Write some text
lcd.print(" LCD-Display ");
lcd.setCursor(0, 1);
lcd.print(" with i2c ");

}

void loop()
{

}

Código 2: salida simple a través de I2C

Por supuesto, la combinación de ambas variantes de conexión también es posible, para esto debe combinar los circuitos de la Figura 2 y Figura 4, y por supuesto, incluir ambas bibliotecas.

En este sentido....

Figura 5: le deseamos una feliz navidad

Con esto, ha puesto en funcionamiento la puerta número 4 y ha adquirido algunos conocimientos básicos. Si quiere ver ideas de proyectos, los puede encontrar aquí: 

Puede encontrar más de mis proyectos para AZ-Delivery, aquí https://github.com/M3taKn1ght/Blog-Repo.

El equipo de AZ-Delivery le desea una linda temporada de Adviento

Especialidades

3 comentarios

Yannic Thiel

Yannic Thiel

Guten Tag
Ich bin absoluter Neuling im Bereich Arduino und Co. Ich hangele mich derzeit von Forum zu Forum und kleine, einfach Programme zum laufen zu bekommen. Ich habe aber ein Problem, dass mich seit Freitag Abend beschäftigt und ich keine vernünftige Lösung dazu finde. Wie kann ich Text, der länger als 16 Zeichen ist, durchscrollen lassen?

Bernd Albrecht

Bernd Albrecht

Unser französischer Freund fragt nach Unterschieden bei den Programm-Bibliotheken und wie man die tatsächliche I2C-Adresse eines Bauteils überprüft.
1. Der einzige Unterschied, den ich festgestellt habe, war bei der Initialisierung des Display-Objekts lcd. Wer bei lcd.init() eine Fehlermeldung erhält, sollte es mit lcd.begin() probieren.
2. Zur Überprüfung der I2C-Adresse benötigt man einen Micro Controller, auf dem die Programm-Bibliothek SoftwareSerial funktioniert, z.B. unseren Nano, sowie einen geeigneten Sketch, z.B. aus unserem Blog-Beitrag vom 5. Oktober 2020: https://www.az-delivery.de/en/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/ein-praktischer-und-kostengunstiger-i2c-scanner.
Notre ami français demande quelles sont les différences dans les bibliothèques de programmes et comment vérifier l’adresse I2C réelle d’une pièce.
1. La seule différence que j’ai remarquée était l’initialisation de l’objet d’affichage lcd. Si vous obtenez un message d’erreur avec lcd.init (), vous devriez essayer lcd.begin ().
2. Pour vérifier l’adresse I2C, vous avez besoin d’un microcontrôleur sur lequel fonctionne la bibliothèque de programmes SoftwareSerial, par ex. notre nano, ainsi qu’un croquis approprié, par ex. de notre article de blog du 5 octobre 2020: https://www.az-delivery.de/en/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/ein-praktischer-und-kostengunstiger-i2c-scanner.

Reitzer

Reitzer

Bonjour, merci pour votre partage!
Je démarre dans le “hobby” Arduino et il est difficile pour moi de savoir si toute les bibliothèques “LiquidCrystal_I2C.h” sont équivalentes (en fonction des auteurs) ou non, comment les choisir et ou les trouver…
D’autre part je ne suis pas sur de comprendre… L’adresse du LCD (ici 0×27) est un paramètre ‘physique’ du composant, je me trompe? si oui comment puis-je vérifier si l’adresse est effectivement correcte?
Merci a l’avance pour votre aide,
et bonne fête a vous aussi!

Deja un comentario

Todos los comentarios son moderados antes de ser publicados

Artículos de blog

  1. Ahora instalamos el esp32 a través de la administración.
  2. Lüftersteuerung Raspberry Pi
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1
  4. ESP32 - das Multitalent
  5. Transporte Aéreo - programación de ESP mediante redes locales inalámbricas