Necesito ayuda con mi display de DFrobot I2C

Buenos dias Tiozes, pues hago lo siguiente le conecto la alimentación y nada mas conectarla se enciende toda la primera línea todos los cuadritos conecto los pines de datos al pin 4 y 5, compilo y paso el programa al arduino sin ningun problema pero el display se queda como estaba no se inmuta.

Pon el programa que le pasas.

Yo lo tengo todo conectado asi y me va bien, pero lo conecto todo y despues le doy alimentacion al arduino.

Pero vamos sin meterle programa ami nunca me mostró nada en el LCD solo se enciende la iluminacion del LCD y ya esta.

Buenas...

Que tal es un backpack con el pcf8574, he encontrado siguiente link y me parece abordable (diy), la idea seria emplear uno o dos lcds con este y un key pad...

Un saludo.

inigohe

La verdad es que funcionan muy bien, yo tengo uno (disclaimer - es un producto que distribuyo) que funciona muy bien. Es más, con mi librería "New LiquidCrystal" es unas 3 veces más rápida que con la "LiquidCrystal_I2C".

Y lo mejor de todo - Made in Spain :wink:

Si estáis interesados: electroFUN LTD: I2C LCD extra IO

La librería está accesible desde la página en la sección de descargas.

Buenas...

He visto que si se quiere ampliar, es necesario colocar resistencias entre 5 v y sda y sdcl... o me equivoco, pero seria posible incluirlas en el backpack...

Y otra pregunta hay que hacerlo por cada backpack o solo seria necesario en el primero???

Disculpa por asaetearte de esta manera.

Gracias por las respuestas.

inigohe

No, las resistencias, en el caso del mío son para el I2C, de hecho el de DFRobot no lo mencionan por ningún lado y es una fuente de errores impresionante, lo mismo que el que has puesto en el enlace anterior.

En el caso del mío, se pueden conectar hasta 8 LCDs si se quiere, lo único que hay que hacer es reconfigurar los jumpers que tiene en la parte trasera (y accesibles cuando está montado el LCD) para que cada dispositivo I2C tenga una dirección diferente.

La resistencia de pull-up externa de 10K en SDA y SCL solo hay que poner una en cada pin en todo el bus I2C.

Con respecto a la dirección de cada dispositivo, ésta hay que programarla en cada LCD. Como comentaba, son unos jumpers que se sueldan para que cada dispositivo en el bus tenga una dirección diferente. Por defecto lo tengo configurado para que todos estén en la dirección 0x38. El rango completo es: 0x38, 0x39 ... 0x3F. Lo puedes ver en: electroFUN LTD: I2C LCD extra IO

Si en una aplicación quieres tener varios LCDs conectados, con mi librería "New LiquidCrystal" tendrías que crear varios objetos (variables) LiquidCrystal_I2C con las direcciones correspondientes a cada LCD.

En breve tendré un controlador de LCDs con 3 hilos que es 5.5 veces más rápido que usando la librería estándar LiquidCrystal.

Buenas...

Que quieres decir que sin jumpers no se podria hacer, el colocar mas lcd´s???, entonces que ocurre cuando se tienen A0.A1 y A2 unidos y a tierra??

He estado probando tu montaje con el eagle para hacerlo trought hole con simple cara y es imposible, por eso estaba barajando la posibilidad de cargarme los puentes para poder hacerlo de este modo...

El problema del shield de DFrobots, no es extrapolable a los lcd´s que se venden por ahi, corrigeme si me equivoco si usamos 4 bits , la patilla 10 quedaria libre, vamos que no se usa, o al menos podria evitarse el conectarla al backpack. De todos modos, he visto tambien como solucion el colocar una resistencia, que entiendo servira para atenuar el exceso de tension.

En Dangerous Prototypes usaron un proto sin jumpers y aparentemente les funcionaba, no te quiero hacer aguas el bussiness, solamente es que me gusta hacerme los protos y tengo en camino unos ic´s, para un par de lcd´s que tengo en mente emplear en un proyecto.Te pongo el link...

