#include <LiquidCrystal_I2C.h>
#include <Keypad.h>
#include <IRremote.h>
#include <DHT.h>
#include "timerClass.h" //TimerClass for creating Timer Object
#include "variables.h" //Variables and Declarations of Components
#include "lcdDisplay.h" // Functions related to Display
#include "humAndTemp.h" // Functions for reading Temperature and Humidity
#include "setTimer.h" // Functions Setting the timers
#include "runTimer.h" // Functions Running the Timers
#include "inputRead.h" // Functions for the IR Remote and Receiver
void setup() {
//INTERVAL TIMER
IntervalTimer.SetTime = 10000;
Serial.begin(9600);
//LCD
lcd.begin(20, 4);
lcd.backlight();
lcdPrint(4, 1, "Just Co, Ltd."); //Splash
lcdPrint(5, 2, "R&D Center");
delay(1500);
//DHT
dht.begin();
updateHumAndTemp();
lcd.clear();
homeDisplay();
//RELAY, LIGHT, SPEAKER
pinMode(LOAD_PIN, OUTPUT);
pinMode(LIGHT_PIN, OUTPUT);
pinMode(SPEAKER_PIN, OUTPUT);
//SEVEN SEGMENT
pinMode(LATCH_PIN, OUTPUT);
pinMode(CLOCK_PIN, OUTPUT);
pinMode(DATA_PIN, OUTPUT);
//SWITCH
pinMode(SWITCH_PIN, INPUT_PULLUP);
//IR RECEIVER
receiver.enableIRIn();
}
//LOOP
void loop() {
//DHT
checkHumAndTemp();
updateTimers();
//KEYPAD
char key = keypad.getKey();
acceptInput(key);
// IR RECEIVER AND REMOTE
if (receiver.decode()) {
translateIR();
delay(500);
receiver.resume();
}
}