#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Servo.h>
#include <Ultrasonic.h>
Adafruit_SSD1306 OLED(4);
Ultrasonic ultrasonic (9,8);
Servo myservo;
int x;
#define l1 13
#define s1 2
void setup()
{
Serial.begin(9600);
pinMode(l1,OUTPUT);pinMode(s1,INPUT_PULLUP);
OLED.begin(SSD1306_SWITCHCAPVCC,0x3C);
myservo.attach(6);
myservo.write(0);
}
void loop()
{
if(digitalRead(s1)==0)
{
digitalWrite(l1,1);
OLED.clearDisplay();
OLED.setTextColor(WHITE,BLACK);
OLED.setCursor(15,0);
OLED.setTextSize(1);
OLED.println("ON");
float distance=ultrasonic.distanceRead(CM);
OLED.setTextColor(WHITE,BLACK);
OLED.setCursor(30,20);
OLED.setTextSize(1);
OLED.println(distance);
OLED.display();
if(distance>30)
{
myservo.write(90);
}
else
{
myservo.write(0);
}
}
if(digitalRead(s1)==1)
{
digitalWrite(l1,0);
OLED.clearDisplay();
OLED.setTextColor(WHITE,BLACK);
OLED.setCursor(15,0);
OLED.setTextSize(1);
OLED.println("OFF");
float distance=ultrasonic.distanceRead(CM);
OLED.display();
if(distance<30)
{
myservo.write(0);
}
else
{
myservo.write(0);
}
}
}