El diseño es sencillo y abordable por el metodo toner plancha, al ser de una cara y con un puente...

http://dangerousprototypes.com/docs/HD44780_character_LCD_adapter

Un saludo.

inigohe

inigohe:
Buenas...

Que quieres decir que sin jumpers no se podria hacer, el colocar mas lcd´s???, entonces que ocurre cuando se tienen A0.A1 y A2 unidos y a tierra??

Tu me dirás cómo van a coexistir dos dispositivos I2C en el mismo bus con la misma dirección I2C.

Cuando A0, A1 y A2 están a tierra, lo que estás haciendo es programar el PCF8574 para que responda a la dirección I2C 0x38.

El problema del shield de DFrobots, no es extrapolable a los lcd´s que se venden por ahi, corrigeme si me equivoco si usamos 4 bits , la patilla 10 quedaria libre, vamos que no se usa, o al menos podria evitarse el conectarla al backpack. De todos modos, he visto tambien como solucion el colocar una resistencia, que entiendo servira para atenuar el exceso de tension.

El problema de los backpacks que venden los de DFRobots es la forma que tienen de controlar el "backlight" del LCD. Ayer publiqué un post en este foro con imágenes de los esquemáticos. He visto varios backpacks con LCDs con este problema y por eso lo he compartido en el foro para que la gente sepa que mirar en el esquemático cuando comprar uno a China. Ya te digo, no todos tienen ese problema, solo los clones del de DFRobots and co.

Por otro lado, hay mucha gente que no indica que hay que conectar resistencias de pull-up en un bus I2C y genera problemas porque un buen día la placa que funcionaba deja de funcionar o simplemente no funciona.

En Dangerous Prototypes usaron un proto sin jumpers y aparentemente les funcionaba, no te quiero hacer aguas el bussiness, solamente es que me gusta hacerme los protos y tengo en camino unos ic´s, para un par de lcd´s que tengo en mente emplear en un proyecto.Te pongo el link...

Efectivamente, el backpack va a funcionar tal y como te he dicho anteriormente va a responder a la dirección I2C 0x38. Pero vuelvo a insistir, ya me contarás como coexisten dos dispositivos I2C con la misma dirección. Se me ocurre que pongas uno con un PCF8574 y otro con PCA8574, uno respondería a la dirección I2C 0x38 y el otro en la 0x27. Ojo, que si solo quieres controlar un solo LCD no tendrás ningún problema. Si te fijas, el esquemático es prácticamente igual. Ahora bien, ponle un desacoplo al circuito que luego te puede dar guerra.

Hombre, el bussiness ... Afortunadamente no vivo de esto, ni pretendo hacerlo. Simplemente, me gusta compartir algunos de mis diseños con la gente, cosas que he usado en otros diseños y me han parecido útiles, si les gustan pues me compran uno, si se lo quieren es montárselo ellos; los esquemáticos están disponibles, los ficheros Eagle también junto con la lista detallada de componentes junto con sus referencias. Como verás los vendo prácticamente al coste (no tengo una gran producción por lo que no puedo jugar con el volumen), vamos suma lo que te van a costar los materiales, los líquidos, el PCB virgen, el transporte o los portes, ... para que la gente que quiera solo uno no le salga por un ojo de la cara o simplemente no se lo quieran montar. Eso sí, los que quieran usar el diseño como referencia está disponible para que se use, se hagan variantes, se mejore lo modifiquen, ...

El diseño es sencillo y abordable por el metodo toner plancha, al ser de una cara y con un puente...

HD44780 character LCD adapter - DP

Un saludo.

inigohe

La verdad es que no tiene gran misterio el backpack de dangerous prototypes, el único inconveniente que le veo es que con ese diseño/esquemático no vas a poder encadenar varios LCDs o teclados en el mismo bus I2C. Por lo demás, si usas la "New LiquidCrystal library" va a funcionar como un cohete, además si quieres usarlo como teclado tienes una clase que se llama I2CIO en el mismo pack.

Por último, si usas ese diseño no te olvides del desacoplo...

Espero que te sea útil.

