come collegare " fisicamente" 2 lcd ed 1 I2C

Scusate la domanda,ma è fatta da una persona poco pratica di arduino, diciamo meno di un novellino....!
Ho letto molti messaggi in merito ed ho capito che posso collegare 2 display con 1 I2C.ma fisicamente non ho capito come fare.Io ho inserito i piedini del I2c dietro al primo display ed il secondo display come lo collego.Forse la soluzione è una basetta millefori e collegare I2C a i 2 display,diciamo in "parallelo".

Intanto NON lo puoi fare se non puoi cambiare l'indirizzo I2C di uno dei due, difatti l'I2C è un "bus" dove tutti i device connessi devono avere un indirizzo univoco.

Quindi, come prima cosa, vedi se puoi cambiare l'indirizzo e, se puoi, impostane uno su un indirizzo ed un altro su un altro.

Dopo di che i fili vanno semplicemente, come detto, in parallelo ... tutti gli SCL su SCL e tutti gli SDA su SDA.

Studia QUESTO tutorial.

Guglielmo

Per precisare, per cambiare indirizzo devi vedere la basetta I2C se ha dei jumper o delle piazzole (generalmente 3, etichettate A0 A1 e A2). Mandaci una foto delle interfacce I2C che hai così ti diciam meglio.

L’I2C è questo:

il sito dice che si puo’ cambiare.
“Indirizzo I2C: 0x27 (Indirizzo I2C: 0x20 ~ 0x27 (l’indirizzo originale è 0x27, si può cambiare te stesso)”

Scusa non sono pratico,il link e’ quello indicato sopra

Bene, vedi che, come ti ha già detto docdoc ci sono delle "piazzole" marcate A0, A1 ed A2? Quelle servono ad impostare l'indirizzo I2C tra i possibili valore di 0x20 fino a 0x27. Ovvero A0, A1 ed A2 sono i 3 bit meno significativi dell'indirizzo.

Potresti lasciare un primo LCD con le piazzole tutte aperte e nel secondo dovresti unire tra di loro le due piazzole relative ad A0, poi, ne connetti uno per volta e con il programma I2Cscanner individui l'indirizzo del primo e l'indirizzo del secondo.

Fatto questo si può passare ai collegamenti :wink:

Guglielmo

quindi,se ho capito bene,necessitano 2 I2C . Il primo con le tre piazzole aperte collegato ad un LCD,il secondo con la prima piazzola chiusa e le rimanenti aperte collegata ad un 2' LCD, mentre gli SDa e SCL collegati insieme.

Hai studiato il link che ti ho dato ? Hai capito come funziona un bus I2C ?

Se si, devi avere DUE differenti indirizzi perché il bus I2C è uno solo (pin A4/SDA ed A5/SCL di Arduino UNO) e quindi ogni LCD deve essere riconoscibile univocamente tramite il suo indirizzo.

Se uno lo lasci con tutte le piazzole aperte e l'altro chiudi una piazzola, con lo scanner I2C, collegandoli una alla volta, vedrai che hanno appunto due indirizzi diversi.

Guglielmo

Scusa mi sono " imballato":
facendo come tu dici avro' due indirizzi differenti (per esempio 0x20 e 0x27) indicando questi due indirizzi nel programma,potrò attivare il primo od il secondo display;ma l'I2C che collego ai due display deve avere la piazzola libera o saldata ?

n.b. ti prego non mandarmi a quel paese!!!!!!

gaerix:
... l'I2C che collego ai due display deve avere la piazzola libera o saldata ?

... ogni LCD deve avere il suo modulo I2C uno in un modo ed uno in un altro !!!

Ma perché non hai preso LCD con già montato il modulo I2C come questo?


Guglielmo

Ora ho capito: l'I2C puo' avere fino a 8 indirizzi differenti,dipende se le piazzole sono libere oppure saldate in ordine differente.connettendo gli I2C(con diversa saldatura e quindi diverso indirizzo) ad ogni Display .Si puo' comandare ogni display con solo due fili connessi ad A4 ed A5,indicando nel programma igli indirizzi.
Ciao e grazie

gaerix:
Ora ho capito: l'I2C puo' avere fino a 8 indirizzi differenti ...

... in realtà il bus I2C gestisce olre 250 indirizzi ed OGNI device I2C ha un suo indirizzo che gli occorre per identificarsi sul bus.

Quelle schedine adattatrici hanno riservato un piccolo set di indirizzi, da 0x20 a 0x27, altre schede ne usano altri e, tutte assieme, vengono collegate sul bus I2C e vengono riconoscite proprio grazie all'indirizzo.

Guglielmo