โครงงานบ้านอัจฉริยะด้วยระบบ IOT
ที่มาและความสำคัญ
ในปัจจุบันอินเตอร์เน็ตเข้ามามีบทบาทในชีวิตประจำวันของเรามากขึ้น นอกเหนือจากการใช้ประโยชน์ในการติดต่อสื่อสารแล้ว ยังมีการพัฒนาเทคโนโลยีใหม่ๆ ที่สามารถใช้งานผ่านอินเตอร์เน็ตได้การนำเทคโนโลยีเหล่านี้เข้ามาประยุกต์ใช้เพื่ออำนวยความสะดวกสบายต่างๆนี้ คณะผู้จัดทำจึงได้มีแนวคิดที่จะพัฒนาระบบควบคุมการเปิด-ปิดหลอดไฟภายในบ้านผ่านอินเตอร์เน็ต ซึ่งก็เป็นอีกเทคโนโลยีที่อำนวยความสะดวก โดยการควบคุมหลอดไฟภายในบ้านพักจากระยะไกล จะสามารถทำให้ประหยัดเวลา ประหยัดพลังงานไฟฟ้า เนื่องจากในปัจจุบันผู้คนใช้ชีวิตอย่างเร่งรีบ จนบางครั้งเปิดไฟฟ้าทิ้งไว้และอาจมีเหตุจำเป็นไม่มีเวลาที่จะปิดหรือลืมปิด หากมีอุปกรณ์ที่สามารถควบคุมการเปิด–ปิด และตรวจสอบสถานะการทำงานจากระยะไกลได้จะเป็นการประหยัดทั้งเวลา ประหยัดพลังงาน อีกทั้งยังอำนวยความสะดวก และช่วยพัฒนาคุณภาพชีวิตให้ดีขึ้นอีกด้วย
วัตถุประสงค์
เพื่อสร้างแบบจำลองการทำงานของบ้านอัจฉริยะด้วยระบบ IOT
วัสดุอุปกรณ์
1.1 อุปกรณ์ควบคุมแผงวงจร
– Node MCU
1.2 อุปกรณ์นำเข้าข้อมูล (Input) และอุปกรณ์นำข้อมูลออก (Output)
– Relay 4 channel
1.3 อุปกรณ์จัดทำแบบจำลองบ้านอัจฉริยะด้วยระบบ IOT
– ไม้อัด
– กาวร้อน
– สีน้ำมัน
– เคมีโป๊ว
– คัตเตอร์
– เลื่อย
– กระดาษทราย
– สายไฟ
– หลอด LED
หลักการทำงาน
1. เริ่มต้นการทำงานจะรับคำสั่งจากหน้าจอ Application บน Smart phone (Input) จากนั้นส่งข้อมูลไปที่ Node MCU ด้วยอินเตอร์เน็ต ผ่าน Net pie เพื่อตรวจสอบเงื่อนไขระบบคำสั่ง แล้วสั่งงานไปควบคุมการทำงานของ Relay ให้เปิด-ปิดไฟภายในบ้านตามคำสั่งที่ได้รับ
2. รับค่าจาก Node MCU ให้ทำงานตามเงื่อนไขที่กำหนด คือ เมื่อกดเปิด-ปิดบน Application Node MCU จะตรวจสอบเงื่อนไขการทำงานว่าเปิดหรือปิดไฟ ถ้าหากเปิดก็จะสั่งงานให้แสดงสถานะการทำงานของหลอดไฟสว่าง ถ้าหากปิดก็จะสั่งงานให้แสดงสถานะการทำงานของหลอดไฟดับ
CODE คำสั่งการทำงาน
#define LIGHT1 D7
#define LIGHT2 D5
#define LIGHT3 D3
#define LIGHT4 D6
int currentLEDState1 = 0; // ให้เริ่มต้นเป็น OFF หมายเหตุ ไฟ LED บนบอร์ดต่อแบบ active-low
int lastLEDState1 = 0;
int currentButtonState1 = 1; // หมายเหตุ ปุ่ม flash ต่อเข้ากับ GPIO0 แบบ pull-up
int lastButtonState1 = 0;
int currentLEDState2 = 0; // ให้เริ่มต้นเป็น OFF หมายเหตุ ไฟ LED บนบอร์ดต่อแบบ active-low
int lastLEDState2 = 0;
int currentButtonState2 = 1; // หมายเหตุ ปุ่ม flash ต่อเข้ากับ GPIO0 แบบ pull-up
int lastButtonState2 = 0;
int currentLEDState3 = 0; // ให้เริ่มต้นเป็น OFF หมายเหตุ ไฟ LED บนบอร์ดต่อแบบ active-low
int lastLEDState3 = 0;
int currentButtonState3 = 1; // หมายเหตุ ปุ่ม flash ต่อเข้ากับ GPIO0 แบบ pull-up
int lastButtonState3 = 0;
int currentLEDState4 = 0; // ให้เริ่มต้นเป็น OFF หมายเหตุ ไฟ LED บนบอร์ดต่อแบบ active-low
int lastLEDState4 = 0;
int currentButtonState4 = 1; // หมายเหตุ ปุ่ม flash ต่อเข้ากับ GPIO0 แบบ pull-up
int lastButtonState4 = 0;
WiFiClient client;
MicroGear microgear(client);
void updateLED1(int state) {
// ไฟ LED บน NodeMCU จะติดก็ต่อเมื่อส่งค่า LOW ไปให้ LEDPIN
if(state==1 && currentLEDState1 == 0){
currentLEDState1 = 1;
digitalWrite(LIGHT1, LOW); // LED ON
}
else if (state==0 && currentLEDState1 == 1) {
currentLEDState1 = 0;
digitalWrite(LIGHT1, HIGH); // LED OFF
}
}
void updateLED2(int state) {
// ไฟ LED บน NodeMCU จะติดก็ต่อเมื่อส่งค่า LOW ไปให้ LEDPIN
if(state==1 && currentLEDState2 == 0){
currentLEDState2 = 1;
digitalWrite(LIGHT2, LOW); // LED ON
}
else if (state==0 && currentLEDState2 == 1) {
currentLEDState2 = 0;
digitalWrite(LIGHT2, HIGH); // LED OFF
}
}
void updateLED3(int state) {
// ไฟ LED บน NodeMCU จะติดก็ต่อเมื่อส่งค่า LOW ไปให้ LEDPIN
if(state==1 && currentLEDState3 == 0){
currentLEDState3 = 1;
digitalWrite(LIGHT3, LOW); // LED ON
}
else if (state==0 && currentLEDState3 == 1) {
currentLEDState3 = 0;
digitalWrite(LIGHT3, HIGH); // LED OFF
}
}
void updateLED4(int state) {
// ไฟ LED บน NodeMCU จะติดก็ต่อเมื่อส่งค่า LOW ไปให้ LEDPIN
if(state==1 && currentLEDState4 == 0){
currentLEDState4 = 1;
digitalWrite(LIGHT4, LOW); // LED ON
}
else if (state==0 && currentLEDState4 == 1) {
currentLEDState4 = 0;
digitalWrite(LIGHT4, HIGH); // LED OFF
}
}
ผลของการทดสอบ
แบบจำลองใช้งานได้จริง
รูปการทำงาน
วีดีโอผลงาน
ติดตามได้ผ่าน youtube คลิก ลิ้งค์ด้านล่างได้เลยครับ
คณะผู้จัดทำโครงงาน
- นายอนุวัฒน์ หนองประทุม
- นางสาวนที ศรีสุวรรณ
- นางสาวอภิญญา ตาลสาร
อาจารย์ที่ปรึกษา
นายคมกริช บุตรอุดม
นางฐิติมา ผ่องแผ้ว
นายภีศเดช วิชัด สอนวิชา การงานอาชีพและเทคโนโลยีสารสนเทศ
โทรศัพท์ E-mail
โรงเรียนศึกษาสงเคราะห์ธวัชบุรี
ที่อยู่ของโรงเรียน ตำบลนิเวศน์ อำเภอธวัชบุรี จังหวัดร้อยเอ็ด