/*
arduino IDE esp8266
HIGH = ปิด
LOW = เปิด
esp32 wokwi
HIGH = เปิด
LOW = ปิด
*/
#include <ESP32Servo.h>
#define trigPin 15 // ขา D15
#define echoPin 4 // ขา D4
int pinServo = 2; // ขา D2
Servo myservo; //ตั้งชื่อ Servo ถ้ามีหลายอันก็ตั้งส่วนนี้มากกว่า 1
void setup() { // ส่วนตั้งค่าอุปกรณ์ทำงานครั้งเดียว
Serial.begin(115200); // ความเร็วบอร์ด
pinMode(trigPin, OUTPUT); // กำหนดให้ trigPin ขา D15 เตรียมพร้อมที่จ่ายไฟ 5 v
pinMode(echoPin, INPUT); // จะให้สัญญาณเป็นขาเข้า echoPin ขา D4 มีค่า 0v เมื่อยังไม่ต่ออุปกรณ์
myservo.attach(pinServo);//pin D2 อ้างอิง servo ให้ทำงานที่ D2
}
void loop() {
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duration, cm;
duration = pulseIn(echoPin, HIGH);
cm = duration/ 58;
Serial.print(cm);
Serial.print("cm");
Serial.println();
if (cm > 17 ) {
Serial.println("servo ทำงานหมุน 135");
myservo.write(135); // สั่งให้ Servo หมุนไปองศาที่ 0
}
else
{
myservo.write(45); // สั่งให้ Servo หมุนไปองศาที่ 45
}
delay(1000); // หน่วยเวลา 1 วิ
}