Temperature Controlled AC Home Appliances using Arduino and Thermistor
อุปกรณ์
- Arduino UNO
- Relay (5v)
- 16*2 LCD display
- Light Bulb (CFL)
- NTC thermistor 10k
- Connecting wires
- Resistors (1k and 10k ohms)
- Potentiometer (10k)
Circuit Diagram
Code
#include <math.h> //ใช้ฟังก์ชั่นทางคณิตศาสตร์
#include "LiquidCrystal.h" //ใช้จอLCD
#define RELAY 8 //สร้างRelay=8
LiquidCrystal lcd(6,7,5,4,3,2);
float A = 1.009249522e-03, B = 2.378405444e-04, C = 2.019202697e-07;
float T,logRt,Tf,Tc;
float Thermistor(int Vo) {
logRt = log(10000.0*((1024.0/Vo-1)));
T = (1.0 / (A + B*logRt + C*logRt*logRt*logRt)); // สูตรการคำนวณเคลวิน
Tc = T - 273.15; // เปลี่ยนเป็นองศาเซลเซียส
Tf = (T * 1.8) + 32.0; // เปลี่ยนเป็นองศาฟาเรนไฮ
return T;
}
void setup() {
lcd.begin(16,2);
lcd.clear();
pinMode(RELAY, OUTPUT);
}
void loop() {
lcd.setCursor(0,0); //ตั้งตำแหน่งไปที่0x0
lcd.print("Temperature:"); //ให้พิมพ์Temperature
lcd.print(int(Thermistor(analogRead(0))));
lcd.print("C ");
delay(500); // รอครึ่งวิเพื่อให้อ่านค่าอีกครั้ง
if (Tc > 28) digitalWrite(RELAY, HIGH),lcd.setCursor(0,1),lcd.print("Light status:ON "),delay(500);
elseif(Tc<28)digitalWrite(RELAY,LOW),lcd.setCursor(0,1),lcd.print("Light status:OFF"),delay(500);
}
elseif(Tc<28)digitalWrite(RELAY,LOW),lcd.setCursor(0,1),lcd.print("Light status:OFF"),delay(500);
}
ความคิดเห็น
แสดงความคิดเห็น