เซ็นเซอร์ KY-037 เป็นโมดูลอิเล็กทรอนิกส์ที่ใช้ตรวจจับระดับเสียงรอบข้าง โดยจะแปลงสัญญาณเสียงที่รับได้ให้เป็นสัญญาณไฟฟ้าที่สามารถวัดและประมวลผลได้ง่าย ทำให้เราสามารถนำไปใช้ในโครงงานอิเล็กทรอนิกส์ต่างๆ ได้มากมาย เช่น ระบบเตือนภัย, ระบบควบคุมเสียง, และอื่นๆ
1.ต่ออุปกรณ์
.png?alt=media&token=51b9749f-b794-43b6-986e-1acc57a70c11)
KY-037 > Arduino UNO
+>5VG>GNDAO>A0
*บนเซนเซอร์จะมีตัวต้านทานปรับค่าได้ สามารถปรับเพื่อเปลี่ยนความไวต่อเสียง
2.ลงโปรแกรม
Copy โค้ดด้านล่าง
Arduino
1int Sen = A0;
2int val = 0;
3int I = 0;
4void setup() {
5 pinMode(LED_BUILTIN, OUTPUT);
6 Serial.begin(9600);
7}
8void loop() {
9 val = analogRead(Sen);
10 Serial.println(val);
11 //Serial.println(I);
12 if (val > 300 || val < 1 ) {
13 I = I + 1;
14
15 }
16 if (I == 1) {
17 digitalWrite(LED_BUILTIN, HIGH); // ถ้าค่า val เท่ากับ 1 สั่งให้ LED ติด
18 Serial.println("LED_ON");
19 }
20 if (I == 2) {
21 digitalWrite(LED_BUILTIN, LOW); // ถ้าค่า val ไม่ใช่ 1 สั่งให้ LED ดับ
22 Serial.println("LED_OFF");
23 I = 0;
24 }
25 delay(200);
26} 1int Sen = A0;
2int val = 0;
3int I = 0;
4void setup() {
5 pinMode(LED_BUILTIN, OUTPUT);
6 Serial.begin(9600);
7}
8void loop() {
9 val = analogRead(Sen);
10 Serial.println(val);
11 //Serial.println(I);
12 if (val > 300 || val < 1 ) {
13 I = I + 1;
14
15 }
16 if (I == 1) {
17 digitalWrite(LED_BUILTIN, HIGH); // ถ้าค่า val เท่ากับ 1 สั่งให้ LED ติด
18 Serial.println("LED_ON");
19 }
20 if (I == 2) {
21 digitalWrite(LED_BUILTIN, LOW); // ถ้าค่า val ไม่ใช่ 1 สั่งให้ LED ดับ
22 Serial.println("LED_OFF");
23 I = 0;
24 }
25 delay(200);
26}
3.ผลลัพธ์
เมื่อเซนเซอร์ได้รับเสียงเกินค่าที่ตั้งไว้ จะเปิด LED บนบอร์ด Arduino UNO
.png?alt=media&token=64906197-cea9-45a3-91c8-e7b7c63b059d)
