sto creando una centrare di termoregolazione dove vado a interrograe diverse sonde ds18b20.
buona sera, ho un problema sul richiamo di una semplice funzione creata da me.
float acquisisci_temperatura(DeviceAddress deviceAddress)
{ sensors.requestTemperatures();
float tempC = sensors.getTempC(deviceAddress);
return tempC;
}
ad inizio programma ho dichiarato tutte le mie sonde
DeviceAddress sensor01 = {0x28,0xC,0x78,0xA9,0xC,0x0,0x0,0xB1};
DeviceAddress sensor02 = {0x28,0x5C,0xF6,0xA9,0xC,0x0,0x0,0xF6};
DeviceAddress sensor03 = {0x28,0xDE,0x58,0xAA,0xC,0x0,0x0,0x6B};
finchè richiamo la funzione nel seguente modo, tutto ok
switch (indice)
{ case 0:
temp_letta[indice]=acquisisci_temperatura(sensor1);
break;
case 1:
temp_letta[indice]=acquisisci_temperatura(sensor2);
break;
case 2:
temp_letta[indice]=acquisisci_temperatura(sensor3);
break;..............
quando la richiamo nel seguente modo, mi compare l'errore "invalid conversion from 'char*' to 'uint8_t* {aka unsigned char*}' [-fpermissive]", dove nome sensore è un array di char, dove in dichiarazione ho già provveduto a popolare i primi campi con la scritta 'sensor' e a popolari gli altri campi in modo dinamico al variare del mio puntatore.
if (indice<9){nome_sensore[6]=48;nome_sensore[7]=indice+1+48;nome_sensore[8]='\0';Serial.println(nome_sensore);
temp_letta[indice]=acquisisci_temperatura(nome_sensore);
char nome_sensore[9]={'s','e','n','s','o','r'};
in che modo potrei risolvere la problematica? grazie mille
non riesco a inserire l'intero codice per superamento caratteri