โปรเจกต์วัดความดังเสียงในห้องเรียน ด้วย 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 จะมีไฟกระพริบตามภาพ


