Intellekten Edison temperatur logger med RBG-LCD (4 / 5 steg)
Steg 4: Koden
Koden är ganska enkel och det är lätt att förstå.
Först innehålla nödvändiga bibliotek och adress globala variabler.
#include
#include "rgb_lcd.h"
#include
#include
CONST int pinTemp = A0;
CONST int chipSelect = 4;
float temperatur;
int B = 3975;
float resistens.
rgb_lcd lcd;
Efter det är dags att bygga ogiltiga inställningar.
Detta behövs i något program.
I inställningar finns start för följetongen och LCD-skärmen. SD-kortet appliceras också här.
void setup()
{
Serial.BEGIN(115200);
LCD.BEGIN (16, 2);
LCD.Print("temperature");
Serial.Print ("börja skriva till kortet.");
IF (!. SD.begin(chipSelect)) {
Serial.println ("No eller misslyckande");
hemkomst.
}
Serial.println ("kort hittade");
}
Void andedräkt variabel görs här. Här har förmågan att tona färgen när den ändras.
void andetag (unsigned char färg)
{
för (int jag = 0; jag < 255; i ++)
{
lcd.setPWM(color, i);
Delay(5);
}
Delay(500);
för (int jag = 254; jag > = 0; i--)
{
lcd.setPWM(color, i);
Delay(5);
}
}
Ogiltig loop behövs också i något program.
Det är där hela programmet anger i. Loopen betyder att programmet kommer att fortsätta för evigt.
void loop()
{
om (temperatur > 25) {
Breath(REG_RED);
}
om (temperatur < 25) {
Breath(REG_GREEN);
}
om (temperatur < 20)
{
Breath(REG_BLUE);
}
lcd.setCursor(5,1);
LCD.write(0b11011111);
lcd.setCursor(6,1);
LCD.Print("C");
int val = analogRead(pinTemp);
Resistance=(float)(1023-val) * 10000/val;
temperatur = 1 / (log (motstånd/10000) /B+1/298.15)-273.15;
Serial.println(temperature);
lcd.setCursor(0,1);
LCD.Print(temperature);
String dataString = "";
Fil dataFile = SD.open ("Temperatures.txt", FILE_WRITE);
om (dataFile) {
dataFile.println(temperature);
dataFile.close();
}
annat {
Serial.println ("fel öppna datalog.txt");
}
}