Stap 2: Code
Ik heb serched op internet een code past niet op mijn circuit, ik heb hier vinden op instructables, maar de temperatuur was alleen in kalvin, dus ik neem een kijkje op de website van arduino en vinden dat een patch van code heks converteert mijn temperatuur in kelvin naar celsius. Dus hier de code is
/*
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 >
dubbele Thermister (int RawADC)
{
dubbele temp;
Temp = log(((10240000/RawADC) - 10000));
temp = 1 / (0.001129148 + (0.000234125 * temp) + (0.0000000876741 * temp * temp * temp)); temp = temp - 273.15; to kelvin la celsius
Serial.Print("Celsius=");
retourneren temp; }
int tempPin = 1; conectare termistor si rezistenta de 10k
int. temp; Reading analoge
int LEDCool = 10; LED temperatura joasa
int LEDHot = 9; LED temperatura peste temperatura mediului ambiant
int onderbrekingspunt = 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); Reading valori
Als (temp < = afbreekpunt)
{//in function de temperatura de referinta hotaraste daca e koud sau rece
digitalWrite (LEDCool, hoge);
digitalWrite (LEDHot, laag);
}
anders
{
digitalWrite (LEDHot, hoge);
digitalWrite (LEDCool, laag); delay(1000); }
}