Stavo tentando di collegare un Arduino con un Raspberry tramite un modulino traslatore di livello 5V->3.3Volt. Al primo colpo le cose non hanno funzionato. Vabeh normale... Allora ho fatto un passo indietro e mi sono imbattuto in una cosa per me strana e quindi una domanda per voi più esperti di me.
Solo per test, ho collegato:
GND (ardu) -> GND (modulo)
5Volt (ardu) -> HV (modulo)
Ma in tale semplice configurazione adesso con il multimetro misuro su tutti e quattro gli HVx 5Volt!!!
Domanda, quale delle seguenti affermazioni potrebbe essere quella giusta:
È normale
Il modulo mi è arrivato danneggiato (oppure l'ho fritto io, o l'ho surriscaldato facendo le saldature)
p.s. Ovviamente sono un cretino perché ne ho acquistato solo uno di modulo
Purtroppo uno schema formale non mi è stato fornito. Il prodotto in questione è questo
Ho provato anche a collegare i 3.3 Volt (e GND) ma non cambia. HVx valgono tutti 5V, LVx valgono tutti 3.3V. Se applico l'output (5V) di un pin arduino a HV1, su LV1 non cambia nulla ovvero continuo a leggere 3.3
p.s. Il GND è in comune perché prelevato da arduino
p.s.2 Misuro una lieve caduta di potenziale sulle porte logiche HVx LVx (0.03V)
Uso decine di quei moduli e funzionano perfettamente ...
... ovviamente devi dare sia i 5V su HV che i 3.3V su LV, il GND comune e, a seconda di come li usi (sono bidirezionali) quando porti un pin LOW va LOW anche il suo corrispondente, se lo lasci HIGH rimane HIGH il suo corrispondente.
Infatti ho comprato il modulo perché me lo hai gentilmente suggerito tu in un altro post
Grazie per aver confermato il loro funzionamento, sospettavo ma da inesperto temevo di aver capito male qualcosa.
Purtroppo però qualcosa non va, non ho "trovato" il modo di leggere LOW su un pin. Sempre tutto HIGH.
Sono un po in un vicolo cieco perché senza nuove info è difficile anche per voi darmi una mano. Ma data la semplicità del circuito non saprei cos'altro aggiungere. Proviamo:
Per il test sto usando solo arduino, prelevando 5 e 3.3 Volt. Può influire?
Ho collegato i due GND a due ping GND diversi di arduino. Provo a fare un ponte tra i due GND del modulo e vado su un solo GND pin di arduino?
Ho cercato con il multimetro qualche falso contatto (che so, magari una saldatura fatta male da me). Credo di non aver trovato nulla di strano. Conducono tra loro solo le seguenti due coppie di pin (con modulo staccato da tutto):
GND -> GND
HV -> LV
Se assumiamo il modulo come danneggiato, non è un po strano che siano tutti HIGH? Mi aspetterei tutto LOW, o ancora meglio qualcosa che funziona qualcosa no...
Collego GND, HV, LV. Collego HV1 al pin 6 di arduino che oscilla tra LOW e HIGH ogni x secondi. Quando pin 6 è LOW (HV1 LOW) lo è anche LV1 E vai!
Quando HV1 è HIGH (o disconnesso da qualunque pin) leggo HIGH
La frase in grassetto (o disconnesso da qualunque pin) è quella che mi ha mandato in confusione. Adesso dovrebbe essere tutto più chiaro. Appena ho tempo faccio qualche altra verifica per vedere se ho davvero capito e il modulo funziona davvero. Poi torno qui e marco la discussione come risolta... spero
Per adesso un grazie enorme a tutti! Anche a sto giro imparato qualcosa pare
Ma scusa ma hai letto come si chiama quel modulo? "4 channel IIC I2C Logic Level Converter Bi-Directional Module" ... ovvero è adatto al bus I2C ... quindi ?
Quindi significa che ha le pull-up richieste dal bus I2C, per il quale, essendo esso open-drain, sono OBBLIGATORIE ... e se ha le pull-up, che segnali ti aspetti con nulla collegato ? ? ?