Go Down

Topic: touch screen e i2c (Read 972 times) previous topic - next topic

zioTonino

buon giorno a tutti :)
ho visto che l'adafruit commercializza questo display touch screen:

2.8" TFT Touch Shield for Arduino

ma richiede la bellezza di almeno 12 pin!
sul forum adafruit mi hanno detto che sarebbe possibile utilizzare l'interfaccia i2c se utilizzo questi due componenti:
- MCP23017 (provvisto di una libreria, https://www.adafruit.com/products/732)
- AD7999 (http://www.analog.com/en/analog-to-digital-converters/ad-converters/ad7999/products/product.html)

purtroppo capendoci poco (e niente) di elettronica non saprei come collegarli ed eventualmente poi come comandarli tramite (nuove?) librerie..
qualcuno mi può aiutare in questo progetto? o è troppo arduo?
:)

grazie

leo72

Ti riferisci a questo display?
https://www.adafruit.com/products/376

Leggo che usa i pin D5..D13 ed i pin A0..A3.
Dei chip da te citati, l'MCP23017 è un port expander per cui con esso andresti a pilotare gli 8 pin digitali del display che sullo shield sono appoggiati su D5..D13. Il secondo chip, l'AD7999, è un ADC a 4 canali con cui sostituiresti i pin A0..A3.

Il problema casomai sorge con la libreria di pilotaggio dello shield. Dovresti modificarla in modo da fargli usare i 2 chip aggiuntivi via I2C. Non ho guardato la libreria per cui non so dirti se è facile o meno fare la modifica. Tu saresti in grado di farla?  ;)

uwefed

Se avreste controllato lo schema https://raw.github.com/adafruit/TFTshield/master/schem.png avreste visto che i pin A0 a A3 sono usati come pin digitali e percui basta un MCP23017 che ha 16 pin entrata/uscita.

Il lavoro non é collegare l' expander al LCD ma riscrivere interamente la libreria per gestire l' interfaccia seriale.
La shield usa 2 pin in piú per interfacciare una schedina SD.

Ciao Uwe

leo72

Non so se lo shield è quello, io ho "presunto" che lo fosse, il link non l'ha messo ;)
Se come dici usa A0..A3 come pin digitali, allora sì: basta l'MCP.

zioTonino


Se avreste controllato lo schema https://raw.github.com/adafruit/TFTshield/master/schem.png avreste visto che i pin A0 a A3 sono usati come pin digitali e percui basta un MCP23017 che ha 16 pin entrata/uscita.

Il lavoro non é collegare l' expander al LCD ma riscrivere interamente la libreria per gestire l' interfaccia seriale.
La shield usa 2 pin in piú per interfacciare una schedina SD.

Ciao Uwe


si leo è quello l'cd! :)
purtroppo però non saprei davvero come riscrivere le librerie...  =(
è molto difficile? mi potreste aiutare?

grazie



leo72


purtroppo però non saprei davvero come riscrivere le librerie...  =(
è molto difficile? mi potreste aiutare?

Sì, ti possiamo aiutare.... moralmente  :smiley-sweat:
Non è un lavoro facile, questo posso confermartelo. Ma modificare una libreria senza neanche avere l'HW su cui testarla... non è un lavoro a cui io personalmente mi vorrei dedicare.

uwefed


si leo è quello l'cd! :)
purtroppo però non saprei davvero come riscrivere le librerie...  =(
è molto difficile? mi potreste aiutare?
grazie

Non é dificilissimo
Devi sostituire il pilotaggio paralello del display con il pilotaggio seriale del MCS che da ai suoi piedini gli stessi livelli logici e tempistiche che il pilotaggio paralello.
Puoi anche fare una cosa intermedia: usi un port expander a 8 bit oppure un Shift Register per il bus dati mentre i segnali di pilotaggio li lasci quelli originali. Questo é meno complicato dal punto di vista di programmazione.

Ciao Uwe

zioTonino

ciao uwe...
purtroppo mi sa che devo desistere perchè non ho le conoscenze adatte, ahimè. =(

grazie cmq delle risposte

zioTonino

forse ho trovato! :)

dite che sarebbe gestibile facilmente tramite arduino?

http://store.earthlcd.com/ezLCD-301

manuale di 70 pagine a parte :P

Go Up