Conversione da I2C ad analogico (0-5 volt)

Cari amici, sto pensando di eliminare il mio potenziometro dall'ingresso analogico A0 di Arduino Uno R3 perché ho deciso di utilizzare un sensore laser VL53L0X per leggere la distanza di un oggetto in movimento lineare. Ovviamente il laser in questione utilizza il protocollo di comunicazione I2C ed io ho fatto realizzare lo sketch che è installato in un altro Arduino per la conversione in analogico (0-5 volt).
Fin qui tutto ok, nel senso che al variare della distanza varia la tensione, ma si verifica un problema strano: mentre con il potenziometro collegato ottenevo una tensione che sull'oscilloscopio veniva rappresentata da una linea orizzontale costante, con il laser VL53L0X collegato all'altro Arduino, ottengo sull'oscilloscopio uno spettro sporco, da 5 a 0 volt.
Penso che sia un segnale analogico in PWM...
Datemi intanto conferma di questo..

Se fosse così, per ottenere una linea orizzontale come faceva il potenziometro, dovrei applicare un filtro passa-basso RC.
In tal caso potreste dirmi i valori di R e di C?
Grazie mille

Se il sistema laser esce in I2C, entra direttamente in I2C! Perché devi complicare le cose passando per una tensione di comando su un ADC???...

@darioAVR: ma a te che genere di segnale occorre? Perché, leggendo il I2C hai il valore digitale che ti restituisce il VL53L0X, perché lo vuoi convertire in analogico? Hai un particolare motivo?

Se SI, l'unico modo di fare le cose fatte bene e aggiungere un DAC esterno ad Arduino e con esso avere un vero valore analogico (... che comunque NON ti darà mai una retta, ma una scaletta con gradini pari alla risoluzione del DAC).

Guglielmo

Praticamente ho uno sketch che lavora in analogico con un pot in A0. Siccome devo controllare un nastro che si muove orizzontalmente, mi occorre un sensore di distanza lineare. Modificare lo sketch è laborioso quindi preferisco utilixzare un arduino esterno con sketch per la conversione della distanza in tensione 0-5 volt

Ok, quindi, dato che ti serve una vera tensione ... devi usare un vero DAC esterno che ti genera, dato il valore digitale, un segnale analogico.

Guglielmo

Esatto Guglielmo. Una informazione: molti utilizzano un filtro RC. Quale e la differente tra un filtro passabasso RC ed un DAC?

Non usano un "filtro" usano una rete integratrice per ottenere dal segnale PWM generato da Arduino con la analogWrite() (che di analogico non ha veramente nulla) il valore medio sottoforma di tensione.

Se ti accontenti può andare ... non avrai certo la precisione di un DAC, ma ... dipende dallo scopo e dall'applicazione ... :roll_eyes:

Guglielmo

Se destina un intero arduino per la sola lettura iic e conversione può fare un dac a 16 bit coi pin inutilizzati collegandoli a una rete r-2r
Che poi di bit ne bastano 10 (certamente, essendo a 10 bit lo adc di arduino) ma forse pure meno

Ma a me mi sembra come la corazzata kotiomkin...

Io nutro il sospetto che semplicemente non abbia accesso al sorgente originale e non sappia ricrearselo in proprio
Perché realizzare tutto questo circo dicendo che è più semplice della soluzione ovvia è una cosa che fa il "rumore di unghie che si arrampicano sugli specchi"

1 Like

... non era la " corazzata Potëmkin" ? :smile: :smile: :smile:

Comunque si, le strade percorribili sono tante ... :slight_smile:

Guglielmo

No, non lo era
Per problemi di diritti d'autore hanno dovuto cambiare il nome

Ma veramente? Non lo sapevo ... :thinking:

Guglielmo

Non c'è da arrampicarsi da nessuna parte. Ho chiesto una informazione e basta. Ho pagato un ingegnere informatico per svilupparmi lo sketch di conversione I2C - analogico.
Non capisco cosa tu voglia intendere...........

Io non intendevo nulla

Qui tutto scritto è

E tutto chiaro in italiano corretto
Ti basta come spiegazione?

Sarebbe stato meglio pagare l'ingegnere informatico per modificare il programma per acquisire in I2C...

2 Likes

Che poi, se il programma glielo scrivono che domanda a fare?

Bah...

Meglio ignorare...

Non sono stupido, ci sarà un motivo tecnico per cui ho deciso di far così...
Si infatti meglio ignorare...

Questa è la via, per citare il mio amico Din Djarin

E invece per citare l'altro mio amico, il poeta:
Vuolsì così colà dove si puote ciò che si vuole, e più non dimandare

Boni, state boni ... evitiamo questo genere di discussioni per favore ... grazie.

Guglielmo

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.