เปิดปิดไฟด้วยเสียง
เรียนรู้วิธีควบคุม Arduino ด้วย เซ็นเซอร์เสียง LM393 เราจะควบคุม การ ปิด เปิด ไฟ LED ด้วยเสียงตบมือ โดยเราจะใช้เซ็นเซอร์ตรวจจับเสียง LM393 + รีเลย์ และแสดงผลด้วยไฟ LED
อุปกรณ์ที่ใช้
การต่อวงจร ระหว่าง เซ็นเซอร์เสียง LM393 กับ Arduino UNO
LM393 <--> UNO
+5V <--> 5V
GND <--> GND
OUT <--> D4
GND <--> GND
OUT <--> D4
การต่อวงจร ระหว่าง Relay กับ Arduino UNO
Relay <--> UNO
5V <--> 5V
GND <--> GND
IN <--> D5
GND <--> GND
IN <--> D5
การต่อวงจร ระหว่าง UNO+ Relay + LED + รางถ่าน
(LED เป็น LED แบบไม่มีขั้ว ต่อเข้าด้านไหนก็ทำงานได้เช่นกัน)
หมายเหตุ : ที่ 5V ของ Arduino มี 2 สาย จาก เซ็นเซอร์เสียง และ Relay ที่ใช้ร่วม 5V จุดเดียวกัน ให้ เชื่อมต่อ 2 เส้น รวมกันก่อน ให้เหลือ 1 เส้น แล้วจึงเสียบเข้าไปที่ 5V
เปิดโปรแกรม Arduino (IDE) และ Upload โค้ดนี้ ไปยัง บอร์ด Arduino UNO R3
int sound_sensor = 4;
int relay = 5;
int relay = 5;
int clap = 0;
long detection_range_start = 0;
long detection_range = 0;
boolean status_lights = false;
long detection_range_start = 0;
long detection_range = 0;
boolean status_lights = false;
void setup() {
pinMode(sound_sensor, INPUT);
pinMode(relay, OUTPUT);
}
pinMode(sound_sensor, INPUT);
pinMode(relay, OUTPUT);
}
void loop() {
int status_sensor = digitalRead(sound_sensor);
if (status_sensor == 0)
{
if (clap == 0)
{
detection_range_start = detection_range = millis();
clap++;
}
else if (clap > 0 && millis()-detection_range >= 50)
{
detection_range = millis();
clap++;
}
}
if (millis()-detection_range_start >= 400)
{
if (clap == 2)
{
if (!status_lights)
{
status_lights = true;
digitalWrite(relay, HIGH);
}
else if (status_lights)
{
status_lights = false;
digitalWrite(relay, LOW);
}
}
clap = 0;
}
}
int status_sensor = digitalRead(sound_sensor);
if (status_sensor == 0)
{
if (clap == 0)
{
detection_range_start = detection_range = millis();
clap++;
}
else if (clap > 0 && millis()-detection_range >= 50)
{
detection_range = millis();
clap++;
}
}
if (millis()-detection_range_start >= 400)
{
if (clap == 2)
{
if (!status_lights)
{
status_lights = true;
digitalWrite(relay, HIGH);
}
else if (status_lights)
{
status_lights = false;
digitalWrite(relay, LOW);
}
}
clap = 0;
}
}
ให้เอาไขควงหมุน ปรับค่าการรับสัญญาณเสียง ที่ เซ็นเซอร์เสียง LM393 โดยให้หมุนตัว R ปรับค่าได้ แบบ trimpot สีฟ้า โดย เมื่อ ตบมือ 2 ครั้ง ให้ ไฟ LED สีแดง ที่ รีเลย์ ติด และ เมื่อ ตบมืออีก 2 ครั้ง ให้ ไฟ LED สีแดง ที่ รีเลย์ ดับ
ทดสอบการทำงาน โดย เมื่อไฟติดอยู่ ตบมือ 2 ครั้ง ไฟจะดับ และ เมื่อ ตบมืออีก 2 ครั้ง ไฟจะติด
ไม่มีความคิดเห็น:
แสดงความคิดเห็น