Compartir un lcd1602 para dos arduinos

A ver quien me puede ayudar en la idea de que dos arduinos puedan usar el mismo lcd1602. Se trata de bloquear el interface del arduino A hacia el lcd cuando lo tenga que utilizar el arduino B.

You can see this thread: Two arduino one LCD - #9 by liuzengqiang

1 Like

Moderador:
Por favor, lee las Normas del foro
Si posteas en el foro en inglés usa idioma inglés para expresarte.
Si escribes en español debes usar el foro Arduino en español.

Tendrás tus razones pero para que compartir algo tan barato con dos Arduinos?

Además no dices nada sobre el LCD asi que ahora nosotros tenemos que adivinar si es un LCD que conectas en paralelo o con interfaz I2C
Si es I2C la solución es simple.
Pones un Arduino como maestro I2C y pones el LCD con su dirección mas el otro arduino como esclavo I2C
Puedes hacer que el segundo le envie al primero y sea el maestro quien siempre refresque el LCD
Si es paralelo lo mismo, conectas un Arduino al LCD y el otro lo conectas via Serial/I2C o SPI.
Asi lo haría yo.

1 Like

He leído las normas y creía que había escogido el foro de Hardware en español. Mil disculpas.

En cuanto a la solución propuesta me parece muy correcta, un arduino recibe la información para el lcd del otro arduino y decide lo que pasa al lcd. Yo sólo pensaba en poner una interface delante del lcd.

El tema del tipo lcd me da lo mismo si es paralelo o i2c. He usado ambos tipos.

Asi pues, tema resuleto.Gracias.

Moderador:
Es posible que lo hayas hecho y entonces me haya equivocado yo porque el forero que respondió lo hizo en inglés.
Disculpas.

comparto la solución del hilo sugerido por @bidrohini
Acá @liuzengqiang sugiere usar los dos arduinos como Maestros o sea sin cambiar nada pero le informa al otro arduino con un pin que pone en ALTO o BAJO según este trabajando.
Asi que imagina el escenario.
Arduino 1 con pin D2 y Arduino 2 con pin D3.
Cuando Arduino1 quiere usar el display, lo primero que hace es ver como esta el pin D3 de Arduino 2. Si esta en HIGH es porque Ard2 lo esta usando, asi que tendrá que esperar. Si esta en LOW pone D2 en HIGH informándole a Ard2 que ahora Ard1 lo esta usando.

Esta solución es mas simple que las indicadas anteriormente.