Page 1 sur 1

mesure température par arduino sans capteur ajouté

Posté : lun. 30 janv. 2017 16:41
par bernard
Bonjour,
Comme je voulais mesurer la température locale (projet BZZ), au meilleur prix (=0), Joseph (merci à lui!) a écrit le programme suivant (qui donne la T à +/-0.8°C). C'est la T du microproc : si on le sort d'un état de sommeil, la précision est bonne. Si il est en surchauffe, faut voir...ça peut peut être servir à d'autres projets.
bernard

byte temperatureArduino(void) {
float wADC;float GAIN=1.22;float OFFSET=320;byte temperature;//on ajustebGain et Offset pour chaque Arduino en particulier
ADCSRA |= (1 << ADEN);//enable the ADC
ADMUX |= (1 << REFS1) | (1 << REFS0); //set reference to the internal 1.1V
ADMUX |= (1 << MUX3);//select the channel
ADMUX &= ~((1 << MUX2) | (1 << MUX1) | (1 << MUX0));
delay(10);//let the voltages stabilize
ADCSRA |= (1 << ADSC); //start the conversion
while ((ADCSRA & (1 << ADSC))); //wait until the conversion is in progress
wADC = ADCW; //get the ADC output
temperature = ((wADC - OFFSET)+30)*2.5 / GAIN;//calcule température en f(gain, offset) puis ajuste à un octet(0 à 255) de -30°C à +70°C, avec un coef de 2.5 pour conserver un peu de précision (0.8°) pour transmission sur LoRa par ex. Sinon, on prend un float et on fait temperature=(wADC-OFFSET)/GAIN
return (temperature);
}

Re: mesure température par arduino sans capteur ajouté

Posté : lun. 30 janv. 2017 20:30
par jerome
Salut,

Merci Bernard !

Une petite remarque, pour rendre ton code plus lisible sur le forum, tu peux utiliser la balise code et /code (avec de crochets autour)
ça donne quelque chose comme ça (voir aussi l'aide) :

Code : Tout sélectionner

int main (void) {
   printf ("Hello, world\n");
   return 0;
}
Et si vous voulez plus d'infos et de détails sur ce code, vous pouvez aller voir la : http://playground.arduino.cc/Main/Inter ... tureSensor
Le code est à peu de choses prêt le même (sauf qu'il utilise les facilités de la avr-libc pour les décalages et tests de bits)

Bonne soirée

Re: mesure température par arduino sans capteur ajouté

Posté : mar. 31 janv. 2017 13:25
par cebernard
Excellente idée!!!
Merci pour le partage :-)
Vous avez réalisé des tests pour mesurer le temps minimal de sommeil nécessaire à la stabilistation du micro sur température ambiante?
Cédric