#include <IRremote.h>
#include "Ultrasonic.h"
Ultrasonic ultrasonic(9, 8);
#define Relay1_Pin 2
#define Relay2_Pin 3
int buzzerPin = 12;
int distance;
int LED_pin = 5;
int receiver_pin = 4;
int btn_value = 0;
int PIR1pin = 10;
int PIR2pin = 11;
int pir1State = LOW;
int pir2State = LOW;
int val1 = 0;
int val2 = 0;
IRrecv receiver(receiver_pin);
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(buzzerPin, OUTPUT);
pinMode(PIR1pin, INPUT);
pinMode(PIR2pin, INPUT);
pinMode(Relay1_Pin, OUTPUT);
pinMode(Relay2_Pin, OUTPUT);
receiver.enableIRIn();
}
void loop() {
// put your main code here, to run repeatedly:
dis1();
PIR1();
PIR2();
if (receiver.decode()){
translateIR();
receiver.resume();
}
}
int translateIR(){
btn_value = receiver.decodedIRData.command;
Serial.println(btn_value);
if(btn_value == 162){
Serial.println("Power");
digitalWrite(LED_pin, LOW);
digitalWrite(Relay1_Pin, LOW);
Serial.println("Relay OFF");
}
if(btn_value == 34){
Serial.println("Test");
digitalWrite(LED_pin, HIGH);
digitalWrite(Relay1_Pin, HIGH);
Serial.println("Relay ON");
}
if(btn_value == 2){
Serial.println("Test");
digitalWrite(LED_pin, HIGH);
digitalWrite(Relay2_Pin, HIGH);
Serial.println("Relay ON");
}
if(btn_value == 152){
Serial.println("Power");
digitalWrite(LED_pin, LOW);
digitalWrite(Relay2_Pin, LOW);
Serial.println("Relay OFF");
}
if(btn_value == 168){
Serial.println("1");
digitalWrite(LED_pin, HIGH);
delay(300);
digitalWrite(LED_pin, LOW);
delay(300);
digitalWrite(LED_pin, HIGH);
delay(300);
digitalWrite(LED_pin, LOW);
delay(300);
}
}
int dis1() {
distance = ultrasonic.read(CM);
Serial.print("Distance in CM: ");
Serial.println(distance);
distance = ultrasonic.read(INC);
Serial.print("Distance in Inches: ");
Serial.println(distance);
delay(500);
}
int PIR1 () {
val1 = digitalRead(PIR1pin);
if (val1 == HIGH) {
if (pir1State == LOW) {
digitalWrite(Relay1_Pin, HIGH);
Serial.println("PIR1 Motion detected!");
pir1State = HIGH;
}
} else {
if (pir1State == HIGH) {
Serial.println("Motion ended!");
pir1State = LOW;
}
}
}
int PIR2 () {
val2 = digitalRead(PIR2pin);
if (val2 == HIGH) {
//digitalWrite(ledPin, HIGH);
if (pir2State == LOW) {
digitalWrite(Relay2_Pin, HIGH);
Serial.println("PIR2 Motion detected!");
pir2State = HIGH;
}
} else {
//digitalWrite(ledPin, LOW);
if (pir2State == HIGH) {
Serial.println("Motion ended!");
pir2State = LOW;
}
}
}