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
@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).
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
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 ...
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"
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...........