Thu. Sep 19th, 2024
esp32 cam door lock

ESP32-CAM คือ โมดูลกล้องขนาดเล็กที่ใช้พลังงานต่ำ ใช้ชิป ESP32 มาพร้อมกับกล้อง OV2640 และมีช่องเสียบ SD Card ในตัว สามารถเชื่อมต่อ WiFi+Bluetooth เพื่อการควบคุมระยะไกลได้ 

จากบทความที่แล้ว ใช้งาน ESP32-CAM ง่ายๆ ใน 5 นาที เราได้ทำการแฟลช Tasmota firmware สำหรับ ESP32-CAM ทำให้สามารถทำการดูภาพผ่าน web browser ได้เป็นที่เรียบร้อยแล้ว ในบทความนี้เราจะทำการ configuration เพื่อให้เปิดไฟแฟลช และทำการต่อเพิ่มเซ็นเซอร์วัดอุณหภูมิและความชื้น DHT11 และเพิ่มรีเลย์และสวิทช์เพื่อควบคุม Magnetic Door Lock (ล๊อคประตูแม่เหล็ก) เรียกว่าเอาให้คุ้ม แต่มีข้อแม้ว่าเราจะไม่ใช้งาน SD Card เพราะเราจะเอาขาที่ใช้สำหรับ SD Card มาใช้งานอย่างอื่นแทน นั่นก็คือขา GPIO  2, 4, 12, 13, 14, และ 15  ทั้งหมดนี้ ไม่ต้องเขียน code ซักตัว

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

esp32 cam door lock parts
  1. ESP32-CAM
  2. NodeMCU Base สำหรับ ESP8266 (อันนี้ผมใช้เพื่อจ่ายไฟ 3V, 5V และ 12V ให้กับวงจรทั้งหมดเท่านั้น)
  3. Adaptor 12v 2A
  4. DHT11
  5. Button Switch
  6. Relay 5V
  7. Magnetic Door Lock 12V (แรงดูด 60KG)
  8. Jumper
  9. กล่องพลาสติก 4×4 นิ้ว
  10. ขั้วต่อ Jack ตัวผู้+ตัวเมีย

เริ่ม Flash Program Tasmota สำหรับ ESP32-CAM

flash firmware esp32 cam

ทำการต่อ ESP32-CAM เข้ากับบอร์ดช่วย flash firmware แล้วต่อสาย USB เข้ากับคอมพิวเตอร์ของคุณ 

จากนั้นไปที่ homepage ของ Tasmota แล้วคลิ๊กที่ https://tasmota.github.io/install/ ตามรูป หลังจากนั้นจะมายังหน้า Install Tasmota ที่ drop down list ให้เลือก Tasmota32 WebCam แล้วกด Connect

tasmota github
tasmota esp32 webcam

จะปรากฏ pop up ให้เลือก port ที่เชื่อมต่อกับ ESP32-CAM ในที่นี้คือ USB Serial ให้คลิ๊กเลือกแล้วกด Connect จะปรากฏ pop up ติดตั้ง firmware ที่เราเลือกไว้ในตอนต้น ให้คลิ๊กติดตั้งได้เลยครับ

USB Serial Port Selection
install esp32 cam firmware

จะมี pop up ให้ยืนยันว่าต้องการลบ firmware เดิมที่เคยลงไว้กับ ESP32-CAM (เพราะบางท่านอาจเคยทดลองลง firmware อื่นๆ มาก่อน) ให้ติ๊กที่ Erase device แล้วกด Next  ก็จะมี pop up ให้ยืนยันการติดตั้งอีกครั้ง ให้กด Install ได้เลยครับ

Erase Device
confirm install esp32 cam firmware

รอการติดตั้งสักครู่ เมื่อติดตั้งสำเร็จจะแสดงดังรูป ให้คลิ๊ก Next เพื่อจบการติดตั้ง

Installing esp32 cam firmware
install esp32 cam completed

