Se sei già registrato           oppure    

Orario: 29/03/2024 12:02:37  

 

Energia Alternativa ed Energia Fai Da Te > Sistemi operativi, hardware e programmazione.


Programma NTC 5K
FinePagina

nino
milliWatt


Gruppo:Utente
Messaggi:11

Stato:



Inviato il: 18/5/2013,16:05

Ciao,ho caricato su arduino il seguente programma:

*
Rilevamento temperatura con NTC da 5k
*/

#include <math.h>

#define ThermistorPIN 0 //Pin analogico 0

float val = 0; //Variabile di comodo per il calcolo della temperatura in base al proprio NTC
float NTC = 5000; //Valore dell'NTC utilizzato. 5000=5k

float Thermistor(int RawADC)
{
val=10000/NTC;
val=4.5*val;
val=NTC*val;
long Resistance;
float Temp; //Variabile di comodo per il calcolo della tempratura

Resistance=((1024 * val / RawADC) - val);
Temp = log(Resistance); //Salva Log(resistance)
Temp = 1 / (0.001129148 + (0.000234125 * Temp) + (0.0000000876741 * Temp * Temp * Temp));
Temp = Temp - 273.15; // Converte gradi Kelvin in Celsius
return Temp; //Ritorna la temperatura calcolata
}

void setup()
{
Serial.begin(9600);
}

void loop()
{
float temp;
temp=Thermistor(analogRead(ThermistorPIN)); //legge ADC e converte in °C
Serial.print("Temperatura: ";
Serial.print(temp,1); //Visualizzazione gradi
Serial.print(176, BYTE);
Serial.print("C";
Serial.print(" / ";
temp = (temp * 9.0)/ 5.0 + 32.0; //Converte in Fahrenheit
Serial.print(temp,1); //Visualizza Fahrenheit
Serial.print(176, BYTE);
Serial.print("F";
Serial.println("";
delay(5000);
}
Mi dice che la parola BYTE non e' piu'supportata e usare al suo posto Serial.write(). Ricarico e mi da' altro errore "no macthing funtion for call to "Hardware seriale:: write().Cosa devo fare ? Grazie

 

ElettroshockNow

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4656

Stato:



Inviato il: 18/5/2013,16:29

Fai quello che dice il compilatore ....
-Sostituendo serial.print in serial.write
-Eliminando il BYTE

Da cosi
Serial.print(176, BYTE);
a cosi
Serial.write(176);

Ti allego codice modificato

/*
Rilevamento temperatura con NTC da 5k
*/

#include <math.h>

#define ThermistorPIN 0 //Pin analogico 0

float val = 0; //Variabile di comodo per il calcolo della temperatura in base al proprio NTC
float NTC = 5000; //Valore dell'NTC utilizzato. 5000=5k

float Thermistor(int RawADC)
{
val=10000/NTC;
val=4.5*val;
val=NTC*val;
long Resistance;
float Temp; //Variabile di comodo per il calcolo della tempratura

Resistance=((1024 * val / RawADC) - val);
Temp = log(Resistance); //Salva Log(resistance)
Temp = 1 / (0.001129148 + (0.000234125 * Temp) + (0.0000000876741 * Temp * Temp * Temp));
Temp = Temp - 273.15; // Converte gradi Kelvin in Celsius
return Temp; //Ritorna la temperatura calcolata
}

void setup()
{
Serial.begin(9600);
}

void loop()
{
float temp;
temp=Thermistor(analogRead(ThermistorPIN)); //legge ADC e converte in °C
Serial.print("Temperatura: ";
Serial.print(temp,1); //Visualizzazione gradi
Serial.write(176);
Serial.print("C";
Serial.print(" / ";
temp = (temp * 9.0)/ 5.0 + 32.0; //Converte in Fahrenheit
Serial.print(temp,1); //Visualizza Fahrenheit
Serial.write(176);
Serial.print("F";
Serial.println("";
delay(5000);
}


Ciao
ElettroshockNow

 

nino
milliWatt


Gruppo:Utente
Messaggi:11

Stato:



Inviato il: 18/5/2013,19:28

Sempre puntuale e preciso.Di nuovo grazie.Funziona perfettamente.

 

ElettroshockNow

Avatar
GigaWatt


Gruppo:Utente
Messaggi:4656

Stato:



Inviato il: 19/5/2013,06:24

Lieto di esserti stato di aiuto ......e W la condivisione faccine/smile.gif
ElettroshockNow

 

nino
milliWatt


Gruppo:Utente
Messaggi:11

Stato:



Inviato il: 19/5/2013,07:01

ElettroshockNow,devo essere sincero: mi sono rivolto a te per tre volte per avere aiuto e sistematicamente in tempi brevissimi mi hai dato le risposte giuste ed esaurienti.Ancora grazie.

 
 InizioPagina
 

Versione Mobile!

Home page       TOP100-SOLAR      Home page forum