Paso 2: código
Tengo serched en internet un código para que quepa en mi circuito, tengo encontrar uno aquí en instructables, pero la temperatura era sólo de kalvin, así que echa un vistazo en la Web de arduino y encontrar que un parche de bruja código convierte mi temperatura de kelvin a celsius. así que aquí está el código
/*
ADC C
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 >
doble Thermister (int RawADC)
{
doble temp;
Temp = log(((10240000/RawADC) - 10000));
Temp = 1 / (0.001129148 + (0.000234125 * temp) + (0.0000000876741 * temp * temp * temp)); Temp = temp - 273.15; convertire kelvin celsius la
Serial.Print("Celsius=");
devolver a temp; }
int tempPin = 1; de conectare termocuplas si rezistenta 10k
int temp; citire analógico
int LEDCool = 10; LED de temperatura joasa
int LEDHot = 9; LED temperatura peste temperatura mediului envolvente
punto de interrupción 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 < = punto de corte)
{//in functie de temperatura de referinta hotaraste daca e cald sau rece
digitalWrite (LEDCool, alto);
digitalWrite (LEDHot, bajo);
}
otra cosa
{
digitalWrite (LEDHot, alto);
digitalWrite (LEDCool, bajo); Delay(1000); }
}