เมื่อติดตั้งเสร็จแล้วให้ไปที่ Internet Access ในเครื่องคอมของคุณ จะปรากฏ tasmota_xxxxxxx เป็นเสมือน access point เพื่อให้คุณสามารถเข้าไปตั้งค่า wifi และ password ให้กับ ESP32-CAM ให้คลิ๊กไปที่ access point นั้น แล้วกด connect หลังจากนั้นจะเข้าสู่หน้าตั้งค่า wifi Tasmota จะแสดง wifi ที่ตรวจพบ ให้เลือก wifi ของคุณ (2.4G เท่านั้น) ใส่ password ของ wifi ของคุณแล้วกด Save

tasmota access point
set wifi esp32 cam

เมื่อ connect กับ wifi เรียบร้อยแล้ว Tasmota จะแสดง IP Address ของ ESP32-CAM แล้วทำ connect ไปที่หน้า IP นั้นโดยอัตโนมัติและแสดงการทำงานของ ESP32-CAM  ภาพที่ได้ไม่ถึงกับคมชัดมาก แต่อยู่ในระดับที่รับได้

esp32-cam ip address
esp32-cam tasmota display

การต่อวงจร

ต่อวงจรดังรูปด้านล่าง ขาสัญญาณต่างๆเป็นดังนี้

  • Relay สำหรับสั่งเปิดปิด Magnetic Door Lock ต่อกับ GPIO13 พร้อมต่อไฟเลี้ยง 5V ส่วนอีกด้านต่อกับไฟ 12V เพื่อใช้ควบคุม Magnetic door lock โดยต่อไฟ 12V เข้าที่ช่อง NO ออกช่อง COM
  • DHT11 สำหรับวัดอุณหภูมิ ต่อกับ GPIO14 พร้อมต่อไฟเลี้ยง 3V
  • Switch สำหรับสั่งเปิดปิด Magnetic Door Lock แบบ manual ต่อกับ GPIO15 พร้อมต่อไฟเลี้ยง 5V
  • สำหรับขา GPIO4 จะเป็นขาที่ต่อกับไฟแฟลชของ ESP32-CAM อยู่แล้ว (ไม่ต้องทำอะไรกับมัน)

ข้อควรระวัง การต่อไฟเลี้ยง 5V ให้กับ ESP32-CAM ต้องระวังไม่ให้สลับขั้ว 5V กับ GND จะทำให้บอร์ดเสียทันที

หมายเหตุ – เซ็นเซอร์ สวิทช์ และรีเลย์ในรูป ขาอาจไม่ตรงกับอุปกรณ์ของจริงที่คุณใช้ ขาสัญญาณและขาไฟเลี้ยงอาจไม่อยู่ตามตำแหน่งในรูปขึ้นอยู่กับยี่ห้อที่คุณเลือก ให้ยึดเอาตามของที่คุณใช้เป็นหลัก ปกติจะแสดงเครื่องหมายเป็น +, – และ S

esp32 cam door lock wiring
esp32 cam door lock wiring

ตั้งค่าการใช้งานขาต่างๆ ของ ESP32-CAM

ขั้นตอนนี้เป็นการตั้งค่า หรือการทำ configuration ขาที่ต่อใช้งานต่างๆ โดยคลิ๊กที่ Configuration เมื่อเปลี่ยนหน้าแล้วให้คลิ๊กที่ Configure Module

configuration esp32 cam doorlock
configure module esp32 cam doorlock
esp32 cam doorlock module parameter
  1. GPIO4 ซึ่งเป็นขาที่ต่อกับ flash ของ ESP32-CAM ให้เลือก Relay แล้วตามด้วยหมายเลข 1
  2. GPIO13 ซึ่งต่อกับ relay ที่ควบคุม magnetic door lock ให้เลือก Relay แล้วเลือกหมายเลข 2 การระบุหมายเลขจะช่วยให้เชื่อมโยงการทำงานได้อย่างชัดเจน
  3. GPIO14 ให้เลือก DHT11 
  4. GPIO15 ให้เลือก Switch แล้วตามด้วยเลข 2 เพราะเราจะใช้สวิทช์ตัวนี้ควบคุมการทำงานของ Relay 2 แบบ manual
  5. หลังจากนั้นให้เลื่อนลงมาด้านล่างแล้วกด Save
