การใช้งาน Arduino Nano กับเซ็นเซอร์วัดระยะ (HC-SR04) และ LED

1. บทนำ

เซ็นเซอร์อัลตร้าโซนิก HC-SR04 ทำงานโดยการส่งคลื่นเสียงความถี่สูงออกไป เมื่อคลื่นเสียงสะท้อนกับวัตถุกลับมา ตัวเซ็นเซอร์จะวัดระยะเวลา แล้วคำนวณเป็นระยะทาง ในที่นี้เราจะนำเซ็นเซอร์มาทำงานร่วมกับ LED เพื่อสร้างระบบเตือน เช่น ไฟติดเมื่อมีวัตถุเข้ามาใกล้


2. อุปกรณ์ที่ใช้

  • Arduino Nano
  • HC-SR04 Ultrasonic Sensor
  • LED 1 ดวง
  • ตัวต้านทาน (220–330 Ω)
  • สาย Jumper

3. การต่อวงจร (ตามภาพ)

  • VCC ของ HC-SR04 → ขา 5V บน Arduino Nano
  • GND ของ HC-SR04 → ขา GND บน Arduino Nano
  • Trig ของ HC-SR04 → ขา D4
  • Echo ของ HC-SR04 → ขา D3
  • LED → ต่อกับขา D2 ผ่านตัวต้านทาน จากนั้นต่อกลับไป GND

4. โค้ดการทำงาน (โค้ดของครูทีม)

void setup() {
  // กำหนดขาทำงาน
  pinMode(2, OUTPUT);   // LED
  pinMode(4, OUTPUT);   // Trig
  pinMode(3, INPUT);    // Echo
}

void loop() {
  // ส่งสัญญาณออกจาก Trig
  digitalWrite(4, HIGH);
  delay(1000);
  digitalWrite(4, LOW);

  // อ่านเวลาการสะท้อนกลับจาก Echo
  if (pulseIn(3, HIGH) < 10000) {
    digitalWrite(2, HIGH);   // ถ้ามีวัตถุใกล้ → LED ติด
  } else {
    digitalWrite(2, LOW);    // ถ้าไม่มีวัตถุใกล้ → LED ดับ
  }
}

5. คำอธิบายโค้ด

  1. pinMode(2, OUTPUT); → กำหนดให้ขา D2 เป็น Output สำหรับควบคุม LED
  2. pinMode(4, OUTPUT); → กำหนดให้ขา D4 เป็น Output ใช้ส่งสัญญาณ Trig
  3. pinMode(3, INPUT); → กำหนดให้ขา D3 เป็น Input รับสัญญาณ Echo กลับมา
  4. digitalWrite(4, HIGH); delay(1000); digitalWrite(4, LOW); → ส่งสัญญาณออกไปจาก Trig (ในโค้ดนี้ส่งค้าง 1 วินาทีแล้วดับ)
  5. pulseIn(3, HIGH) → ใช้วัดระยะเวลาที่ Echo ส่งกลับมา
  6. เงื่อนไข if (pulseIn(3, HIGH) < 10000) → ถ้าเวลาที่สะท้อนกลับมาสั้นกว่า 10000 µs (หมายถึงมีวัตถุใกล้) ให้เปิด LED
  7. ถ้าเกิน → LED ดับ

6. สรุป

  • เซ็นเซอร์ HC-SR04 สามารถวัดระยะทางได้ โดยใช้หลักการสะท้อนของคลื่นเสียง
  • Arduino Nano สามารถใช้ผลการวัดมา ควบคุม LED หรืออุปกรณ์อื่นได้
  • โค้ดที่เขียนในที่นี้เป็น เงื่อนไขเชิงเวลา คือ ถ้าวัตถุอยู่ใกล้ในระยะหนึ่ง → LED ติด
  • นักเรียนสามารถปรับค่าตัวเลข 10000 เพื่อกำหนดเงื่อนไขระยะใกล้–ไกลได้ตามต้องการ