const int trig = 12; //ประกาศขา trig
const int echo = 13; //ประกาศขา echo
const int Relay1 = 2; //ประกาศขา Relay1 ต่อกับ LED สีเขียว หมุนตามเข็ม
const int Relay2 = 3; //ประกาศขา Relay2 ต่อกับ LED สีแดง หมุนทวนเข็ม
long duration, distance; //ประกาศตัวแปรเก็บค่าระยะ
void setup() {
Serial.begin(9600);
pinMode(echo, INPUT); //สั่งให้ขา echo ใช้งานเป็น input
pinMode(trig, OUTPUT); //สั่งให้ขา trig ใช้งานเป็น output
pinMode(Relay1, OUTPUT); //สั่งให้ขา 2 ต่อรีเลย์ตัวที่ 1 ใช้งานเป็น output
pinMode(Relay2, OUTPUT); //สั่งให้ขา 3 ต่อรีเลย์ตัวที่ 2 ใช้งานเป็น output
}
void loop() {
digitalWrite(trig, LOW);
delayMicroseconds(5);
digitalWrite(trig, HIGH);
delayMicroseconds(5);
digitalWrite(trig, LOW); //ใช้งานขา trig
duration = pulseIn(echo, HIGH); //อ่านค่าของ echo
distance = (duration/2) / 29.1; //คำนวณเป็น centimeters
Serial.print(distance);
Serial.print(" cm\n");
if(distance <= 5) //ระยะการใช้งานเงื่อนไข ถ้าระยะน้อยกว่าหรือเท่ากับ 5cm ให้
{
digitalWrite(Relay1, LOW); //led สีเขียวดับ
digitalWrite(Relay2, HIGH); //led สีแดงติด
delay(1000);
}
else if(distance > 5) //ระยะการใช้งานเงื่อนไข ถ้าระยะมากกว่า 5cm ให้
{
digitalWrite(Relay1, HIGH); //led สีเขียวติด
digitalWrite(Relay2, LOW); //led สีแดงดับ
delay(1000);
}
}