Étape 2: Code
J’ai serched sur internet, un code pour s’adapter sur mon circuit, j’ai trouver un ici sur instructables, mais la température n’est qu’en kalvin, alors j’ai jeter un oeil sur le site d’arduino et trouver qu'un patch de sorcière code convertit ma température kelvin en celsius. Voici donc le code
/*
C DE L’ADC
250, 1.4
275, 4.0
300, 6.4
325, 8.8
350, 11.1
375, 13,4
400, 15,6
425, 17,8
450, 20,0
475, 22,2
500, 24,4
525, 26,7
550, 29,0
575, 31,3
600, 33,7
625, 36,1
650, 38,7
675, 41,3
700, 44,1
725, 47.1
750, 50,2
775, 53,7
784, 55,0
800, 61,5
850, 66,2
875, 71,5
900, 77,9
925, 85,7
937, 90.3
950, 96,0
975, 111.2
1000, 139,5
*/
#include < math.h >
double réflectomètres (int RawADC)
{
double temp ;
Temp = log(((10240000/RawADC) - 10000)) ;
Temp = 1 / (0.001129148 + (0.000234125 * temp) + (0.0000000876741 * temp * temp * temp)) ; Temp = temp - 273.15 ; convertire kelvin la celsius
Serial.Print("Celsius=") ;
Return temp ; }
int tempPin = 1 ; conectare termistor TR rezistenta de 10k
int temp ; citire analogique
int LEDCool = 10 ; Temperatura del joasa
int LEDHot = 9 ; LED temperatura peste temperatura Educaţiei ambiant
point d’arrêt int = 450 ;
void setup(void) {Serial.begin(9600);}
void loop(void) {temp = analogRead(tempPin) ;
Serial.println(int(Thermister(analogRead(1))) ;
Serial.Print ("Kelvin =") ;
Serial.println(temp) ; citire valori
Si (temp < = point d’arrêt)
{//in functie de temperatura de referinta hotaraste daca e cald sau rece
digitalWrite (LEDCool, élevé) ;
digitalWrite (LEDHot, basse) ;
}
d’autre
{
digitalWrite (LEDHot, élevé) ;
digitalWrite (LEDCool, basse) ; Delay(1000) ; }
}