Bếp thông minh
Bếp thông minh
Link kiện: Arduino Uno, Dht11, Diode, Lm016L, Logic State, Motor, Mq-2 Gas Sensor, Relay, Res, Tip41 (Transitor).
Mô hình:
Proteus:
Arduino IDE:
#include <DHT.h>
#include <LiquidCrystal.h>
DHT dht(8, DHT11);
LiquidCrystal lcd(7, 6 , 5, 4, 3, 2);
int Quatphong = 9;
int Cuathonggio = 10;
int Quatthonggio = 11;
float gas_sensor = 12;
// float gas_sensor = A5;
float nhietdo;
float doam;
float gas;
void setup() {
// put your setup code here, to run once:
pinMode(Quatphong, OUTPUT);
pinMode(Cuathonggio, OUTPUT);
pinMode(Quatthonggio, OUTPUT);
lcd.begin(16, 2);
lcd.print("Bep thong minh");
lcd.setCursor(0,1);
lcd.print("DHT11 + MQ2");
delay(500);
dht.begin();
}
void dieukhienthietbi(){
if((gas == HIGH) || (doam > 85)){
digitalWrite(Cuathonggio, HIGH);
digitalWrite(Quatthonggio, HIGH);
}else{
digitalWrite(Cuathonggio, LOW);
digitalWrite(Quatthonggio, LOW);
}
if(nhietdo > 32){
digitalWrite(Quatphong, HIGH);
}else{
digitalWrite(Quatphong, LOW);
}
}
void loop() {
// put your main code here, to run repeatedly:
nhietdo = dht.readTemperature();
doam = dht.readHumidity();
gas = digitalRead(gas_sensor);
// gas = map(analogRead(gas_sensor), 0, 1023, 200, 10000);
lcd.clear();
lcd.print("T: ");
lcd.print(nhietdo);
lcd.print("*C H:");
lcd.print(doam);
lcd.print("%");
lcd.setCursor(0,1);
lcd.print("Nong do gas: ");
lcd.print(gas);
dieukhienthietbi();
delay(1000);
}