อุปกรณ์จะทำการ restart แล้วแสดงภาพพร้อมแสดงค่าอุณหภูมิและความชื้นที่วัดได้จาก DHT11
Toggle 1 หมายถึง Relay 1 (ไฟแฟลช)
Toggle 2 หมายถึง Relay 2 (relay door lock)
esp32 cam doorlock restart
esp32 cam doorlock restart

ทดสอบใช้งานก่อนประกอบลงกล่อง

ทดสอบการเปิด-ปิด ไฟแฟลชโดยการคลิ๊กที่ Toggle 1 และทดสอบการเปิด-ปิด magnetic door lock โดยการกดที่ Toggle 2

test flash light esp32 cam
test magnetic door lock esp32 cam

ในส่วนของ push button switch ตอนนี้ค่าเริ่มต้นจะเป็นกดติด-ปล่อยดับ ซึ่งเราต้องการให้เป็นกดติด-กดดับ ดังนั้นจึงต้องตั้งค่า Switch Mode ให้เป็นไปตามที่ต้องการ (หากสนใจเรื่อง switch mode สามารถเข้าไปดูรายละเอียดเพิ่มเติมได้ที่ https://tasmota.github.io/docs/Buttons-and-Switches/) ให้คลิ๊กที่ Console เมื่อเปลี่ยนหน้าแล้วให้คลิ๊กที่ Console อีกครั้ง

esp32 cam door lock console
esp32 cam door lock choose console

Switch Mode ที่เราจะใช้คือ Switch Mode 3 ซึ่งจะทำให้สวิทช์เปลี่ยนเป็นแบบ กดติด-กดดับ แต่เราต้องระบุเลขที่สวิทช์ก่อนแล้วเว้นวรรคเพื่อใส่ Mode ที่เราจะใช้ (เพราะในบางโปรเจคใช้สวิทช์หลายตัว) ในที่นี้สวิทช์เราชื่อ Switch 2 ดังนั้นต้องใส่เป็น “SwitchMode2 3” แล้วกด Enter 1 ครั้งเพื่อส่งคำสั่งเข้าไป หลังจากนั้นจึงคลิ๊ก Consoles เพื่อออก

esp32 cam door lock switch mode setting

หลังจากนั้นให้คลิ๊กที่ Main Menu เพื่อกลับไปที่หน้าแสดงผล

back to main menu esp32 cam door lock
esp32 cam doorlock restart

ทดลองกด push button switch จะทำให้ magnetic door lock ทำงาน  สามารถปล่อยมือออกได้โดยแม่เหล็กยังคงดูดติดอยู่ หากจะให้หยุดทำงานก็ให้กดสวิทช์อีกครั้งหนึ่ง แม่เหล็กก็จะคลายตัวออก (กดติด-กดดับ)

test switch esp32 cam door lock

ประกอบอุปกรณ์ใส่กล่อง

หลังจากทดสอบการทำงานเป็นที่เรียบร้อยแล้ว ให้นำอุปกรณ์ทั้งหมดในกล่อง โดยเจาะรูต่างๆ ตามที่คุณสะดวกในการใช้งาน 

assembly esp32 cam door lock
assembly esp32 cam door lock 2

ทดสอบการทำงานอีกครั้งก่อนการนำไปติดตั้งใช้งานจริง ความยาวสายต่างๆสามารถเปลี่ยนได้ตามความเหมาะสม

complete esp32 cam door lock

จะเห็นได้ว่าเราสามารถประยุกต์ใช้ ESP32-CAM ได้มากกว่าการเป็นแค่กล้อง ขึ้นอยู่กับไอเดียและความต้องการใช้งานของคุณ 

By admin