#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define PIR 15
#define RLED 18
#define YLED 19
#define RedSW 2
#define YellowSW 4
Adafruit_SSD1306 display = Adafruit_SSD1306(128, 64, &Wire);
int v=0;
void setup() {
Serial.begin(115200);
pinMode(PIR, INPUT);
Serial.println("Setup done!");
display.begin(SSD1306_SWITCHCAPVCC, 0x3c);
pinMode(RLED, OUTPUT);
pinMode(YLED, OUTPUT);
pinMode(RedSW, INPUT_PULLUP);
pinMode(YellowSW, INPUT_PULLUP);
digitalWrite(RLED,LOW);
digitalWrite(YLED,LOW);
}
int status1 = 0;
int status2 = 0;
void loop() {
if (digitalRead(PIR)==LOW) {{
v=0;
}
display.clearDisplay();
display.setTextColor(1);
display.setCursor(10,10);
display.print("HELLO");
display.display(); delay(50);
}
if(digitalRead(PIR)==HIGH){{
v=1;
}
display.clearDisplay();
display.setTextColor(1);
display.setCursor(10,10);
display.print("Motion Detected");
display.display(); delay(5000);
}
if(digitalRead(RedSW)== LOW)
{
if(++status1>2) status1 =1;
while(digitalRead(RedSW)==LOW) delay(5);
}
switch(status1)
{
case 1: digitalWrite(RLED, HIGH);
break;
case 2: digitalWrite(RLED, LOW);
break;
}
if (digitalRead(YellowSW)== LOW)
{
if(++status2>2) status2 =1;
while(digitalRead(YellowSW)== LOW) delay(5);
}
switch(status2)
{
case 1: digitalWrite(YLED, HIGH);
break;
case 2: digitalWrite(YLED, LOW);
break;
}
delay(20);
}