เปิดปิดไฟด้วยเสียง
เรียนรู้วิธีควบคุม Arduino ด้วย เซ็นเซอร์เสียง LM393 เราจะควบคุม การ ปิด เปิด ไฟ LED ด้วยเสียงตบมือ โดยเราจะใช้เซ็นเซอร์ตรวจจับเสียง LM393 + รีเลย์ และแสดงผลด้วยไฟ LED
การต่อวงจร ระหว่าง เซ็นเซอร์เสียง LM393 กับ Arduino UNO
LM393 <--> UNO
+5V <--> 5V
GND <--> GND
OUT <--> D4
การต่อวงจร ระหว่าง UNO+ Relay + LED + รางถ่าน
(LED เป็น LED แบบไม่มีขั้ว ต่อเข้าด้านไหนก็ทำงานได้เช่นกัน)
(LED เป็น LED แบบไม่มีขั้ว ต่อเข้าด้านไหนก็ทำงานได้เช่นกัน)
หมายเหตุ : ที่ 5V ของ Arduino มี 2 สาย จาก เซ็นเซอร์เสียง และ Relay ที่ใช้ร่วม 5V จุดเดียวกัน ให้ เชื่อมต่อ 2 เส้น รวมกันก่อน ให้เหลือ 1 เส้น แล้วจึงเสียบเข้าไปที่ 5V
int sound_sensor = 4;
int relay = 5;
int clap = 0;
long detection_range_start = 0;
long detection_range = 0;
boolean status_lights = false;
void setup() {
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 relay = 5;
int clap = 0;
long detection_range_start = 0;
long detection_range = 0;
boolean status_lights = false;
void setup() {
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;
}
}


ไม่มีความคิดเห็น:
แสดงความคิดเห็น