Ciao a tutti.
L'ADS 1115 è un convertitore analogico-digitale adc+pga a 16 bit,include un amplificatore operazionale programmabile.
Ha 4 ingressi configurabili come single ended oppure 2 coppie di ingressi in configurazione differenziale oppure comparatore.
Ho due sensori collegati ai due ingressi in configurazione differeziale.
Sensore1 collegato agli ingressi 0_1
Sensore2 collegato agli ingressi 2_3
A me serve leggere contemporaneamente i valori dei sensori.
Problema:
Se effettuo la sola lettura del sensore 1 o del sensore 2 funziona correttamente,ed ottengo le tensioni in mv di ciascun sensore.
Se effettuo le letture su entrambi i sensori contemporaneamente,o con un tempo "x" tra un sensore e l'altro (100ms oppure 1 secondo) non riesco a leggere i valori di tensione corretti o meglio il programma esegue la lettura dei sensori ma sul lcd visualizza:
sensore1 0mV
sensore2 11 mV
in realtà gli 11 mV sono del sensore 1 e i 0mv del sensore 2
Per leggere i sensori uso lo sketch esempio incluso nel file della libreria della "Adafruit" che ho scaricato al link GitHub - adafruit/Adafruit_ADS1X15: Driver for TI's ADS1015: 12-bit Differential or Single-Ended ADC with PGA and Comparator
In allegato lo sketch per la lettura degli ingressi 0_1 (differential.pde)
Nel secondo allegato lo sketch per leggere i due sensori.
Sono agli inizi con la programmazione e non riesco a capire dove sia il problema.
L'unica cosa che mi viene in mente è che l'ADC ha bisogno di ricevere il comando per la configurazione per cambiare la lattura da un ingrsso all'altro ma non so dove individuarlo all'interno della libreria.
Grazie per l'aiuto.
differential.pde (1.84 KB)
lettura_sensori_1_2.ino (2.63 KB)