COI - temperaturvakt (1 / 2 steg)
Steg 1: koden...
Programmering:
Skriv eller kopiera följande kod till din Edison-Arduino IDE och klicka för att ladda upp programmet till din Edison styrelse.
#include
#include
#include
rgb_lcd lcd;
int tempSense = 0;
int B = 3975; Detta är en konstant som används
konvertera mellan termistor motståndet i temperaturen
sensorn och den faktiska temperaturen i Celsius.
dubbel minTemp = 10;
dubbel ideal = 20;
dubbel maxTemp = 25;
void setup() {
LCD.BEGIN (16, 2);
lcd.setRGB (255, 255, 255);
pinMode (tempSense, ingång);
}
void loop() {
lcd.setCursor(0,0);
LCD.Print("
"); //32 utrymmen rensar skärmen för all text - behandlar
text offset buggar
lcd.setCursor(0,0);
dubbla Läs = analogRead(tempSense);
dubbel
Resistance=(float)(1023-Read) * 10000/läsa;
dubbel
temperatur = 1 / (log (motstånd/10000) /B+1/298.15)-273.15;
LCD.Print(temperature);
Ställa in färggradient
temperatur = min (temperatur,
maxTemp);
temperatur = max (temperatur,
minTemp);
dubbel bråkdel;
IF(temperature < ideal) {
fraktion = (perfekt - temperatur) /
(perfekt - minTemp) * 5 +. 5.
} annat {
fraktion = (maxTemp -
temperature)/(maxTemp-ideal) *. 5.
}
int r = 0;
int g = 0;
int b = 0;
dubbel kvartalet = 1,0/4.0;
IF(Fraction < Quarter) {
r = 255;
g = (int) ((fraktion) / kvartal *
255);
} else om (bråkdel < 2 * kvartalet) {
r = (int) ((2 * kvartalet -
fraktion) / kvartal * 255);
g = 255;
} else om (bråkdel < 3 * kvartalet) {
g = 255;
b =
(int) ((Fraction-2*Quarter)/kvartal * 255);
} annat {
g = (int) ((4 * kvartalet -
fraktion) / kvartal * 255);
b = 255;
}
Ställa in LCD-färger
lcd.setRGB(r,g,b);
fördröjning (500); //Wait en halv sekund.
}