Buenas...

Aunque no soy un experto en esto me he permitido el lujo de modificar tu diseño y le he añadido una resistencia y un diodo, en la alimentacion del led del lcd, no se si he cometido una barbaridad o es correcto el añadido, vosotros direis. He conseguido hacerlo para una cara, pero tengo que ponerle puentes.

No se si de este modo se podra haber evitado el problema de diseño que tenian los lcd y que comentaba fm.

Un saludo.

inigohe

Hola,

D1 no te hace falta y R2 yo le pondría 100R (con 1K no vas a ver nada).

Los desacoplos los tienes mal puestos, date cuenta que un condensador en continua es como un circuito abierto, por lo tanto no le va a llegar Vdd al chisme. Vamos, que Vdd al condensador y a Vdd del asic. Pon etiquetas en el ASIC y el LCD para ver que se conecta con qué. En lo que has publicado parece que no va conectado a nada.

Un saludo

Buenas, no me he explicado bien, la alimentacion VDD (5 v) entra por el conector de 5 pines en SL1(pines 1 y alimentacion del led por el 5)... He colocado las etiquetas de las diferentes patillas, pensaba que se entendia bien...

Gracias por la asesoria.

inigohe

Los desacoplos siguen estando mal, tal y como esta no va a funcionar nada.

La etiquetas son útiles para compartir la información y por si hay algún problema que la gente entienda como estaba conectado.

Saludos...

Me equivoque de foto, creo que te refieres a las conexiones a los condensadores... soy un poco (bastante) zote... todo lo que se de electronica ha sido de manera autodidacta, ya que lo mio fue la quimica y los laboratorios y esta claro que tengo bastantes lagunas (oceanos), en lo que a conceptos basicos se refieren.

He corregido la ultima foto, no es cuestion de hinchar el post con muchos contenidos....

El circuito lo saque de este link, me estoy liando un pelin...

http://cdn.bitbucket.org/fmalpartida/i2c-lcd-extra-io/downloads/lcd_i2c_schematic.pdf

Un saludo.

inigohe

Hola gracias a todos por vuestro interes, os muestro la foto del display nada mas conectarle la alimentacion sin estar conectado los cables de datos

saludos

OK, tiene buena pinta. Lo único que no veo bien en la foto es a qué tienes conectado el pin 16 del PCF8574, parece como si estuviese a GND. Este pin tiene que ir a Vdd. Vdd = +5V, Vss = GND.

Aquí te dejo el esquemático que yo uso. La diferencia es el chip, el que tu quieres poner es DIP y el que yo monto es SMD. Ojo, que en el esquemático este que pongo no están los jumpers.

Revisa la alimentación, simplemente y después compara los esquemáticos.

i2c_lcd_schematic.jpg

Buenas...

Que te parece, para ahorrarme pistas podria evitar poner el led de actividad p.e. y en vez de los jumpers emplear un pack de interruptores... o es rizar mucho el rizo??

inigohe

El LED la verdad es que no le veo el chiste, pero el pack de interruptores lo veo útil. Son baratos y dan mucho juego, lo único es que vas a tener que poner una resistencia adicional por cada interruptor bien como pull-up o pull-down.

Buenas..

Empleando el pack de interruptores, entonces las unicas lineas que tengo que conectar son A0,A1 y A2 . Las resistencias en mi caso seria para el lado VDD lado 456 y A0,A1 y A2, lado 123 del dip a tierra (corrigeme si me equivoco). Pero la diferencia cual seria, me refiero con respecto de emplear los jumpers...

http://free.yudu.com/item/details/507111/Ic2-Backpack

Aprovecho para colgar informacion util para la configuracion i2c...

A2 – External address bit. Colocar 0 o 1.
A1 – External address bit. Colocar 0 o 1.
A0 – External address bit. Colocar 0 o 1.
R/W – Lectura/Escritura bit. Colocar 0 para escribir y 1 para leer.

Un saludo.

inigohe

La diferencia a la hora de usar jumpers es la comodidad a la hora de programar la direccion, la verdad es que es muy cómodo.