โปรเจค Arduino ง่ายๆ เปิด ปิดไฟด้วยเสียง
เปิดปิดไฟด้วยเสียง
เรียนรู้วิธีควบคุม Arduino ด้วย เซ็นเซอร์เสียง LM393 เราจะควบคุม การ ปิด เปิด ไฟ LED ด้วยเสียงตบมือ โดยเราจะใช้เซ็นเซอร์ตรวจจับเสียง LM393 + รีเลย์ และแสดงผลด้วยไฟ LED
อุปกรณ์ที่ใช้
1. Arduino UNO R3 - Made in italy
2. Sound Detection Sensor Module LM393
3. สาย Jumper Female to Male ยาว 20cm.
4. สาย Jumper Male to Male ยาว 20cm.
5. Prototype PCB Board 4x6 cm Double Sides
6. สกรูหัวกลม+น็อตตัวเมีย ขนาด 3มม ยาว 12มม
7. Relay 1 Channel DC 5V Module
8. SMD LED Lighting G4 AC DC 12V
9. รางถ่าน AA 8 ก้อน
1. Arduino UNO R3 - Made in italy
2. Sound Detection Sensor Module LM393
3. สาย Jumper Female to Male ยาว 20cm.
4. สาย Jumper Male to Male ยาว 20cm.
5. Prototype PCB Board 4x6 cm Double Sides
6. สกรูหัวกลม+น็อตตัวเมีย ขนาด 3มม ยาว 12มม
7. Relay 1 Channel DC 5V Module
8. SMD LED Lighting G4 AC DC 12V
9. รางถ่าน AA 8 ก้อน
การต่อวงจร ระหว่าง เซ็นเซอร์เสียง LM393 กับ Arduino UNO
LM393 <--> UNO
+5V <--> 5V
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 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;
}
}
ไปที่ Tools > Board เลือกเป็น Arduino/Genuino UNO
ไปที่ Tools > Port แล้วเลือกพอร์ตที่ปรากฏ (กรณีใช้เครื่องคอมพิวเตอร์ที่มี COM Port มากกว่าหนึ่ง ให้เลือกตัวอื่นที่ไม่ใช่ COM1)
ในตัวอย่างเลือกเป็น "COM3"
(ถ้ายังว่าง หรือ เป็น COM1 ให้ตรวจสอบการติดตั้งไดร์เวอร์ การต่อสาย USB ของ Arduino UNO)
กดปุ่ม เพื่ออัพโหลด
หากสามารถอัพโหลดโปรแกรมลงบอร์ดได้สำเร็จ จะแสดงคำว่า Done uploading. ที่แถบด้านล่าง
ทดสอบการทำงาน โดย เมื่อไฟติดอยู่ ตบมือ 2 ครั้ง ไฟจะดับ และ เมื่อ ตบมืออีก 2 ครั้ง ไฟจะติด
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;
}
}
ไปที่ Tools > Board เลือกเป็น Arduino/Genuino UNO
ไปที่ Tools > Port แล้วเลือกพอร์ตที่ปรากฏ (กรณีใช้เครื่องคอมพิวเตอร์ที่มี COM Port มากกว่าหนึ่ง ให้เลือกตัวอื่นที่ไม่ใช่ COM1)
ในตัวอย่างเลือกเป็น "COM3"
(ถ้ายังว่าง หรือ เป็น COM1 ให้ตรวจสอบการติดตั้งไดร์เวอร์ การต่อสาย USB ของ Arduino UNO)
(ถ้าไม่พบให้ทำการติดตั้งไดร์เวอร์ก่อน)
การติดตั้งโปรแกรม Arduino (IDE) และ การติดตั้งไดร์เวอร์
การติดตั้งโปรแกรม Arduino (IDE) และ การติดตั้งไดร์เวอร์
กดปุ่ม เพื่ออัพโหลด
หากสามารถอัพโหลดโปรแกรมลงบอร์ดได้สำเร็จ จะแสดงคำว่า Done uploading. ที่แถบด้านล่าง
ไม่มีความคิดเห็น:
แสดงความคิดเห็น