Vorrei un vostro consiglio.
Devo interfacciare uno schermo LCD a 16bit con Touch e con lettore SD che lavora a 3V3 ad una mpu con logica a 5V (senza uso di SHIELD).
Vorrei escludere le resistenze da 10k ed utilizzare adattatori di livello tipo quello menzionato o altri simili.
Cosa mi consigliate di acquistare?
Vorrei acquistare da Mouser ( o altro sito da voi consigliato), quindi qualcosa di reperibile velocemente.
Grazie mille.
ti ringrazio, ma in effetti costa di piu', e penso anche che ci vorra' piu' tempo per averlo.
Questo e' a 4 canali, io tra impicci e imbrogli penso che avro' bisogno di una trentina di canali (devo fare i conti).
questo costa molto meno, e' a 8 canali ed e' in italia.
Tra il 74LVC245 e il circuito proposto da gpb01 c'è una sostanziale differenza, quello di gpb01 è bidirezionale automatico mentre il tuo è bidirezionale manuale
per la IIC deve essere automatico
mentre per lcd , touch e SD basta manuale e impostato nella direzione giusta
La seria TTL LVC funziona a 3,3V ma sopporta sulle entrate 5V. Per questo sono utili per abbassare livelli da 5V a 3,3V.
Un LCD e un SD non hanno bisogno di un bus bidirezionale. Il SD ha solo un pi di uscita che va al Arduino ma che puó essere collegato direttamente al entrata di Arduino.
La serie TTl LVC non esistono in DIP ma in SOIP. Puoi comprare schedine adattatrici dove saldare l'integrato e piedini per aver DIP.
mmmmmmm forse, non ci ho mai provato, fammi capire meglio, di quanto dovrei abbassare la velocita'? pero' sarebbe l' ideale senza usare altro hardware.
la mpu e' l' ATmega 1284p e ora lavoro a 16MHz, non vorrei scendere molto con la velocita' perché oltre al' LCD da 3,5" deve gestire altre cose e vorrei che sia piuttosto veloce.
Il listato e' piuttosto grande.
PaoloP:
Non puoi far lavorare la MPU a 3V3 abbassando la frequenza del clock?
icio:
Tra il 74LVC245 e il circuito proposto da gpb01 c'è una sostanziale differenza, quello di gpb01 è bidirezionale automatico mentre il tuo è bidirezionale manuale
per la IIC deve essere automatico
mentre per lcd , touch e SD basta manuale e impostato nella direzione giusta
uwefed:
La seria TTL LVC funziona a 3,3V ma sopporta sulle entrate 5V. Per questo sono utili per abbassare livelli da 5V a 3,3V.
Un LCD e un SD non hanno bisogno di un bus bidirezionale. Il SD ha solo un pi di uscita che va al Arduino ma che puó essere collegato direttamente al entrata di Arduino.
La serie TTl LVC non esistono in DIP ma in SOIP. Puoi comprare schedine adattatrici dove saldare l'integrato e piedini per aver DIP.
Ciao Uwe
Si concordo sul discorso bidirezionale, infatti inizialmente avevo puntato sull' 74LVC244 ma sul sito postato non c'e'.
Quello che ho postato io sul sito Mouser ' in formato DIP, il modello e' SN74LVC245AN.
Deltoz: Si concordo sul discorso bidirezionale, infatti inizialmente avevo puntato sull' 74LVC244 ma sul sito postato non c'e'.
Quello che ho postato io sul sito Mouser ' in formato DIP, il modello e' SN74LVC245AN.
Si, ma il problema che la bidirezionalità la devi gestire tu ...
"The SN74LVC245A is designed for asynchronous communication between data buses. The device transmits data from the A bus to the B bus or from the B bus to the A bus, depending on the logic level at the direction-control (DIR) input. The output-enable (OE) input can be used to disable the device so the buses effectively are isolated."
.... mentre quello che ti ho proposto io, come ti ha sottolineato icio, è completamente automatico ]
X Paolo
Si forse anche 8 MHz mi potrebbe star bene... devo fare un po di prove.
Quindi se lo setto a 8MHz e lo alimento a 3,3V posso interfacciare direttamente, con i dovuti collegamenti.
X Guglielmo
Si si hai ragione, ne sono consapevole, ma in effetti quasi tutte le linee sono mono direzionale
MCU--->TFT
Touch--->MCU
MCU<--->SD in parte.
Si, la tensione di lavora è la stessa.
Però controlla che l'LCD possa ricevere segnali a quella tensione e ricalcola eventuali resistenze per LED, ecc.
Vorrei però aggiungere che se il micro è a 8Mhz anche il bootloader deve essere pensato per funzionare a quella velocità.
Quindi se hai il codice sorgente devi cambiare il clock e ricompilarlo, oppure cercarne uno testato per funzionare a 8Mhz.
Se invece fai tutto tramite ISP e non c'è bootloader devi solo cambiare le macro che definiscono la velocità del micro per il ricalcolo dei millis, delay e cose così.
Ovviamente devi cambiare i fuse del micro e il quarzo.
PaoloP:
Vorrei però aggiungere che se il micro è a 8Mhz anche il bootloader deve essere pensato per funzionare a quella velocità.
Quindi se hai il codice sorgente devi cambiare il clock e ricompilarlo, oppure cercarne uno testato per funzionare a 8Mhz.
Se invece fai tutto tramite ISP e non c'è bootloader devi solo cambiare le macro che definiscono la velocità del micro per il ricalcolo dei millis, delay e cose così.
Ovviamente devi cambiare i fuse del micro e il quarzo.
Ti ringrazio per la precisazione, si si ci avevo pensato, per praticita' ho bisogno del bootloader quindi mi adopero anche per rifare il tutto, settaggi e fuse, in caso di difficolta' so che posso contare su di voi..
ho visto che alcuni shield montano i 74HC541PW, a parte il discorso bidirezionalita'...quale mi consigliereste di usare?
Ho uno schield per il MEGA che utilizza proprio questi integrati, ne monta 5, e sono alimentati a 3,3V e fungono da adattatori di livello.
Volevo allegare lo schema ma non me lo permette, mi diche che lo spazio di upload e' pieno..booo..il file e' piccolo.
Comunque funziona benissimo.
ma sia i HC che i HCT non possono accettare sulle entrate tensioni maggiori di quella di alimentazione. Quello possono solo i LVC e famiglie simili (alimentato 3,3V e 5V sulle entrate).
Ciao Uwe