#include <Servo.h>
Servo myservo;
#define echoPin A4 // SDA
#define trigPin A5 //SCL
#define LEDR 9
#define LEDG 11
#define LEDB 10
long duration;
int distance;
int i;
void setup() {
myservo.attach(8);
myservo.write(0);
pinMode(LEDR,OUTPUT);
pinMode(LEDG,OUTPUT);
pinMode(LEDB,OUTPUT);
pinMode(trigPin, OUTPUT); // Sets the trigPin as an OUTPUT
pinMode(echoPin, INPUT); // Sets the echoPin as an INPUT
Serial.begin(9600); // // Serial Communication is starting with 9600 of baudrate speed
delay(1000);
}
void loop() {
Read_CM();
Serial.print("ระยะ = ");
Serial.print(distance);
Serial.println(" cm ");
if(distance<15)
{
Serial.println("ประตู เปิด");
myservo.write(90);
Serial.println("ประตู ปิด");
delay(2000);
myservo.write(0);
delay(100);
}
if(distance>15)
{
Serial.println("ประตู ปิด");
delay(2000);
myservo.write(0);
delay(100);
}
}
void Read_CM(){
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
}