#include <Servo.h>
Servo myservo;
#include <LiquidCrystal.h>
#define LED 6
const float GAMMA = 0.7;
const float RL10 = 50;
const float BETA = 3950;
int pos=0;
LiquidCrystal lcd(12,11,10,9,8,7);
void setup() {
myservo.attach(5);
Serial.begin(9600);
lcd.begin(16,2);
pinMode(LED,OUTPUT);
}
void loop() {
int analogValue = analogRead(A0);
int analogValues = analogRead(A1);
float voltage = analogValue / 1024. * 5;
float resistance = 2000 * voltage / (1 - voltage /5);
float lux = pow(RL10 * 1e3 *pow(10, GAMMA) / resistance, (1 / GAMMA));
float celsius = 1 / (log(1 / (1023. / analogValues - 1)) / BETA + 1.0 / 298.15) - 273.15-0.01;
if(celsius > 25){
digitalWrite(LED,HIGH);
}else{
digitalWrite(LED,LOW);
}
if(lux >= 50){
myservo.write(0);
}else{
myservo.write(180);
}
lcd.setCursor(0,0);
lcd.print("Template:");
lcd.print(celsius);
lcd.print("C");
lcd.setCursor(0,1);
lcd.print("Lux:");
lcd.print(lux);
}