1. บทนำ
เซ็นเซอร์ HC-SR04 สามารถวัดระยะทางของวัตถุด้านหน้าได้ เมื่อเรานำค่าระยะทางที่วัดได้มาประมวลผล จะสามารถควบคุมอุปกรณ์ต่าง ๆ ได้ เช่น Servo Motor ในการทดลองนี้ เราจะทำให้ Servo หมุนไปยังมุมที่กำหนด เมื่อมีวัตถุอยู่ใกล้
2. อุปกรณ์ที่ใช้
- Arduino Nano
- HC-SR04 Ultrasonic Sensor
- Servo Motor (SG90 หรือ MG90S)
- สาย Jumper
3. การต่อวงจร

จากภาพ:
- Servo Motor
- สายแดง (VCC) → ขา 5V บน Arduino
- สายดำ/น้ำตาล (GND) → ขา GND บน Arduino
- สายส้ม (Signal) → ขา D2
- HC-SR04
- VCC → ขา 5V
- GND → GND
- Trig → D4
- Echo → D3
4. โค้ด (ของครูทีม)
#include <Servo.h>
Servo myservo;
void setup() {
myservo.attach(2); // Servo ต่อที่ขา D2
pinMode(4, OUTPUT); // Trig
pinMode(3, INPUT); // Echo
}
void loop() {
digitalWrite(4, HIGH);
delay(1000);
digitalWrite(4, LOW);
if (pulseIn(3, HIGH) < 10000) {
myservo.write(0); // ถ้าวัตถุอยู่ใกล้ → Servo หมุนไปที่ 0 องศา
} else {
myservo.write(90); // ถ้าไม่มีวัตถุใกล้ → Servo อยู่ที่ 90 องศา
}
}
5. คำอธิบายโค้ด
#include <Servo.h>
→ ใช้ไลบรารี Servo ช่วยควบคุมมอเตอร์myservo.attach(2);
→ กำหนดขา D2 สำหรับสัญญาณ ServodigitalWrite(4, HIGH); ... digitalWrite(4, LOW);
→ ส่งสัญญาณจากขา TrigpulseIn(3, HIGH)
→ อ่านเวลาสัญญาณสะท้อนกลับจาก Echo- เงื่อนไข
if (pulseIn(3, HIGH) < 10000)
→ ถ้าเวลาที่สะท้อนกลับมาสั้น (แสดงว่ามีวัตถุใกล้) → Servo หมุนไปที่ 0° - ถ้าไม่ใช่ → Servo หมุนไปที่ 90°
6. สรุป
- เซ็นเซอร์ HC-SR04 ใช้ตรวจจับวัตถุด้วยคลื่นเสียงอัลตร้าโซนิก
- Arduino Nano สามารถใช้ผลการวัดเพื่อควบคุม Servo Motor ได้
- การทดลองนี้จำลองพฤติกรรม “ประตูอัตโนมัติ” หรือ “แขนกลที่ตอบสนองต่อวัตถุ”
- นักเรียนสามารถนำไปต่อยอด เช่น ระบบ แขนกลหยิบของ, หุ่นยนต์เลี่ยงสิ่งกีดขวาง, หรือ ระบบเปิด–ปิดฝาถังขยะอัตโนมัติ