#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#include <Servo.h>
#define Trash_Button 2
#define servo_Trash 7
#define Fan_Button 3
#define Fan_Relay 4
#define Backlight_Button 5
#define BackLight_Led 13
#define DHTPIN 8
#define DHTTYPE DHT22
#define I2C_ADDR 0x27
#define LCD_COLUMNS 20
#define LCD_LINES 4
Servo servo;
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
DHT dht(DHTPIN, DHTTYPE);
void setup()
{
Serial.begin(9600);
pinMode(Trash_Button, INPUT);
pinMode(Fan_Button, INPUT);
pinMode(Backlight_Button, INPUT);
pinMode(Fan_Relay, OUTPUT);
digitalWrite(Fan_Relay, LOW);
servo.attach(servo_Trash);
servo.write(0);
lcd.init();
lcd.backlight();
dht.begin();
}
void loop()
{
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t))
{
Serial.println(F("Failed to read from DHT sensor!"));
lcd.setCursor(0, 0);
lcd.print("Failed to read");
lcd.setCursor(0, 1);
lcd.print("from DHT sensor!");
return;
}
Serial.print(F("Humidity: "));
Serial.print(h);
Serial.print(F("% Temperature: "));
Serial.print(t);
Serial.println(F("°C "));
//Temperature
lcd.setCursor(0, 0);
lcd.print("R.Temp:");
lcd.setCursor(7, 0);
lcd.print(t);
lcd.setCursor(11, 0);
lcd.print(".");
lcd.setCursor(12, 0);
lcd.print("C");
//Humdity
lcd.setCursor(0, 1);
lcd.print("R.Humi:");
lcd.setCursor(7, 1);
lcd.print(h);
lcd.setCursor(12, 1);
lcd.print("%");
//Fan Status
//Back Light Status
delay(2000);//buton durumu için makine durum yazılacak
}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
servo1:GND
servo1:V+
servo1:PWM
lcd1:GND
lcd1:VCC
lcd1:SDA
lcd1:SCL
relay1:VCC
relay1:GND
relay1:IN
relay1:NC
relay1:COM
relay1:NO
dht1:VCC
dht1:SDA
dht1:NC
dht1:GND
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r
btn2:1.l
btn2:2.l
btn2:1.r
btn2:2.r
btn3:1.l
btn3:2.l
btn3:1.r
btn3:2.r
r1:1
r1:2
r2:1
r2:2
r3:1
r3:2
led1:A
led1:C
r4:1
r4:2