Go Down

Topic: Problema con lcd 16x2 y modulo I2C [SOLUCIONADO] (Read 1 time) previous topic - next topic

Adrian_E

Oct 25, 2018, 04:37 am Last Edit: Oct 29, 2018, 11:08 pm by Adrian_E
ya probe con el arduino uno y el mega, cuanta libreria encontre me lei y probe soluciones de foro de arduino en español y ingles y otros. Cambie el modulo por otro igual pesendo que podia estar dañada y nada, lo que los sketch funcionan en la lcd 20x4, pero en la de 16x2 nada.
corri el i2c_scaner y medio que la direccion era 0x27, lo unico que hace es prender la lcd, y con algunos sketch parpadea, la puedo apagar y encender, pero no muestra caracteres.
revise soldaduras de ambos I2C,   cuandos los sueldo al lcd reviso con cuidado.
el I2C tiene como marca MH y la lcd QAPASS (qapass que anda :) ), alguna sugerencia

tauro0221

Hi,
Creo que para poderte ayudar necesitamos ver el sketch que estas usando y que libreria.

Adrian_E

Hi,
Creo que para poderte ayudar necesitamos ver el sketch que estas usando y que libreria.
Ese es un problema, porque tendria que subir como 20 skecht y varias libreria, ya que probe ideas de otros usuarios de este y otros foros, al no funcionar ninguna recurri aca para ver si hay  alguna idea nueva.

surbyte

Hay veces que la interfaz I2C esta cableada al LCD de forma no habitual. De hecho si miras la libreria veras como existe una definición de como estan cableados el LCD paralelo al PCF8574



Por eso existe un código donde le dices como van dichos pines directamente al PCF8574.

Toma un tester y prueba continuidad para ver como son las conexiones de tu módulo.
Y luego volvemos a probar.

Cuando lo tengas compártelo y te digo como seguir.

Adrian_E

gracias surbyte, me voy a tomar un tiempo para revisar

Adrian_E


tauro0221

Hi,
Necisitas anadirle las resistencias de 4k7 de los pines A4 y A5 a los +5. Creia qu estabas usando un I2C modulo ya hecho. como el link adjunto para que veas el modulo. Estos modulos ya traen las resistencias intaladas y son bien baratos. Estoy siguindo el esqquematico de surbyte.

https://www.ebay.com/itm/2Pcs-I2C-IIC-TWI-Serial-Interface-Board-Module-for-Arduino-LCD-1602-US-SHIP-N50/382580272312?hash=item59138facb8:g:ygoAAOSw61FbtOUi:rk:2:pf:0

Adrian_E

es un modulo comprado, la imagen es para surbyte, de como esta conectado al display, es el cableado

tauro0221

Hi,
Quieres decir que no lo tienes soldado al display. Estas usando cables para conectarlos al display. Yo nunca soldo el I2C modulo al display. Yo uso el mismo typo de conector que usa el Arduino UNO para las salidas de los pines. Si tengo problemas lo puedo remplazar facilmente sin tener que desoldarlo del display. Yo tuve un problema una vez con un display de 2 lineas que no queria trabajar pero ahora no recuerdo como lo resolvi. Creo que era la libreria que estaba usando. Voy a buscar el sketch para ver que libreria use.

Adrian_E

si cometi el error de soldarlo a los dos que tengo, menos mal que tengo malla desoldante y resina con alcohol,  asi que ahora los tengo separado, de la manera tradicional sin I2C funciona bien, pero me ocupa demaciados pines

surbyte

#10
Oct 25, 2018, 09:33 pm Last Edit: Oct 25, 2018, 09:35 pm by surbyte
@tauro0221 estas en otro canal!!
El módulo esta soldado pero no responde a ninguna librería. No leíste todo el hilo (como me pasa a mi a veces) porque el ya lo dijo y su esquema es la respuesta a lo que yo le pedí hacer.

Bien vas a usar esta librería, fmalpartida Home a la izquierda lees download

Esta librería tiene un constructor que te permite hacer esto

Code: [Select]
LiquidCrystal_I2C(uint8_t lcd_Addr, uint8_t En, uint8_t Rw, uint8_t Rs,
                     uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7 );


O sea decirle que pines usa el PCF8574
Asi que eso haremos y verás que funcionará.

Sigue esta guía I2C connection

En tu caso sería

Code: [Select]
//                    addr, en,rw,rs,d4,d5,d6,d7
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7);  // Set the LCD I2C address


Esta igual que el ejemplo



Prueba con un ejemplo de la parte I2C y me dices.


Adrian_E

ok, amigo probando, despues te comento

Adrian_E

deberia andar ahi, no?
Code: [Select]
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7);

void setup() {
  lcd.begin ( 16, 2 );

}

void loop() {
    lcd.home ();
    lcd.setCursor(0,0);
    lcd.print("Hora:");
}


pero nada

surbyte


tauro0221

#14
Oct 26, 2018, 12:58 am Last Edit: Oct 26, 2018, 01:54 am by surbyte
Hi,
jajajaja Perdon pido mil disculpas. Es que estoy contestando al otro problema con el LCD y tenia las dos ventanas abiertas . De todas manera porque insiste en usar este comando "LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7);: si esta usando el I2C. Los que debe de usar son estos:

Code: [Select]
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2)


y en el setup  usar estos:

Code: [Select]
lcd.init();                      // initialize the lcd
lcd.begin();
lcd.backlight();


Como dijo el chapulin colorado "Pues me Doy"

Go Up