Paso 2: código
El código es muy simple, elEstado haciendo la impresión serial, tienes que imprimir los resultados en un LCD. También he adjuntado el código, porque a veces son problemas por copiar pegar. Por lo que el código es:
/*
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 >
#include < LiquidCrystal.h >
LiquidCrystal lcd (2, 3, 4, 5, 6, 7) //this son los pines del lcd
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
LCD.Print ("c ="); //you imprimir sus valores en la pantalla
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)
{
LCD.Begin(16,2);
LCD.Clear();
Serial.Begin(115200);
}
void loop(void)
{
Temp = analogRead(tempPin);
LCD.println(int(Thermister(analogRead(1)));
LCD.Print ("Kelvin =");
LCD.println(Temp); citire valori
Si (temp < = punto de corte)
{
en 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(100);
}
}