Go Down

Topic: touch screen e i2c (Read 1 time) 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
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy