โปรเจกต์วัดเสียงดังในห้องเรียน ด้วย Arduino UNO

โปรเจกต์วัดความดังเสียงในห้องเรียน ด้วย Arduino UNO

อุปกรณ์ที่ต้องใช้

1. บอร์ด Arduino UNO พร้อมสาย USB


2. โมดูลเซ็นเซอร์เสียง (Sound sensor module)


3. ตัวต้านทาน


4. แผงต่อวงจรทดลอง


5. LED


เริ่มต่ออุปกรณ์


1. อุปกรณ์มีหลักๆ อยู่ 3 ชิ้น คือ Arduino UNO, Sound Sensor Module และ LED

ใน Sound Sensor Module (HW-484):

  • ขาที่เป็นเครื่องหมาย + ต่อเข้าขา 5V ของ Arduino
  • ขา G ต่อเข้าขา GND ของ Arduino
  • ขา A0 ต่อเข้าขา A0 ของ Arduino

LED สีแดง:

  • ขาบวก (ขายาว): ต่อเข้าขา Pin 9 ของ Arduino
  • ขาลบ (ขาสั้น): ต่อผ่าน ตัวต้านทาน 220Ω แล้วนำปลายอีกด้านไปต่อขา GND ของ Arduino


2. เมื่อต่ออุปกรณ์เสร็จแล้ว เปิดโปรแกรม Arduino IDE ขึ้นมา เลือกบอร์ดเป็น Arduino UNO แล้วเขียนโค้ดต่อไปนี้


// กำหนดขาสำหรับอุปกรณ์ตามการต่อจริง
const int soundSensorPin = A0;  // ขา AO จาก Sound Sensor
const int alertLedPin = 9;      // ขาต่อหลอด LED สีแดง

// กำหนดค่าเกณฑ์ความดังของเสียง (Threshold)
// สามารถปรับแก้ไขค่าตัวเลขตรงนี้ได้ตั้งแต่ช่วง 0 - 1023
int soundThreshold = 26; 

void setup() {
  // ตั้งค่า Pin Mode ของหลอด LED เป็น OUTPUT
  pinMode(alertLedPin, OUTPUT);
  
  // เริ่มต้นให้ไฟ LED ปิดอยู่เสมอ
  digitalWrite(alertLedPin, LOW);
  
  // เปิดการเชื่อมต่อ Serial Monitor เพื่อดูค่าระดับเสียง realtime
  Serial.begin(9600);
}

void loop() {
  // อ่านค่าอนาล็อกจากเซนเซอร์วัดเสียง HW-484
  int soundLevel = analogRead(soundSensorPin);
  
  // พิมพ์ค่าเสียงออกทางหน้าต่าง Serial Monitor
  Serial.print("Sound Level: ");
  Serial.println(soundLevel);
  
  // ตรวจสอบเงื่อนไขว่าระดับเสียงดังเกินเกณฑ์ที่ตั้งไว้หรือไม่
  if (soundLevel > soundThreshold) {
    digitalWrite(alertLedPin, HIGH); // เสียงดังเกิน -> ไฟ LED ติดแจ้งเตือน
  } else {
    digitalWrite(alertLedPin, LOW);  // เสียงอยู่ในระดับปกติ -> ปิดไฟ LED
  }
  
  // หน่วงเวลาเล็กน้อยเพื่อความเสถียรในการอ่านค่า
  delay(100); 
}


3. เขียนโค้ดเสร็จแล้วทำการ Verify โค้ด

4. เสียบสาย USB เชื่อมต่อบอร์ด Arduino กับคอมพิวเตอร์

5. กดเปิดหน้าต่าง Serial Monitor (ไอคอนรูปแว่นขยายมุมขวาบน หรือกด Ctrl + Shift + M) แล้วตั้งค่า baud rate ด้านล่างเป็น 9600 baud


6. สังเกตตัวเลขที่ขึ้นใน Serial Monitor: ดูว่าตอนที่ห้องเงียบ ตัวเลขอยู่ที่เท่าไร (เช่น 20-30) ลองส่งเสียงดังหรือปรบมือ แล้วดูว่าตัวเลขขยับไปที่เท่าไร (เช่น 50-60) นำค่ากึ่งกลางมาปรับเปลี่ยนในโค้ดตรงบรรทัดที่ 7 เพื่อให้ไฟติดได้แม่นยำที่สุด

int soundThreshold = xx;


7. Upload โค้ดเข้าสู่บอร์ด Arduino จะมีไฟกระพริบตามภาพ