ผู้เขียนบทความ : 095 นายกิตติพศ เสกสุวงศ์ COE #15
คณะวิศวกรรมศาตร์ สาขาวิศวกรรมคอมพิวเตอร์
วิชา : 04-513-201การโปรแกรมคอมพิวเตอร์ขั้นนสูง 1/2566
1.ความเป็นมา
เนื่องจากสำหรับทาสแมวแล้ว การให้อาหารในแต่ละครั้งควรให้อย่างเป็นเวลาและให้ในปริมาณที่เหมาะสม เพื่อสุขภาพที่ดีของน้องแมว แต่บ้างครั้งเราอาจจะลืมให้อาหาร หรือมีธุระจำเป็นที่จะต้องออกไปข้างนอกบ้างเป็นครั้งคราว บางคนจึงอาจแก้ไขปัญหาโดยการเตรียมอาหารไว้ให้เยอะๆสำหรับให้กินทั้งวัน ซึ่งแมวอาจจะกินเยอะเกินไปจนเสียสุขภาพ หรืออาจทำให้แมวเป็นโรคอ้วนได้
เราจึงคิดว่าจะแก้ปัญหานี้อย่างไรที่จะทำให้การให้อาหารแมวเป็นเรื่องง่าย โดยที่สามารถให้อาหารได้ตรงเวลา และสามารถให้อาหารจากที่ไหนก็ได้ จึงได้ประดิษฐิ์เครื่องให้อาหารแมวอัตโนมัติ ที่สามารถให้อาหารแมวอัตโนมัติได้ตรงเวลาและสามารถสั่งงานผ่านมือถือได้
2.วัตถุประสงค์
2.1 เพื่อศึกษาการสร้างเครื่องให้อาหารแมวอัตโนมัติ
2.2 เพื่อเปรียบเทียบการให้อาหารแบบเดิมกับเครื่องให้อาหารแมวอัตโนมัต
3.ขอบเขต
3.1 สามารถให้อาหารแมวโดยอัตโนมัติเมื่อถึงเวลาอาหาร
3.2 สามารถสั่งให้อาหารเองผ่านมือถือได้
3.3 มีการแจ้งเตือนเมื่อแมวมากินหาร
3.4 สามารถกำหนดปริมาณอาหารในการให้แต่ละครั้งได้ (กรัม)
4.ประโยชน์ที่คาดว่าจะได้รับ
4.1 ได้พัฒนทักษะการใช้ไมโครคอนโทรลเลอร์ ESP32
4.2 ได้พัฒนาการออกแบบวงจร และการทำแผ่นPCB
4.3 ได้พัฒนาทักษะการเขียนโค้ดโปรแกรม Arduino ide
4.4 เครื่องให้อาหารแมวอัตโนมัติสามารถให้อาหารแมวได้อย่างอัตโนมัติตามที่ตั้งค่าไว้ สามารถควบคุมสั่งงานผ่านมือถือได้
5.ความรู้ที่เกี่ยวข้อง
อุปกรณ์ที่ใช้ทำเครื่องให้อาหารแมวอัตโนมัติ (Automatic cat feeder)
1.ESP 32
ESP32 คือ wifi microcontroller ที่ถูกพัฒนาต่อจาก ESP8266 โดยเพิ่ม CPU เป็น 2 core, Wi-Fi ที่เร็วขึ้น, มีขา GPIO ให้ใช้งานมากขึ้น และรองรับ Bluetooth อีกด้วย
โดยปกติแล้ว ESP32 จะใช้ Arduino IDE ในการเขียนโปรแกรมควบคุม เช่นเดียวกับ ESP8266 ซึ่งผู้เขียนต้องมีความรู้ในการเขียน code ด้วยภาษา Lua หรือ C++ หรือ microPython
2.Micro Servo Motor
Servo คืออุปกรณ์มอเตอร์ ที่สามารถควบคุมการหมุนที่แม่นยำ เซอร์โว SG90 มีขนาดเล็กแรงบิด 1.2-1.4 kg/cmสีน้ำตาลเป็นสายกราวด์ สีแดงเป็นไฟเข้า 4.8-7.2V สีส้มเป็นสัญญาณอินพุต
3.Ultrasonic sensor
เซ็นเซอร์วัดระยะทาง มีวิธีการทำงานโดยการส่งคลื่นอัลตราโซนิคจำนวนหนึ่งออกไปจากตัวส่ง (Transmitter) เมื่อคลื่นวิ่งไปชนกับวัตถุ คลื่นจะมีการสะท้อนกลับมา แล้ววิ่งกลับไปชนตัวรับ(Receiver) ด้วยการเริ่มนับเวลาที่ส่งคลื่นออกไป จนถึงได้รับคลื่นกลับมานี้เอง ทำให้เราสามารถหาระยะห่างระหว่างวัตถุกับเซ็นเซอร์ได้
4.Load cell
คืออุปกรณ์อิเล็กทรอนิกส์ที่ใช้แปลงค่าของแรงไปเป็นสัญญาณไฟฟ้า(ทรานส์ซีดิวเซอร์) การแปลงค่านี้ไม่ใช่การแปลงค่าโดยตรงหากแต่เกิดขึ้นสองขั้นตอน จากการแปลงค่าทางกลศาสตร์ แรงจะถูกตรวจจับได้จากการเปลี่ยนรูปร่างของสเตนเกจ และสเตนเกจแปลงค่าการเปลี่ยนรูปร่าง(ความเครียด) นี้ไปเป็นสัญญาณไฟฟ้า
5.Step down
วงจรลดแรงดันแบบ Step-Down หรือเรียกอีกแบบว่า Buck Converter (บัคคอนเวอร์เตอร์) ใช้ลดแรงดันจากแรงดันสูงให้ต่ำลง ใช้หลักการสวิตชิ่ง-ตัวเหนี่ยวนำ(L) จึงทำให้มีความร้อนและความสูญเสียกำลังไฟน้อย ไม่เหมือนกับการลดแรงดันโดยใช้ IC ตระกูล 78xx / 317 ทั่วไปที่ใช้หลักการลดทอนทำให้เกิดความร้อนสูง วงจรบัคคอนเวอร์เตอร์เมื่อลดแรงดันลงแล้วจะได้กระแส Output เพิ่มขึ้น
Diagram : การทำงานของระบบ
การตั้งเวลาการให้อาหารเองอัตโนมัติ
เป็นการตั้งเวลาการให้อาหารอัตโนมัติตามเวลาที่กำหนด คือ 8,12 และ16 นาฬิกา และจะไม่ให้ซ้ำหากอาหารในถ้วยยังไม่ถูกกิน
โปรแกรม Blynk
V0 เป็นในส่วนการทำงานการกดปุ่มเพื่อให้อาหารผ่านมือถือหรือPC
V1 เป็นการควบคุมservoจากการกดปุ่ม และในฟังก์ชัน update_blynk จะเป็นในส่วนของการเชื่อมต่อข้อมูล fedManual (v0),servo_angle (v1),weight (v2),distance (v3) เข้าไปยังBlynkเพื่อสามารถบันทึกข้อมูลการทำงานของส่วนต่างๆได้
โปรแกรม Line notify
ส่วนนี้มีการทำงานคือ เมื่อมีการตรวจจับแมวที่มากินอาหารได้ในระยะที่กำหนดและนานเกินระยะเวลาที่กำหนด จะส่งการแจ้งเตือนไปทางไลน์
วิธีการรับ line token เพื่อนำมาใส่ในโค้ด
1.เข้าไปที่เว็บไซต์ https://notify-bot.line.me/en/ และ Log in เพื่อเข้าสู่ระบบที่มุมบนขวา
2.คลิกที่หัวลูกศรหลังชื่อและคลิกเลือก My page
3.เลื่อนลงมาล่างสุด คลิก Generate token
4.ตั้งชื่อการแจ้งเตือน และเลือก 1-on-1 chat with LINE Notify จากนั้นคลิก Generate toke
5.คลิก Copy และนำไปใส่ในโค้ดได้เลย
6.ผลการดำเนินงาน
เครื่องให้อาหารแมวอัตโนมัติที่ประกอบเสร็จสมบูรณ์แล้ว
1.มุมมองโดยรวมจากด้านหน้าตัวเครื่อง
2.มุมมองด้านหน้าของตัวเครื่อง
3.มุมมองด้านหลัง
4.ถังใส่อาหารด้านบน
5.วงจรภายใน
หน้าตาของระบบการสั่งงานใน Blynk ผ่านมือถือ
หน้าตาของระบบการสั่งงานใน Blynk บน PC
ผลการทดสอบ
ตารางที่ 1 : ผลการทดสอบการกดให้อาหารเองผ่านมือถือ
ตารางที่ 2 : ผลการทดสอบการให้อาหารอัตโนมัติ ตามโปรแกรมที่เขียนไว้เวลา 8 ,12 และ 16 นาฬิกา
ผลการแจ้งเตือนทางไลน์เมื่อแมวมากินอาหาร
7.สรุปผลและข้อเสนอแนะ
สรุปผล
– เครื่องให้อาหารแมวอัตโนมัติสามารถทำงานได้อย่างสมบูรณ์ตามที่ต้องการ สามารถให้อาหารโดยอัตโนมัติตามเวลาที่ตั้งไว้ในโปรแกรม สามารถตรวจจับแมวเมื่อมากินอาหารได้ และสามารถให้อาหารตามปริมาณที่กำหนดได้ค่อนข้างแม่นยำ
– เครื่องให้อาหารแมวอัติโนมัตินี้ยังมีข้อจำกัดที่ยังไม่มีหน้า UI ในมือถือให้สามารถตั้งค่าเวลาการให้อาหารและกำหนดปริมาณการให้อาหารเองได้ หากจะเปลี่ยนต้องเปลี่ยนโดยการแก้ไขที่โปรแกรมและ Upload ลงบอร์ดใหม่อีกครั้ง
ข้อเสนอแนะ
– ทำหน้า UI ในมือถือให้สามารถตั้งค่าแก้ไขเวลาการให้อาหาร และกำหนดปริมาณการให้อาหารเองได้ เพื่อให้ผู้ใช้งานทั่วไปสามารถใช้งานได้ง่ายและมีความยืดหยุ่นในการใช้งานมากยิ่งขึ้น
8. ข้อมูลอ้างอิง
8.1 โครงงานเครื่องให้อาหารกระต่ายในฟาร์ม
https://ieeexplore.ieee.org/document/8049889?fbclid=IwAR1oKFtll8xEy8fL0jotLR_t94bZsECALFLFfKxMchBxEoVAfCig2QQRIQY_aem_Abpv59VgEEVaFc6sYaii–NzyT3-vLMwMXvBRspi8io8NppH8jzKcAxrhuUSNdU4gQA
8.2 ESP32 คืออะไร
https://techtalk2apply.com/what-is-esp32/
8.3 Micro Servo Motor คืออะไร
http://www.arduino-indy.com/product/33/micro-servo-motor-sg90-
8.4 Ultrasonic sensor คืออะไร
http://ias.it.msu.ac.th/course/1201377-Linux-script/1-2561/RPI-report/RPI-ultrasonic-01.pdf
8.5 Load cell คืออะไร https://th.wikipedia.org/wiki/%E0%B9%82%E0%B8%AB%E0%B8%A5%E0%B8%94%E0%B9%80%E0%B8%8B%E0%B8%A5
8.7 รูปภาพ ESP32
https://cytronth.medium.com/-hpma115s0-d482378723ee
8.8 รูปภาพ Micro Servo Motor
https://thai.alibaba.com/product-detail/FS90R-9–Diy-1300012153932.html
8.9 รูปภาพ Ultrasonic sensor
https://th.mouser.com/new/sparkfun/sparkfun-hcsr04-distance-sensor/
8.10 รูปภาพ Load cell
https://www.achardkits.com/product/1412/weight-sensor-load-cell-1kg-5kg-10kg-hx711-base-kit?pid=710
8.11 รูปภาพ Step down
https://t1.gstatic.com/images?q=tbn:ANd9GcQTbbC5hyvME_2Ycx5vC5jfPpcC_T4-C4aNYf1xhHqR9wQBZbXp
8.12 รูปภาพ DC jack
https://winconngroup.com
8.13 รูปภาพ สวิตซ์ไฟ
https://www.lazada.co.th/products/2-i-o-i4401428833.html
8.14 รูปภาพ ไอคอน Blynk
https://web.facebook.com/depaMOOCs/posts/114022623410612/?locale=ms_MY