Doppio display lcd

Ho installato con successo un display LCD a due linee equipaggiato con modulo LCM1602. Questo modulo richiede l'utilizzo dei pin SDA e SCL oltre che l'alimentazione. Il mio dubbio è se potevo aggiungere ad Arduino un secondo display uguale al primo sempre dotato dello stesso modulo da gestirlo in modo indipendente. Ho cercato anche in rete ma l'unica soluzione che sono riuscito a trovare non preve l'utilizzo del modulo aggiuntivo.

grazie

quel modulo LCM1602 ha delle piazzole marcate A0,A1,A2 ?

L' interfaccia I2C é un bus dove puoi attacare fino a parecchi dispositivi. La selezione quale dispositivo é attivo avviene attraverso un indirizzo a 7 bit.
Se sul interfaccia I2C del display puoi modificare tale indirizzo (come suggerisce Brunello) puoi usare piú di un display sul I2C.

Ciao Uwe

Puoi attaccare più di un display all'I2C, ma come dice Brunello devono avere indirizzo diverso.

Se è un semplice display HD44780 pilotato da un altro microcontrollore, forse c'è la possibilità di poter scegliere l'indirizzo.
Hai un link al prodotto che stai usando?

Brunello:
quel modulo LCM1602 ha delle piazzole marcate A0,A1,A2 ?

Si il modulo ha tre piazzole A0 A1 A2.............

Bene, se tu la piazzola A0 la cortocircuiti con una saldatura a stagno, ottieni che il secondo LCD avra' come indirizzo , l'indirizzo base + 1
Non devi fare altro che dichiarare anche il secondo LCD nello sketch

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

LiquidCrystal_I2C lcd (0x20);  // Indirizzo primo LCD
LiquidCrystal_I2C lcd2 (0x21);  // Indirizzo secondo LCD

void setup()
{
  lcd.begin (16,2);   // initializza primo LCD 
  lcd2.begin (16,2);  // initialize secondo LCD

Avrai quindi a disposizione
lcd.print( // Primo LCD
lcd2.print( // Secondo LCD

Bene, se tu la piazzola A0 la cortocircuiti con una saldatura a stagno, ottieni che il secondo LCD avra' come indirizzo , l'indirizzo base + 1

Scusa ma non ho capito con chi devo cortocircuitare la piazzola A0 e come devo collegare il 2° display :blush: :blush:?

Non devi fare altro che dichiarare anche il secondo LCD nello sketch

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

LiquidCrystal_I2C lcd (0x20);  // Indirizzo primo LCD
LiquidCrystal_I2C lcd2 (0x21);  // Indirizzo secondo LCD

void setup()
{
  lcd.begin (16,2);   // initializza primo LCD 
  lcd2.begin (16,2);  // initialize secondo LCD

Avrai quindi a disposizione
lcd.print( // Primo LCD
lcd2.print( // Secondo LCD
[/quote]

Ho controllato un altro display equipaggiato con lo stesso modulo LCM1602 ma non ha le piazzole.......è possibile collegarlo lo stesso in altro modo?

I devices sul bus I2C hanno UN INDIRIZZO ... visto che sono tutti in parallelo e non sapresti con chi parlare !

Quelle tre piazzola, A0, A1, e A2 servono a modificare gli ultimi tre bit dell'indirizzo in modo da avere la possibilità di scegliere tra 8 indirizzi differenti ...

Se guardi bene quelle piazzole sono aperte, se con una goccia di stagno le chiudi cambi l'indirizzo. Quindi, se l'indirizzo di base è 0x20, chiudendo la A0 diventerà 0x21 !!!

Sarebbe il caso che ti studiassi come funziona il bus I2C ... QUI un piccolo tutorial.

Guglielmo

grazie Guglielmo.... ma non mi riesce facile studiare un documento in inglese per mia colpa ed è questo un po il motivo del perche un principiante come me cerca sempre rifugio nel forum. Ma mi rendo conto che non si puo trovare sempre una persona disponibile a facilitarti l'apprendimento perchè cmq sia è una perdita di tempo per chi spiega. Questo è un po lo scotto che paga chi è alle prime armi e che il piu delle volte formula richieste e domande molto stupide ed elementari per esperti come te. Avere pero un input come sei solito dare a chi rispondi è gia molto importante e prezioso percio comunque vada grazie lo stesso.

Nicola

comunque ho detto una mezza cavolata

l'indirizzo base con le piazzole tutte libere e' 0x27
con la piazzola A0 cortocircuitata diventa 0x26

tutte e tre cortocircuitate 0x20