Skip to content

Hand Sanitizer IoT using NodeMCU ATmega328p / web application / flask / mongoDB

License

Notifications You must be signed in to change notification settings

edgeworthZ/handtree

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

handtree

ที่มาของโครงงาน :

เนื่องด้วยสถานการณ์โควิดที่ยังคงส่งผลกระทบทั่วโลก มีหลายสิ่งในชีวิตประจำวันเปลี่ยนไป หนึ่งในนั้นคือ พฤติกรรมการรักษาความสะอาด ที่จำเป็นต้องใส่ใจมากขึ้น เพื่อหลีกเลี่ยงการติดเชื้อไวรัสให้ได้มากที่สุด แต่การทำกิจวัตรเดิม ๆ ทุกวันก็อาจก่อให้เกิดความเบื่อหน่าย ต้นไม้ในกำมือ จึงเป็นโปรเจคสิ่งประดิษฐ์ที่จะช่วยเพิ่มอรรถรสในการล้างมือด้วยเจลแอลกอฮอล์ เพื่อให้ทุกคนสามารถใช้ชีวิตแบบ new normal ได้สนุกมากยิ่งขึ้น

การทำงาน :

อุปกรณ์นี้รองรับผู้ใช้งานสูงสุด 4 คน ใช้สำหรับล้างมือแบบไร้สัมผัสโดยมี Ultrasonic Sensor คอยตรวจจับมือของเราเพื่อปั๊มเอาเจลล้างมือออกมา เมื่อล้างมือเสร็จแล้ว อุปกรณ์จะอนุญาตให้ผู้ใช้สามารถกดสวิตช์ของตนเองจากสวิตช์ทั้งหมด 4 ปุ่ม เพื่ออัพเดตข้อมูลการล้างมือ เมื่อไฟเขียวของ LED ติดแล้วจึงเป็นอันเสร็จสิ้น ระบบจะนำข้อมูลไปอัพเดตต้นไม้ให้โตขึ้น และแสดงผลออกมาบนหน้าเว็บไซต์

เทคนิคที่ใช้ :

Frontend -Web Development (html/css/javascript) -Fetch / ส่ง requests ต่าง ๆ ไปยัง backend -Homepage: ผู้ใช้งานสามารถเข้าไปดูต้นไม้ของตนเองหรือผู้ใช้คนอื่น ๆ และสามารถ reset data ของตนเองได้ -User’s page: แสดงสถานะของต้นไม้ที่กำลังปลูก โดยต้นไม้แต่ละชนิดจะมี 3 เฟสเท่ากัน / แสดงจำนวนวันนับตั้งแต่เริ่มปลูก / แสดงจำนวนครั้งที่ล้างมือนับแต่เริ่มปลูก / แสดงจำนวนครั้งที่ล้างมือไปในวันนี้ / มี Collection สำหรับเก็บต้นไม้หลากชนิด โดยมี achievement สำหรับปลดล็อคต้นไม้ใหม่ ๆ ที่ได้จากการล้างมือให้ครบจำนวนครั้งที่กำหนดไว้ เมื่อปลดล็อคแล้วผู้ใช้สามารถเข้ามาเลือกต้นไม้ไปปลูกแทนต้นเดิมได้ / ตั้งค่าให้ fetch ข้อมูลจาก backend ทุกวินาที ทำให้อัปเดตสถานะอยู่เสมอ

Backend -สื่อสารกับบอร์ดไมโครคอนโทรลเลอร์ -Web Server (Flask) รับ requests จากเว็บไซต์หรือไมโครคอนโทรลเลอร์ และส่งข้อมูลจากดาต้าเบสไปยัง frontend ในรูปแบบ JSON -NoSQL Database (MongoDB) เก็บข้อมูลทั้งหมดของผู้ใช้งานแต่ละคน -Schedule Event สำหรับรีเซตยอดการล้างมือประจำวัน

Hardware -รับและส่ง input จากไมโครคอนโทรลเลอร์ ไปยัง backend ผ่านพอร์ต USB -เพิ่มฟังก์ชันคำนวณระยะทางจาก Ultrasonic Sensor ให้กับ firmware -ไฟ LED สีเขียวกระพริบ 1 ครั้งหลังได้รับเจลล้างมือ และกดสวิตช์ อัพเดตข้อมูลเสร็จสิ้น -ใช้ Relay Module ควบคุมการทำงานของปั๊มน้ำ

อุปกรณ์ที่ใช้ : -RasberryPI x1 -Practicum Board (NodeMCU ATmega328p) x1 -Practicum Photoboard x2 -Ultrasonic Sensor x1 -Relay x1 -LED (Green) x1 -Switch Button (4-legs) x4 -Water Pump x1 -Pipe x1 -Plastic box/Cardboard x3 -Wire x20 -USB Cable x1 -330 Ohm Resistor x1 -10k Ohm Resistor x1 -Hand Sanitizer x1

Frontend :

       login -> Show login page that u can add/del user , click <user> to go to tree page.
       
       tree  -> Show tree page that u will see a plant and status about <user>.
       
       collection -> Show collection page that u can see a colloction of tree , change type of tree that u want to grow up.

About

Hand Sanitizer IoT using NodeMCU ATmega328p / web application / flask / mongoDB

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •