อุปกรณ์เปิด-ปิดใช้งานห้องอัตโนมัติ (Automatic room activation and deactivation device)

ผู้เขียนบทความ : นายฮัสโร โซ๊ะรี COE#15

รหัสนักศึกษา : 165404140100

คณะวิศวกรรมศาสตร์ : สาขาวิศวกรรมคอมพิวเตอร์

วิชา : 04-513-201 การโปรแกรมคอมพิวเตอร์ชั้นสูง 1/2566

1. ความเป็นมา

เมื่อเทคโนโลยีปัจจุบันมีบทบาทและความสำคัญในชีวิตประจำวันของเรามากขึ้น โดยเฉพาะเทคโนโลยี Internet of Things กำลังได้รับความนิยมเป็นอย่างมากเนื่องในยุคปัจจุบัน ผมได้มีความคิดว่าควรจะนำเทคโนโลยีส่วนนี้มาประยุกต์ใช้ในชีวิตประจำวัน ระบบเปิดปิดใช้งานห้องอัตโนมัติเป็นอีก project หนึ่งที่ผมได้นำเอาเทคโนโลยี IoT มาใช้งาน จุดประสงค์ เพื่อศึกษาการทำ project ของวิชาไมโครคอนโทรลเลอร์และการโปรแกรมคอมพิวเตอร์ชั้นสูง และสามารถนำ project นี้ไปใช้งานได้จริงๆ ไม่ว่าจะเป็น ห้องเรียน ห้องทำงาน หรือห้องประชุมก็ได้และสามารถเอาชิ้นงานนี้ไปพัฒนาต่อได้อีกด้วย ไม่ว่าจะเป็นการควบคุมการเปิดปิดแอร์ และอุปกรณ์ไฟฟ้าอื่นๆ ภายในบ้าน

2.วัตถุประสงค์

1.ความสะดวกสบายให้กับผู้ใช้: ช่วยให้ไม่ต้องเดินไปเปิด-ปิดไฟเอง ช่วยให้เปิด-ปิดไฟได้ในเวลาที่ไม่เหลือใครในห้อง ช่วยให้ไม่ต้องกังวลว่าลืมเปิด-ปิดไฟ

2.ด้านความปลอดภัย: เมื่อมีคนออกจากห้องเหลือ 0 คนแล้ว เครื่องก็จะตัดระบบไฟทุกอย่าง ไม่ต้องห่วงว่าจะมีไฟฟ้าลัดวงจร

3.ด้านประหยัดพลังงาน: ระบบจะช่วยให้ปิดไฟอัตโนมัติเมื่อไม่มีใครอยู่ในห้อง ช่วยให้ควบคุมการใช้พลังงานได้ดีขึ้น

3.ขอบเขต

1.อุปกรณ์จะสามารถนับจำนวนคนเข้าและคนออกได้

2.อุปกรณ์จะสามารถเก็บจำนวนคนมในห้องได้

3.อุปกรณ์สามารถทำการเปิด-ปิดไฟอัตโนมั

4.เราสามาถเลือกที่จะติดตั้งซ้ายหรือขวาของห้องก็ได้เพียงแค่เลื่อนสวิตส์

5.อุปกรณ์สามารถแจ้งเตือนมาในไลน์ได้ ว่ามีคนเข้าคนออก

4.ประโยชน์ที่คาดว่าจะได้รับ

  1. ได้ศึกษาและเข้าใจการทำงานของไมโครคอนโทรลเลอร์ esp32

2.ได้ศึกษาและเข้าใจการทำงานของโมดูลต่างๆ

3.ได้ศึกษาและเข้าใจของการเขียนโปรแกรม

5.ความรู้ที่เกี่ยวข้อง

5.1 การออกแบบของเครื่องนี้

โดยขั้นตอนแรกผมจะใช้โปรแกรมในการออกก่อน ว่าหน้าตาจะออกมาประมาณไหน

หน้าตาคร่าวๆที่เราออกแบบมาในโปรแกรม

5.2 อุปกรณ์ที่ต้องใช้

ESP32 เป็นไมโครคอนโทรลเลอร์แบบ 2 แกนสมอง (dual-core) ที่ใช้สถาปัตยกรรม Tensilica LX6 สัญญาณนาฬิกาสูงสุด 240 MHz มีแรมในตัว 512 KB รองรับการเชื่อมต่อรอมภายนอกสูงสุด 16 MB มาพร้อมกับ WiFi มาตรฐาน 802.11 b/g/n รองรับการใช้งานทั้งในโหมด Station, softAP และ Wi-Fi direct มีบลูทูธในตัว รองรับการใช้งานในโหมด 2.0 และโหมด 4.0 BLE


IR sensor หรือ Infrared sensor เป็นอุปกรณ์ตรวจจับวัตถุโดยใช้แสงอินฟราเรด แสงอินฟราเรดเป็นคลื่นแม่เหล็กไฟฟ้าที่มีความยาวคลื่นยาวกว่าแสงที่มองเห็นได้ มนุษย์ไม่สามารถมองเห็นแสงอินฟราเรดได้ แต่อุปกรณ์ตรวจจับแสงอินฟราเรดสามารถตรวจจับได้


LCD 16×2 I2C เป็นจอแสดงผลตัวอักษรแบบ 16 ตัวอักษร 2 บรรทัด ที่ใช้อินเทอร์เฟซ I2C ในการติดต่อกับอุปกรณ์อื่นๆ เช่น ไมโครคอนโทรลเลอร์ จอ LCD 16×2 I2C มีขาต่อใช้งานเพียง 2 ขาเท่านั้น ทำให้ง่ายต่อการเชื่อมต่อและประหยัดพื้นที่ในการต่อสายไฟ

Relay 5V เป็นอุปกรณ์ที่ใช้สำหรับควบคุมการไหลของกระแสไฟฟ้าในวงจรไฟฟ้า โดยใช้สัญญาณไฟฟ้ากระแสตรง (DC) หรือกระแสสลับ (AC) เพียงเล็กน้อยในการกระตุ้นการทำงาน

เมื่อไม่มีกระแสไฟฟ้าไหลผ่านขดลวด Relay หน้าสัมผัสจะอยู่ในตำแหน่ง NC (Normally Closed) ทำให้กระแสไฟฟ้าไหลผ่านหน้าสัมผัส NC ไปยังวงจรไฟฟ้าที่ต้องการควบคุม

เมื่อจ่ายกระแสไฟฟ้าให้กับขดลวด Relay หน้าสัมผัสจะเปลี่ยนตำแหน่งจาก NC เป็น NO (Normally Open) ทำให้กระแสไฟฟ้าไหลผ่านหน้าสัมผัส NO ไปยังวงจรไฟฟ้าที่ต้องการควบคุม

Push button เป็นอุปกรณ์ทางไฟฟ้าที่ใช้สำหรับควบคุมการทำงานของวงจรไฟฟ้า โดยการกดปุ่มลงไป ปุ่มจะปิดหน้าสัมผัส ทำให้กระแสไฟฟ้าไหลผ่านหน้าสัมผัสนั้น

สวิตช์แบบโยก (Toggle switch) เป็นอุปกรณ์ทางไฟฟ้าที่ใช้สำหรับควบคุมการทำงานของวงจรไฟฟ้า โดยการโยกก้านสวิตช์ไปมา ทำให้หน้าสัมผัสเปลี่ยนตำแหน่ง ส่งผลต่อกระแสไฟฟ้าที่ไหลผ่านหน้าสัมผัสนั้น

การทำงานของ Toggle switch แบ่งออกเป็น 2 สถานะหลักๆ คือ

สถานะปิด (OFF) เมื่อก้านสวิตช์อยู่ในตำแหน่งลง หน้าสัมผัสจะเปิดอยู่ ทำให้กระแสไฟฟ้าไม่ไหลผ่านหน้าสัมผัสนั้น

สถานะเปิด (ON) เมื่อก้านสวิตช์อยู่ในตำแหน่งขึ้น หน้าสัมผัสจะปิดอยู่ ทำให้กระแสไฟฟ้าไหลผ่านหน้าสัมผัสนั้น

5.3 หลักการทำงานของเครื่องนี้

การงาน คือ เราจะมี sensor 2 ตัว หลักการทำงานคือ ถ้าตัวที่1จับได้ก่อนตัวที่2 จะนับว่า เข้า ถ้าตัวที่2 จับได้ตัวที่1 จะนับว่าออก และทำการส่งให้ esp32 เพื่อประมวลผลและแสดงผลออกหน้าจอ lcd และทำการสั่งการ relay เพื่อืำการจ่ายและตัดไฟ เมื่อมีคนในห้องไฟจะเปิดเมื่อคนออกจากห้องหมดไฟก็จะปิดอัตโนมัติ

ภาพการทำงานของวงจร

5.4 การออกแบบและการสร้างบอร์ด pcb

โดยเครื่องนี้ผมจะไม่ใช้ตัว shield ในการขยายขาของ esp32 แต่ผมจะสร้างบอร์ด pcb เองในการเชื่อมโมดูลต่างๆเข้ากับตัว esp32 เมื่อเรารู้หลักการทำงานของวงจรเรา ว่าอุปกรณ์ต่างๆทำงานยังไง และเชื่อมต่อกับอะไรบ้าง ที่สำคัญขาของ module แต่ล่ะตัวเชื่อมกับขาไหนของ esp32 เมื่อเรารู้แล้วเราก็สามารถที่จะไปออกแบบบอร์ด pcb ได้เลย โดยการออกแบบบอร์ด pcb ของผมนั้นผมจะใช้เป็นโปรแกม Eazy EDA โดยโปรแกรมนี้ใช้ง่ายและไม่ซับซ้อน

ภาพการออกแบบโมดูลเชื่อมกับ esp32
ภาพของการออกแบบลายวงจร
ขั้นตอนการทำบอร์ด pcb ตั้งแต่ ปริ้นลาย ตัดแผ่นทองแดง ลอกลาย กัดบอร์ด เจาะรู และการบัดกรี

5.5 การเขียนโปรแกรม

โดยการเขียนโปรแกรมผมจะใช้เป็นภาษา c++ ในการเขียนลงในโปรแกรม Arduino ide เพื่ออัพลงใน esp32

เป็น Libraries ทั้งหมดที่จะใช้ในโปรแกรมนี้

การใส่ชื่อกับรหัส wifi เพื่อเชื่อมต่อ และการใส่ Line Token เพื่อส่งการแจ้งเตือนเข้ามาใน line

การ input ขาต่างๆของโมดูล

คำสั้งในฟั่งชั่นของ setup

คำสั่งที่จะทำให้ esp32 เชื่อมกับ wifi โดยผมจะใช้เป็นคำสั้ง if ถ้าตัว esp32 ตรวจเจอสัญญาน wifi ที่เราทำหนดใว้ก็จะทำการเชื่อมต่อโดยทันทีและจะใช้งานแบบออนไลน์ที่สามารถจะส่งการแจ้งเตือนเข้าไปในไลน์ได้ และหากสัญญาน wifi ขาดหายไป ตัวเครื่องก็จะกลับมาใช้งานแบบออฟไลน์ และไม่สามารถที่จะส่งการแจ้งเตื่อนเข้าไปในไลน์ได้

อันนี้เป็นเงื่อนไขที่สำคัญที่สุดในโปรแกรมนี้ก็ว่าได้ คือ เงื่อนไขการทำงานของ sensor โดยจะใช้มานับจำนวนคน การทำงานของโค้ดนี้คือ เมื่อมีคนเดินผ่านแล้ว sensor ตัวที่1 จับได้ก่อนตัวที่2 จะนับว่าเข้า และแจ้งเข้าไปในไลน์

อันก็จะเป็นเงื่อนไขเดียวกันเลยแต่แค่เปลี่ยนเป็น ตัวที่2 จับได้ก่อนตัวที่1 จะนับว่าออก และแจ้งเข้าไปในไลน์พร้อมจำนวนคนในห้อง

อันนี้จะเป็นคำสั่งในการเปิด-ปิดใช้งานห้องโดยจะใช้รีเลย์ในการตัดไฟเมื่อคนในห้องไม่มีคน

6. การประกอบ

เมื่อทุกอย่างที่เราทำเสร็จหมดแล้วเราก็เอามาประกอบได้เลย เมื่อประกอบเสร็จก็จะมาทำการทดลองการใช้งาน

การประอุปกรณ์ต่างๆลงไปในกล่อง
เมื่อปิดกล่องแล้วได้ประมาณนี้
เป็นรูปที่ประกอบเสร็จสมบูรณ

ลิ้งค์การทำงานของเครื่อง

8. ข้อมูลอ้างอิง

8.1 สอนใช้งาน ESP32 แสดงข้อความออกจอ LCD 1602

www.cybertice.com/article/ 628/สอนใช้งาน-esp32-แสดงข้อความออกจอ-lcd-1602

8.2 สอนใช้งาน ESP32 E18-D80NK เซ็นเซอร์ตรวจจับวัตถุ Infrared photoelectric switch Sensor

www.cybertice.com/article/294/สอนใช้งาน-esp32-e18-d80nk-เซ็นเซอร์ตรวจจับวัตถุ

8.3 การใช้งาน relay-esp32

www.esp32io.com/tutorials/esp32

8.4 สอนใช้งาน ESP32 เริ่มต้นใช้งาน ติดตั้งโปรแกรมเบื้องต้น ESP32

www.cybertice.com/article/226/สอนใช้งาน-esp32-เริ่มต้นใช้งาน-ติดตั้งโปรแกรมเบื้องต้น-esp32

You may also like...

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *