Rilievo temperatura con sensore dallas ds18b20

Buona sera a tutti, sicuramente vi è stato chiesto più volte ed ho visto anche qualche risposta qui sul forum ma ho ancora qualche lacuna da colmare.

Ho trovato questo codice googolando un pò:

a questo punto vorrei prelevare la temperatura per ogni singolo sensore, ovvero se ad esempio metto 3 sensori in parallelo, la misura della temperatura deve andare in una variabile Ts1,Ts2,Ts3.
come posso modificare il codice per avere questo dato?

ho pensato di inserire dopo la riga 30, il seguente codice:

Ts(i)=sensors.getTempCByIndex(i);

poi di questi tre sensori voglio ricavarne la media aritmetica, ovvero:

Tamb=(Ts1+Ts2+Ts3)/3

grazie mille a quanti potranno aiutarmi

se vuoi memorizzare i valori in un array devi scrivere

Ts[i]
e non
Ts(i)

inoltre l'array deve poter "gestire" numeri con la virgola...

anche qua è sbagliato volendo fare la media dei valori di un array

Tamb=(Ts1+Ts2+Ts3)/3
andrebbe
Tamb=(Ts[0]+Ts[1]+Ts[2])/3

Dai un'occhiata [u]QUI[/u] per il significato dei vari tipi di variabili, array, ecc. ecc.

Grazie mille per la risposta,

quindi facendo in questo modo, nell'array ho i vari valori. :slight_smile:

Domani provo e ti faccio sapere. Siccome il numero di sensori è sempre pari a 3 e non maggiore, devo anche implementare la condizione, dimmi se sto facendo giusto:

if numberOfDevices <=2;

Serial.print("i sensori sono minori di 3");

else

Domani compro i sensori e provo a fare dei test

saluti

il codice che hai scritto in realtà esegue il serial.print se la variabile numberOfDevice è minore o uguale a 2... mi sa che devi dare un'occhiata a qualche corso sulla programmazione su arduino :wink: