MCP2017+display LCD

Salve a tutti. Vorrei sapere un'informazione. Un display LCD utilizza l'I2C e anche l'integrato MCP2017. Volevo sapere se c'è modo di utilizzare entrambi...

Certamente si, l'importante è che imposti un indirizzo diverso per cisacuno dei due.

Attilio

Come faccio ad impostare un indirizzo?

Lo imposti fisicamente sull'hardware modificando lo stato di appositi ponticelli o modificando i collegamenti dei pin dell'integrato.

Qui il datasheet del mcp23017 (i piedini dell'indirizzo sono A0, A1 e A2).

Per il display posta il link e ti dico quali sono i ponticelli.

Attilio

Intendi un MCP2017 o un MCP23017?
Presumo il secondo.

Ogni dispositivo I2C ha un indirizzo. Spesso l'indirizzo si compone da una parte fissa (4 bit), definita dal produttore e da una parte, normalmente i 3 bit piú bassi che possono essere selezionate via pin del integrato (A0,A1 e A2). Cosí puoi collegare fino a 8 MCP23017 sullo stesso BUS.

Ciao Uwe

Scusatemi il ritardo sono stato impegnato tutto il giorno.
Attilio, non appena arrivò a casa prendo la sigla dell’LCD e ti metto il link del datasheet. Grazie mille.
Uwe, si intendevo il secondo. Scusami…
Quindi nel caso collegassi il piedino 15 a vcc e il 16 e il 17 a gnd significherebbe che l’integrato mcp comunica con l’I2C tramite questo indirizzo! Di conseguenza devo mettere un’indirizzo anche allo schermo LCD oppure basta che lo metto ad uno dei due?

Comunque ho uno schermo LCD EPSON a 14 pin. La sigla precisa ve la fornirò verso le 8.30…

Esiste lo sketch I2CScanner da caricare su Arduino.
Colleghi prima un dispositivo e verifichi quale indirizzo trova lo sketch.
Poi il secondo dispositivo, se sono stesso indirizzo modifichi uno dei due, direi il più facile come ponticelli.

Mi potresti indirizzare su questo sketch gentilmente? Così lo carico appena arrivò a casa e lo provo immediatamente

San Google:
http://playground.arduino.cc/Main/I2cScanner

TomFox:
Quindi nel caso collegassi il piedino 15 a vcc e il 16 e il 17 a gnd significherebbe che l'integrato mcp comunica con l'I2C tramite questo indirizzo! Di conseguenza devo mettere un'indirizzo anche allo schermo LCD oppure basta che lo metto ad uno dei due?

Come ti ha detto "nid69ita" verifica gli indirizzi con I2CScanner e poi se sono uguali basta che ne cambi uno solo, quello che ti rimane più facile.

Per l'MCP23017 basta che modifichi i collegamenti dai piedini A0 (15), A1 (16) e A2 (17), per l'interfaccia del display, se non ha i jumper per la configurazione, devi cortocircuitare le piazzole di configurazione con una goccia di stagno.

L'immagine sopra è una interfaccia I2C per display, come vedi ci sono 3 coppie di piazzole (A0, A1 e A2), per cambiare indirizzo devi collegare con una goccia di stagno quelle della/delle coppie che vuoi modificare (le due A0 tra di loro e così via).

Spero di essermi spiegato, in caso contrario chiedi :wink:

Attilio

Eccomi, scusate il ritardo. Questo e’ il datasheet del display LCD: http://allelcdn.upshotcommerce.com/mas_assets/theme/allelectronics/spec/LCD-66.pdf

Attilio: per “modifichi i collegamenti” intendi settare a ‘1’ i piedini che voglio e a ‘0’ quelli che voglio? Piedini 15,16,17…
Inoltre l’interfaccia I2C per display LCD ce l’ho. Il problema e’ che ha 16 piedini. Il mio display LCD, come potete vedere, ne ha solo 14. Sapete se posso comunque collegarli insieme?

TomFox:
Attilio: per "modifichi i collegamenti" intendi settare a '1' i piedini che voglio e a '0' quelli che voglio? Piedini 15,16,17...

Esatto, qui sotto la tabella dei settaggi (piedini degli indirizzi) dell'MCP23017

A0 A1 A2 I2C ADD.
LOW LOW LOW 0x20
HIGH LOW LOW 0x21
LOW HIGH LOW 0x22
HIGH HIGH LOW 0x23
LOW LOW HIGH 0x24
HIGH LOW HIGH 0x25
LOW HIGH HIGH 0x26
HIGH HIGH HIGH 0x27

Per il display purtroppo non so dirti, aspettiamo qualcuno più esperto di me.

Attilio

Il problema e' che ha 16 piedini. Il mio display LCD, come potete vedere, ne ha solo 14.

i piedini 15 e 16 sono quelli della retroilluminazione. E quel LCD non è retroilluminato.
Quindi basta collegare i 14pin per farlo funzionare

Perfetto grazie mille a tutti e due!!