Sensore AM2315, non funziona su I2C con RTC e/o LCD

Ciao a tutti,
ho creato un datalogger per i parametri ambientali dove monto un datalogging shield della Adafruit, un LCD con modulo I2C e tra gli altri un sensore Temp/UR AM2315.
A dialogare col protocollo I2C ci sono solo questi tre device.

Sui collegamenti SCL e SDA ho anche montato due resistenze di pullUP da 10Kohm .

Per la lettura dell’AM2315 uso una libreria (<Adafruit_AM2315.h>) con la quale l’interrogazione del sensore è molto facilitata: am2315.readHumidity() e am2315.readTemperature() .

A circuito montato se carico lo sketch esempio della libreria, il sensore fornisce dati perfetti, messi a paragone con un termometro esterno.

Se carico invece lo sketch completo del mio progetto il sensore mi fornisce dati sbagliati.

Nel mio progetto uso gli stessi comandi dell’esempio.

Cosa può essere? :o :confused:

Grazie

Vedere lo sketch, aiuta. Buon 17!

Quanto lungo sono i cavi della I2C? Metti delle resistenze Pullup piú piccole (2,2kOhm).

Ciao Uwe

Ciao, lo sketch è questo:

datastring += String(am2315.readHumidity()) += ";";
datastring += String(am2315.readTemperature()) += ";" ;

niente di che...

Non vorrei che questo modo di inserire il dato nella stringa non funzionasse, secondo voi usare due variabili float di appoggio e poi portarle a String con la funzione ss, tipo così:

float Temp;                                                               
float Humid;
char outTemp[15];
char outHumid[15];

  Temp = am2315.readTemperature();
  delay(100);
  Humid = am2315.readHumidity(); 
  delay(100);
  dtostrf(Temp,5,2,outTemp);
  dtostrf(Humid,5,2,outHumid);
  datastring += String(outHumid) += ";";
  datastring += String(outTemp);// += ";";

...potrebbe funzionare?

Però ho fatto delle prove che potrebbero dare ragione a Uwe in quanto se lancio il programma in continuo (di normale gira una volta l'ora), la prima lettura che fa è sballata e poi le seguenti sono tutte uguali...

Il cavo che va all'AM2315 è di 1,8m forse 2. Appena riaprono i negozi vado a prendere due reristenze da 2.2Kohm e provo quella strada li.

Grazie per le risposte date fin'ora! BUON ANNO NUOVO!!!!!!