http://oatminiproject.blogspot.com/2015/11/blog-post.html
ระบบเตือนภัยน้ำท่วม
ชุดทดลองเครื่องเตือนภัยน้ำท่วม โดยใช้บอร์ด Arduino UNO ควบคุมสั่งการ รูปแบบโครงงานคือสามารถแสดงให้เห็นถึงการป้องกันและเตือนภัยเพื่อไม่เกิดอันตรายกับผู้อยู่อาศัย เมื่อเรารู้ล่วงหน้าแล้วก็สามารถขนย้ายสิ่งของก่อนที่จะเสียหายหรืออาจถึงแก้ชีวิตได้ และอีกอย่างผมคิดว่าถ้าเกิดน้ำท่วมซึ่งอาจจะทำให้กระแสไฟฟ้าไหลไปกับน้ำได้เพราะว่าน้ำนั้นก็สามารถนำกระแสไฟฟ้าได้เหมือนกัน ถ้าเป็นอย่างนั้นก็อาจจะเกิดอันตรายถึงแก่ชีวิตได้ ผมจึงมีความคิดที่จะทำชุดทดลองเครื่องเตือนภัยน้ำท่วมนี้ขึ้นมา โดยใช้เซ็นเซอร์ตรวจจับน้ำฝน Rain / Water Detection Sensor Module เป็นเซ็นเซอร์ตัวที่1 และอีกหนึ่งตัวเป็นเซ็นเซอร์ตัวที่ 2 Rain Raindrop Water Level Sensor Module เป็นเซ็นเซอร์ตรวจจับน้ำฝนเหมือนกัน การทำงานหลักๆ คือ เมื่อเซ็นเซอร์ตัวที่1 ทำงาน บอร์ดArduinoรับและประมวลผล Output ออกไปที่รีเลย์ 5V เพื่อไปสั่งให้หวูดสัญญาณเสียงดังขึ้น และเมื่อเซ็นเซอร์ตัวที่ 2 ทำงานบอร์ดArduinoก็จะไปสั่งรีเลย์ 5V สั่งตัดกระแสไฟฟ้า L , N เพื่อไม่ให้จ่ายไฟไปที่ปลั๊กเพื่อไม่ให้เกิดอันตรายกับคนที่อยู่อาศัยภายในบ้าน
อุปกรณ์ภายในมีอะไรบ้าง มาดูกันเลยครับ
อุปกรณ์มี
1. เบรกเกอร์ 10A
2. หม้อแปลง 220/15 V
3. บอร์ด arduino UNO
4. ชุดวงจรเร็กติไฟร์ 6V กับ 12V
5. ชุดรีเลย์ 5V 2 ช่อง
6. ชุดแปลงค่าของตัวเซ็นเซอร์
7. ชุดเซ็นเซอร์ตรวจจับน้ำฝน
7. ชุดเซ็นเซอร์ตรวจจับน้ำฝน
การออกแบบวงจร
หลักการทำงาน คือ แบ่งเป็น 2 ระดับ
ระดับแรกเมื่อน้ำมาสัมผัสโดนเซ็นเซอร์ตัวที่ 1 สัญญาณจะส่งไปที่บอร์ดarduinoบอร์ด(arduino)สั่งการไปที่รีเลย์ 5Vเพื่อทำให้หวูดสัญญาณดังขึ้น หวูดสัญญาณจะไม่หยุดถ้าหากยังมีน้ำมาสัมผัสโดนตัวเซ็นเซอร์
ระดับที่ 2 เมื่อมีน้ำมาสมผัสโดนเซ็นเซอร์ตัวที่ 2 สัญญาณจะส่งไปที่บอร์ดarduinoบอร์ดarduinoก็ไปสั่งรีเรย์ให้ทำงาน ทำให้ตัด L,N ออก ดังรูปวงจรด้านบนครับ หลักการทำงานหลักๆก็จะมีประมาณนี้ครับ ส่วนอันนี้เป็นโค้ดโปรแกรมที่เขียนกับบอร์ด arduino UNOครับ
int sensorPin = A0;
int buttonPin = 2;
int relay = 3;
int relay1 = 6;
int sensorValue = 0;
int buttonstate = 0;
void setup()
{
pinMode (buttonPin, INPUT);
pinMode (relay, OUTPUT);
pinMode (relay1,OUTPUT);
}
void loop()
{
buttonstate = digitalRead(buttonPin);
{
if (buttonstate == HIGH)
{
digitalWrite(relay1, HIGH);
}
else
{
digitalWrite(relay1, LOW);
}
}
sensorValue = analogRead(sensorPin);
sensorValue = sensorValue * 5/1023 ;
if(sensorValue >= 3 )
digitalWrite(relay, HIGH);
else
digitalWrite(relay, LOW);
}
int buttonPin = 2;
int relay = 3;
int relay1 = 6;
int sensorValue = 0;
int buttonstate = 0;
void setup()
{
pinMode (buttonPin, INPUT);
pinMode (relay, OUTPUT);
pinMode (relay1,OUTPUT);
}
void loop()
{
buttonstate = digitalRead(buttonPin);
{
if (buttonstate == HIGH)
{
digitalWrite(relay1, HIGH);
}
else
{
digitalWrite(relay1, LOW);
}
}
sensorValue = analogRead(sensorPin);
sensorValue = sensorValue * 5/1023 ;
if(sensorValue >= 3 )
digitalWrite(relay, HIGH);
else
digitalWrite(relay, LOW);
}
ความคิดเห็น
แสดงความคิดเห็น