โครงงาน เครื่องเตือนน้ำขาดน้ำล้นผ่าน SMS LINE
เสนอต่อ
มูลนิธิเทคโนโลยีสารสนเทศตามพระราชดำริ
สมเด็จพระเทพรัตนราชสุดา ฯ สยามบรมราชกุมารี
ได้รับการสนับสนุนทุนทำโครงงาน
ในโครงงานสนับสนุนทำโครงงานของนักเรียนในชนทบ
ประจำปีการศึกษา ๒๕๖๐
โดย
สามเณร ไพบูลย์ แก้วมงคล ระดับชั้นมัธยมศึกษาปีที่ ๕
สามเณรพิชญุตม์ อินตะจักร์ ระดับชั้นมัธยมศึกษาปีที่ ๖
อาจารย์ที่ปรึกษา
อาจารย์ ศิวรรจน์ สวัจฉัตว์
อาจารย์ สุนินาท พุฒจันทร์
โรงเรียนพระปริยัติธรรมเกียรติแก้ววิทยา
ตำบลศรีแก้ว อำเภอศรีรัตนะ จังหวัดศรีสะเกษ
บทคัดย่อ
โรงเรียนพระปริยัติธรรมเกียรติแก้ววิทยา เป็นโรงเรียนในโครงการพระราชดำริของสมเด็จพระเทพรัตนราชสุดาฯสยามบรมราชกุมารี ได้มีโอกาสมาทำสิ่งที่พัฒนาตนเองให้มีความรู้ความเข้าใจในด้านคอมพิวเตอร์อิเล็กทรอนิกซ์มากขึ้น จึงได้มีโอกาสทำโครงงานประกวนแข่งขัน ปีนี้ก็ได้นำโครงงานข้าแข่งขันเช่นกัน เป็นเครื่องเตือนน้ำขาดน้ำล้นผ่าน SMS ที่จะช่วยแก้ปัญหาในหลายๆด้านของการเปิดน้ำน้ำทิ้งเฉยๆ นี้ก็เลยเป็นอุบายในการทำโครงงานนี้ครับ
จากการดำเนินการในการจัดทำโครงงานสรุปผลการทดลองได้ดังนี้
เครื่องเตือนน้ำขาดน้ำล้นผ่าน SMS LINE สามารถทำงานได้อย่างมีประสิทธิภาพและใช้ประโยชน์ได้จริง เนื่องในที่ว่า แท๊งค์น้ำตามบ้านหรือแท๊งค์น้ำปะปาเวลาปั๊มน้ำไปยังแท๊งค์ เราไม่รู้ว่าน้ำจะเต็มแท๊งค์เมื่อใด หรือน้ำจะหมดจากแท๊งค์เมื่อใดเช่นกัน เครื่องนี้สามารถเตือนผู้ควบคุมปั๊มมา เปิด-ปิด ได้ทันที
คณะผู้จัดทำ
ที่มาและความสำคัญ
โลกของเราประกอบขึ้นด้วยพื้นดินและพื้นน้ำ โดยส่วนที่เป็นฝืนน้ำนั้น มีอยู่ประมาณ 3 ส่วน (75%) และเป็นพื้นดิน 1 ส่วน (25%) น้ำมีความสำคัญอย่างยิ่งกับชีวิตของพืชและสัตว์บนโลกรวมทั้งมนุษย์เราด้วยน้ำเป็นทรัพยากรที่สามารถเกิดหมุนเวียนได้เรื่อย ๆ ไม่มีวันหมดสิ้น เมื่อแสงแดดส่องมาบนพื้นโลก น้ำจากทะเลและมหาสมุทรก็จะระเหยเป็นไอน้ำลอยขึ้นสู่เบื้องบนเนื่องจากไอน้ำมีความเบากว่าอากาศ เมื่อไอน้ำลอยสู่เบื้องบนแล้ว จะได้รับความเย็นและกลั่นตัวกลายเป็นละอองน้ำเล็ก ๆ ลอยจับตัวกันเป็นกลุ่มเฆม เมื่อจับตัวกันมากขึ้นและกระทบความเย็นก็จะกลั่นตัวกลายเป็นหยดน้ำตกลงสู่พื้นโลก น้ำบนพื้นโลกจะระเหยกลายเป็นไอน้ำอีกเมื่อได้รับความร้อนจากดวงอาทิตย์ ไอน้ำจะรวมตัวกันเป็นเมฆและกลั่นตัวเป็นหยดน้ำกระบวนการเช่นนี้ เกิดขึ้นเป็นวัฏจักรหมุนเวียนต่อเนื่องกันตลอดเวลา เรียกว่า วัฏจักรน้ำทำให้มีน้ำเกิดขึ้นบนผิวโลกอยู่สม่ำเสมอ
น้ำที่พากันใช้บนพื้นโลกใบนี้ส่วนใหญ่เป็นน้ำที่ไม่สะอาดที่ตกมาจากฟ้าเรียกน้ำฝนตกไปยังบึง หนอง
ลำธารหรือสถานที่ต่างๆที่เป็นที่กักเก็บน้ำ มนุษย์เราก็พยายามหาวิธีทางในการนำน้ำเหล่านั้นมาใช้ประโยชน์ ก็เลยมีการผลิตปั๊มน้ำปะปามาเพื่อทำการสูบน้ำจากบ่อหรือบึงหนองต่างๆ มาขัดกรองทำความสะอาดจากดิน สัตว์ตัวเล็กต่างๆที่ยังหลงเหลือออกทำให้เป็นน้ำที่สะอาดพร้อมที่จะใช้ในการทำอาหาร อาบน้ำ หรือทำกิจต่างๆที่เกี่ยวกับการใช้น้ำ แต่ที่สำคัญการใช้น้ำหรือเวลาที่สูบน้ำขึ้นไปทำความสะอาดนั้น เราไม่รู้ว่าน้ำจะหมดแท๊งค์เมื่อใด น้ำจะเต็มแท๊งค์เมื่อใด จำต้องมีคนมาเปิด-ปิดเพื่อเป็นการประหยัดน้ำที่ล้นแท๊งค์และเพื่อเปิดน้ำที่ใกล้จะหมดแท๊งค์เพื่อการใช้น้ำอย่างไม่ติดขัดต่อไป
เนื่องในโรงเรียนหรือวัดที่สาธารณะต่างๆมีแท็งค์น้ำหรือน้ำปะปาเพื่อสำหรับกรองน้ำในการจ่ายน้ำให้ใช้กัน ปัญหาก็มีอยู่ว่า เวลาสูบน้ำ จากบ่อบาดาลเพื่อให้เข้าไปสู่แท็งค์กักน้ำ ในการสูบน้ำก็ใช้ในการเสียบปลั๊กไฟเอาในการจ่ายพอสูบน้ำในปริมาณมากจนล้น ทำให้น้ำที่เราสูบขึ้นมาเต็มและก็ล้นทำให้ เปลืองทรัพย์พยากรณ์น้ำเป็นจำนวนมาก เพระไม่รู้ว่าน้ำมันจะเต็มเมื่อไร จะได้รีบปีดน้ำทันทวงที เราจึงได้คิดค้นเครื่องเตือนน้ำขาดน้ำล้นผ่าน SMS Line ขึ้นมาเพื่อแจ้งน้ำขาดหรือน้ำเต็มแท็งค์แล้ว กับคนผู้คุมการเปิดปิด การสูบน้ำ มาปิดเครื่อง เพื่อจะได้ไม่เปลื่องทรัพย์กรณ์น้ำ และจะสะดวกต่อการรับรู้ น้าเป็นสิ่งจำเป็นที่เราใช้สำหรับการดื่มกิน การประกอบอาหาร ชำระร่างกาย น้ำมีความจำเป็นสำหรับการเพาะปลูกเลี้ยงสัตว์ แหล่งน้ำเป็นที่อยู่อาศัยของปลาและสัตว์น้ำอื่น ๆ ซึ่งคนเราใช้เป็นอาหาร น้ำเป็นแหล่งกำเนิดชีวิตของสัตว์และพืชคนเรามีชีวิตอยู่โดยขาดน้ำได้ไม่เกิน 3 วัน และน้ำยังมีความจำเป็นทั้งในภาคเกษตรกรรมและอุตสาหกรรม ซึ่งมีความสำคัญอย่างยิ่งในการพัฒนาประเทศ ประโยชน์ของน้ำ
วัตถุประสงค์ของการทำโครงงาน
1.เพื่อประหยัดน้ำ
2.เพื่อประหยัดไฟฟ้าที่สูบน้ำ
3.เพื่อจะได้เปิด-ปิดเครื่องสูบน้ำได้อย่างทันทวงที
4.ผู้ก็จะได้มีเวลาไปทำกิจอย่าง
แนวคิดและทฤษฏี
โปรแกรมจะทำงานโดยการเขียนโค้ดควบคุมโดยมีหลักการทำงานดังนี้ ผู้จัดทำเขียนโค้ดโปรแกรมควบคุมเพื่อเป็นการทำงานอย่างมีประสิทธิภาพในการเตือนน้ำขาดน้ำล้นแก่ผู้คุม
เป้าหมายของการทำโครงงาน
1.เพื่อจะไม่เปลืองทรัพย์พยากรณ์น้ำ
2.เพื่อจะได้ไม่บ่นว่าน้ำไม่ไหล น้ำใช้ได้ไม่ต่อเนื่อง
3.เพื่อประหยัดพลังงานไฟฟ้าในการใช้ปั๊มน้ำ
อุปกรณ์ที่ต้องใช้ในการทำโครงงาน
1. Arduino WIFI ESP3266 | 2. Rain Sensor Module |
3.สายจั๊มเปอร์ต่างๆ | 4.บอร์ดทดลอง |
5.สาย USB | 6.โทรศัพท์มือถือ |
ขั้นตอนการทำและการดำเนินการ
- วางแผนการทำงานต่างๆ
- เรียนรู้การต่อวงจรของโครงงานที่ทำ
- ศึกษาอุปกรณ์ที่ต้องการ
- ดำเนินงานการเข้าอบรมและต่แผงวงจรตามที่ออกแบบไว้
- ทดสอบเครื่องเพื่อวัดผลการทำงาน
- บันทึกการทดสอบ ระบุปัญหาที่เกิดขึ้นเพื่อแก้ไข
- สรุปผล
หลักการทำงาน
ลำดับแรกทำการเชื่อมต่อไปยังArduino WIFI โดยการเขียนชื่อและรหัสผ่านไว้ที่โค้ดแล้วเช็ตเข้าเครื่องจากนั้น
เชื่อมต่อกับ LINE โดยเชื่อมต่อที่ LINE Notify แล้ว Coby โค้ด จากของ LINE มาเขียนใส่ที่โค้ดหลัก เพื่อเป็นการ
ส่งข้อความมา และอีกอย่างหนึ่ง ตัวข้อความ ต้องไปแปลงค่าเป็นโค้ดที่เว็บไซค์URL Decoder/Encoder จากนั้นนำมาเขียนโค้ดใส่ที่โค้ดหัวข้อ Message Line กี่ข้อความก็ได้ตามที่ต้องการ ส่วนตัวเซนเซอร์ต้องตั้งค่าโค้ดและตัวต้านทานให้เป็น Hight And Low ที่กำหนดเป็น Hight บน หรือ Low ล่าง
ทำการติดตั้งเครื่องที่แท๊งค์น้ำและเชื่อมต่อไฟที่ 5 w. ติดตั้งเซนเซอร์ที่1คือ Hight ไว้บนแท๊งค์น้ำ เซนเซอร์ที่ 2
คือ Low ไว้ล่าง พอน้ำล้นแท๊งค์น้ำ ก็จะโดนเซนเซอร์จากนั้นก็จะทำการเตือนไปยัง Message Line ว่า น้ำเต็มหรือน้ำเกินแท็งค์ ส่วนน้ำที่ขาดหรือใกล้จะหมดแท๊งค์ พอน้ำไม่ได้ถูกเซนเซอร์หรือน้ำแห้ง ตัวเครื่องก็จะส่งข้อความเตือนว่า น้ำหมดหรือน้ำไกล้หมด จะได้มาเปิดหรือปิดเครื่องปั้นน้ำอย่างทันที เพื่อจำด้ไม่เปลื่องน้ำที่ล้นออกจากแท๊งค์ และจะได้ใช้น้ำอย่างไม่ติดขัด
เมื่อน้ำถูกใช่ในปริมาณเกินที่กำหนด ที่เซนเซอร์ถูกตั้งไว้มันจะทำการเตือนหรือส่งข้อความมาทาง Line ว่าน้ำกำลังจะหมด และถ้าน้ำถูกสูบมาใช้ทำความสะอาดในปริมาณมากกว่ากำหนด ระบบก็จะแจ้งเตือนหรือส่งข้อความมาทาง Line ว่าน้ำกำลังจะเต็ม ระบบจะทำการส่งข้อความทันที เมื่อได้รับการแสดงผลจากเซนเซอร์ที่ติดตั้งไว้กับแท๊งค์น้ำเป็นอย่างดี
สรุปผล
โครงงานเครื่องเตือนน้ำขาดน้ำล้นผ่าน SMS LINE จากการที่เราได้กระทำโครงงานนี้ขึ้นมา สรุปผลได้ว่า เป็นการประดิษฐ์ชิ้นงานที่เป็นไปตามความคิดที่ได้พากันวางแผนไว้ สามารถทำการแจ้งเตือนอย่างมีประสิทธิภาพ ทั้งตอนที่น้ำนั้นเอ่อท้วมแท๊งค์น้ำและน้ำใกล้หรือหมดแท๊งค์ ก็ทำการแจ้งตามที่เราได้ตั้งค่าเขียนโปรแกรมโค้ดไว้เป็นอย่างดีและสามารถใช้งานได้จริงตามสถานที่ต่างๆ เนื่องจากที่ได้ทำการทดลองใช้เครื่องมา
ข้อเสนอแนะโครงงาน
เราจะพัฒนาให้สามารถวัดปริมาณน้ำว่ามีเท่าเหลือเท่าไร และสามารถเปิด-ปิด ปั้มน้ำแบบอัตโนมัติได้ โดยใช่แอปในสมาร์ทโฟน แบบเป็นระยะไกลได้ จะได้สะดวกต่อการทำอย่างอื่นมากขึ้น และจะได้ไม่ต้องกังวนในการเสียน้ำทิ้งไปเชยๆอีกต่อไป
การทำงานของ เครื่องเตือนน้ำขาดน้ำล้นผ่าน SMS LINE
ภาพวาดจำลองการทำงาน
ตัวอย่าง โค้ดการทำงานของโครงงานเปลี่ยนแค่ 2 ที่ก็พอ คือ
1.ใส่ชื่อและรหัส WIFI
-#define WIFI_SSID “AndroidAP”
-#define WIFI_PASSWORD “22222222”
2.ใส่โค้ด LINE เว็บ
-#define LINE_TOKEN “BMJw5EFPiemtQkgdGkLczpjyG3QM8DoX2EzJLEaJJnN”
void Line_Notify(String message) ;
#include <ESP8266WiFi.h>
const int bottomPin = D1; const int topPin = D2;
// Config connect WiFi #define WIFI_SSID “AndroidAP” #define WIFI_PASSWORD “22222222”
// Line config #define LINE_TOKEN “BMJw5EFPiemtQkgdGkLczpjyG3QM8DoX2EzJLEaJJnN”
String messageL = “water%20Empty”; String messageH = “water%20over%20flow”;
void setup() { pinMode(bottomPin, INPUT); pinMode(topPin, INPUT); Serial.begin(9600);
WiFi.mode(WIFI_STA); // connect to wifi. WiFi.begin(WIFI_SSID, WIFI_PASSWORD); Serial.print(“connecting”);
int i = 0; do { Serial.print(“.”); delay(500); i++; Serial.print(i); } while ((WiFi.status() != WL_CONNECTED) && (i < 10));
Serial.println(); Serial.print(“connected: “); Serial.println(WiFi.localIP()); }
void loop() { if (digitalRead(bottomPin) == HIGH) { Line_Notify(messageL); Serial.println(“Low water level”); delay(5000); }
if (digitalRead(topPin) == LOW) { Line_Notify(messageH); Serial.println(“High water level”); delay(5000); }
}
void Line_Notify(String message) { WiFiClientSecure client;
if (!client.connect(“notify-api.line.me”, 443)) { Serial.println(“connection failed”); return; }
String req = “”; req += “POST /api/notify HTTP/1.1\r\n”; req += “Host: notify-api.line.me\r\n”; req += “Authorization: Bearer ” + String(LINE_TOKEN) + “\r\n”; req += “Cache-Control: no-cache\r\n”; req += “User-Agent: ESP8266\r\n”; req += “Connection: close\r\n”; req += “Content-Type: application/x-www-form-urlencoded\r\n”; req += “Content-Length: ” + String(String(“message=” + message).length()) + “\r\n”; req += “\r\n”; req += “message=” + message; // Serial.println(req); client.print(req);
delay(20);
// Serial.println(“————-“); while (client.connected()) { String line = client.readStringUntil(‘\n’); if (line == “\r”) { break; } //Serial.println(line); } // Serial.println(“————-“); } |