Conectar 4 pantallas lcd a un Arduino

Hola, estoy haciendo un proyecto y necesito conectar 4 pantallas lcd i2c a un mismo Arduino de manera que muestren cosas distintas, soy novato usando Arduino y no he logrado entender como hacerlo.

Gracias :slight_smile:

Que pantallas son . ¿DE las que llevan soldado por detrás un modulo como este?


Si no, ¿cuales?

Si, son de las que llevan soldado ese modulo

Bien detras del trimer de ajuste tienes tres pares de pad de soldaduras marcados como A0, A1 y A2.
una la dejas como esta, a las otras tres
i2c
A una le unes el par A0, (rojo), a otra el par A1,(verde) y a la ultima el par A2,(amarillo). De esta forma ya tienes las 4 con 4 direcciones I2C distintas, las conectas y corre un programa de escaneo de bus I2C como ESTE para conseguir esas 4 direcciones y ya las puedes llamar a cada una de ellas dentro de tu codigo.
Por ejemplo:

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

#define pantalla_1 ?x?? // ?x?? una de las direcciones que dio el escaner I2C
#define pantalla_2 ?x?? // ?x?? una de las direcciones que dio el escaner I2C
#define pantalla_3 ?x?? // ?x?? una de las direcciones que dio el escaner I2C
#define pantalla_4 ?x?? // ?x?? una de las direcciones que dio el escaner I2C

//Crear los objetos lcd  direcciónes  ?x?? y 16 columnas x 2 filas
LiquidCrystal_I2C lcd(pantalla_1, 16, 2);
LiquidCrystal_I2C lcd(pantalla_2, 16, 2);
LiquidCrystal_I2C lcd(pantalla_3, 16, 2);
LiquidCrystal_I2C lcd(pantalla_4, 16, 2);

void setup() {
  // Inicializar los LCD
  pantalla_1.init();
  pantalla_2.init();
  pantalla_3.init();
  pantalla_4.init();

  //Encender las luces de fondo.
  pantalla_1.backlight();
  pantalla_2.backlight();
  pantalla_3.backlight();
  pantalla_4.backlight();
  
}

void loop() {

  pantalla_1.setCursor(0, 0);
  pantalla_1.print("pantalla 1");

  pantalla_2.setCursor(0, 1);
  pantalla_2.print("pantalla 2");

  pantalla_3.setCursor(0, 0);
  pantalla_3.print("pantalla 3");

  pantalla_4.setCursor(0, 1);
  pantalla_4.print("pantalla 4");


  delay(1000);
}

Perfecto, entiendo, pero me queda una duda, cuando dices que una el par A0, te refieres a que debo soldarlo? o estoy entendiendo mal? Perdón si la pregunta es muy obvia.

si soldarlo, no tienes otra forma.

Para ampliar lo que te explicó @gonpezzi podés conectar hasta 8 pantallas, según cuáles puentes sueldes será la dirección de la pantalla.
En la tabla "L" representa cada soldadura (ya que sueldas ese pin a masa, LOW) y "H", obviamente, es que el puente no está soldado, entonces está en HIGH.
Según la versión del PCF8574 será la dirección.

Muchas gracias, una ultima duda, una vez que tenga las pantallas con distintas conexiones, como deben ir conectadas al Arduino? Estoy usando un Arduino Mega, lo que entiendo es que debería hacer las conexiones de manera que las 4 pantallas estén conectadas a los pines SDA Y SCL (en mi caso son los pines 20 y 21), pero quería estar seguro.

Exacto, las cuatro comparten pines eso es lo bueno del bus I2C. :wink:

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.