แบบจำลองห้องน้ำที่สามารถลดภาระงานของแม่บ้านในการทำความสะอาดห้องน้ำ โดยมีระบบต่างๆดังนี้
-เมื่อมีจำนวนคนใช้ห้องน้ำสะสมถึงจำนวนที่กำหนดจะส่งLineไปให้แม่บ้านมาทำความสะอาดห้องน้ำ -ไฟLEDแสดงสถานะความพร้อมใช้งานของห้องน้ำ
-ระบบเปิดปิดไฟในห้องน้ำอัตโนมัติเมื่อมีคนอยู่ในห้องน้ำ
ที่มา:
เนื่องจากในสถานการณ์ covid-19 ห้องน้ำเป็นสถานที่ที่อับชื้น ทำให้เชื้อโรคสามารถแพร่กระจายได้ง่าย ดังนั้นการทำความสะอาดห้องน้ำถือเป็นเรื่องที่สำคัญมาก ทำให้แม่บ้านที่ต้องทำความสะอาดต้องเพิ่มความถี่ในการทำความสะอาดมากขึ้น แต่แม่บ้านก็ไม่สามารถรู้ได้ว่าห้องน้ำมีผู้ที่มาใช้งานแล้วมากน้อยเพียงใด ซึ่งบางครั้งห้องน้ำอาจมีผู้ใช้งานจำนวนมากแต่ยังไม่ถึงช่วงเวลาที่แม่บ้านมาทำความสะอาด จึงทำให้ห้องน้ำมีความสกปรกเป็นแหล่งสะสมของเชื้อโรค ดังนั้นเราจึงคิดค้นระบบ Smart toilet cleaning ขึ้นมาเพื่อแก้ไขปัญหานี้
การทำงาน:
วาง IR sensor ที่ 2 ฝั่งประตูของห้องน้ำเพื่อตรวจสอบจำนวนคนเข้า-ออกห้องน้ำ วิธีตรวจสอบคือ ถ้ามีวัตถุผ่าน sensor ตัวใดตัวนึงจะทำการคำนวนจำนวนคนที่อยู่ในห้องน้ำสะสม และจำนวนคนที่อยู่ในห้องน้ำขณะนั้น จากนั้นจะทำการdelayเพื่อให้คนเดินผ่าน sensor อีกตัวแต่ไม่ต้องคำนวนค่า
เมื่อจำนวนคนเข้าห้องน้ำสะสมถึงค่าที่กำหนดไว้ จะมีline bot แจ้งเตือนไปที่ไลน์ของแม่บ้านให้มาทำความสะอาด และห้องน้ำจะเข้าสู่สถานะไม่พร้อมใช้งาน จนถึงเวลาที่กำหนดไว้ในการทำความสะอาดห้องน้ำจะกลับสู่สถานะพร้อมใช้งานอีกครั้ง โดยมีไฟLED แสดงสถานะความพร้อมใช้งานของห้องน้ำ ซึ่งถ้าไฟ LED สีเขียวติดแสดงว่าห้องน้ำพร้อมใช้งาน ถ้าสีเหลืองติด แสดงว่ามีคนอยู่ในห้องน้ำ ส่วนไฟสีแดงคือ แม่บ้านกำลังทำความสะอาดห้องน้ำอยู่
อุปกรณ์
IR sensor : 2
LED สีเขียว : 1
LED สีแดง : 1
LED สีเหลือง : 1
ตัวต้านทาน 330ohm : 3
สายjump : 12
ที่มาของโครงงาน :
เนื่องด้วยสถานการณ์โควิดที่ยังคงส่งผลกระทบทั่วโลก มีหลายสิ่งในชีวิตประจำวันเปลี่ยนไป หนึ่งในนั้นคือ พฤติกรรมการรักษาความสะอาด ที่จำเป็นต้องใส่ใจมากขึ้น เพื่อหลีกเลี่ยงการติดเชื้อไวรัสให้ได้มากที่สุด แต่การทำกิจวัตรเดิม ๆ ทุกวันก็อาจก่อให้เกิดความเบื่อหน่าย ต้นไม้ในกำมือ จึงเป็นโปรเจคสิ่งประดิษฐ์ที่จะช่วยเพิ่มอรรถรสในการล้างมือด้วยเจลแอลกอฮอล์ เพื่อให้ทุกคนสามารถใช้ชีวิตแบบ 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
กระปุกออมสินอัจฉริยะ ที่จะแยกเหรียญให้อัตโนมัติ และยังสามารถเก็บสถิติซึ่งจะแสดงผลผ่านทางเว็บไซต์ และแจ้งเตือนเมื่อเก็บเงินครบถึงเป้าหมายแล้ว โดยในส่วนของ Hardware ใช้เซ็นเซอร์จับการสั่นตรวจจับเหรียญที่ตกลงไป ใช้ led สำหรับแจ้งเตือน ส่วนของ Software จะเขียนเป็นเว็บ ใช้แสดงข้อมูลสถิติ และเก็บข้อมูลใน Database บน Raspberry Pi
ที่มา :
เนื่องจากได้บังเอิญไปเห็นกล่องเก็บเหรียญของตัวเองที่เก็บเหรียญปะปนกัน ทำให้เวลาเอามาใช้ก็ต้องเสียเวลาแยกเหรียญและนับใหม่ จึงนึกไปถึงตอนเด็กๆว่าเคยมีกระปุกออมสินอยู่ และเกิดความคิดที่จะทำกล่องคล้ายๆกับกระปุกออมสินที่แยกเหรียญและนับเหรียญให้เองได้
การทำงาน :
กล่องกระดาษเจาะรูจะเป็นตัวแยกเหรียญต่างชนิดกันออกจากกันตอนหยอดเหรียญเข้าไป เมื่อเหรียญตกลงไปในรูก็จะกระทบเซนเซอร์และตกไปยังช่องเก็บเหรียญ เมื่อเซนเซอร์ถูกกระทบจะมีการอัพเดทไปที่ดาต้าเบสที่อยู่บน Raspberrry Pi จากนั้นไฟที่ด้านข้างกล่องจะติดอยู่ครู่หนึ่งเพื่อแสดงให้เห็นว่ากล่องนับเหรียญนี้แล้ว และจะมีเว็บที่ใช้แสดงจำนวนเหรียญ เป้าหมายการออม และจำนวนเงินทั้งหมดในกล่อง โดยเว็บจะค้นข้อมูลจากดาต้าเบส ไม่ได้ติดต่อกับทางฮาร์ดแวร์โดยตรง หากเงินที่มีเกินเป้าหมายก็จะขึ้นสถานะว่าเก็บเงินถึงเป้าหมายแล้ว
อุปกรณ์ :
- Raspberry Pi 3 Model B+ 1 เครื่อง
- ATmega328p 1 ตัว
- Piezoelectric sensor 4 ตัว
- Jumper wire 1 ชุด
- 1N4732A : 4.7V Zener Diode 4 ตัว
- Resistor 330 ohm 5 ตัว
- Yellow LED 3mm 2.1V 1 ตัว
- Breadboard 5.5*8 cm 1 แผง
- 10 pin ribbon cable 1 เส้น
เทคนิค :
- ใช้การติดต่อผ่านทางดาต้าเบส(sqilte) ทางฮาร์ดแวร์จะติดต่อเข้าไปโดยใช้ไลบรารี่ sqilte3 ใน python ทางเว็บจะใช้ PHP extention : Sqlite3 และใช้ form action ของ HTML เป็นตัวทริกเกอร์การอัพเดท
- ใช้ประโยชน์จากตัว piezo ที่เมื่อมีแรงกระทบจะทำให้อนุภาคด้านในจัดเรียงตัวดีขึ้นทำให้กระแสไฟฟ้าไหลผ่านได้ นำค่าที่ได้มาเป็นอินพุต
ตู้เซฟที่มีระบบการล็อค 2 ชั้น
โดยชั้นแรก จะปลดล็อคด้วยการกดปุ่มใส่รหัสผ่าน ทางHardware
ส่วนการปลดล็อคชั้นที่สอง จะพิมพ์รหัสผ่านทางsoftware (หน้าเว็บหรือหน้าจอคอม)
โดยการปลดล็อคหรือการพยายามใส่รหัสผ่านทุกๆครั้งจะเก็บ log file ไว้
ที่มาของโครงงาน :
ตู้เซฟแบบเก่ามีข้อจำกัดในการตั้งรหัสผ่าน และไม่สามารถติดตามได้ว่ามีการพยายามเปิดตู้เซฟในเวลาใดได้
เพื่อเพิ่มความปลอดภัยจากระบบการล็อคแบบเก่า พวกเราจึงคิดระบบการล็อคแบบสองชั้นขึ้น
โดยที่หน้าตู้เซฟมีการล็อครหัสถึง8หลักจากคีย์4แบบ และที่หน้าเว็บสามารถตั้งรหัสได้ไม่จำกัดจำนวนตัวอักษ
อีกทั้งยังมีการเก็บ log file เพื่อให้สามารถติดตามได้ว่ามีการพยายามเปิดตู้ในเวลาใด
และมีการแสดงรหัสที่ผิดเพื่อให้เจ้าของตู้นำไปประกอบการตัดสินใจเปลี่ยนรหัส
ลักษณะการทำงาน :
เมื่อเปิดเครื่อง หน้าตู้เซฟจะมีการรอรับรหัสผ่านจากทางการกดปุ่ม โดยมีปุ่ม 4 แบบที่ต่างกันคือ A,B,C และ D
ทั้งยังมีปุ่ม Back และ Enter เพื่อใช้ในการลบเมื่อกดผิด และใช้ในการส่งรหัสผ่าน เมื่อพิมพ์ครบ 8 หลัก
เมื่อทำการส่งรหัสผ่านแล้ว จะต้องกดตรวจสอบรหัสผ่านที่หน้าเว็บไซต์ เพื่อรับผลการตรวจรหัสผ่านจากปุ่มกด
ถ้าหากว่าผิด จะมีการแสดงผลที่หน้าจอ LCD ว่ารหัสผ่านผิด และจะกลับไปสู่การทำงานเช่นเดียวกันกับตอนที่เปิดเครื่อง
หากว่าถูกต้อง จะเข้าสู่การรอรหัสผ่านจากหน้าเว็บไซต์
เมื่อทำการกรอกรหัสผ่านจากหน้าเว็บไซต์เพื่อตรวจสอบแล้ว ผลการตรวจจะแสดงที่หน้าจอ LCD
ถ้าหากว่าผิด จะกลับไปสู่การทำงานเช่นเดียวกันกับตอนที่เปิดเครื่อง
หากว่าถูกต้อง ประตูตู้เซฟจะเปิดออกและตู้เซฟจะเข้าสู่การรอการปิดประตูตู้เซฟ
เมื่อทำการปิดประตูตู้เซฟแล้ว จะกลับเข้าสู่การทำงานเช่นเดียวกับตอนที่เปิดเครื่อง
รายการอุปกรณ์ที่ใช้ :
• Raspberry Pi 3 Model B+ พร้อม สาย Adapter Model YM-0530 1 ชุด
• Board NodeMCU - ATmega328p (Practicum Board v3.2 CPE. KU 2020-11) 1 ชุด
• Peripheral board (PRACTICUM PROTOBOARD CPE. KU) 2 ชิ้น
• สายแพ 3 สาย
• Jumper wire Female-Female 6 สาย
• Pin header ที่เพิ่มเข้ามา หลากหลายขนาด ดังนี้
- ขนาด 5x2 : 3 ชิ้น
- ขนาด 1x4 : 1 ชิ้น
- ขนาด 1x3 : 1 ชิ้น
- ขนาด 1x2 : 2 ชิ้น
• Switch button กดติดปล่อยดับแบบ 4 ขา ขนาด 6x6x5 mm 4 ชิ้น
• Switch button กดติดปล่อยดับแบบ 4 ขา ขนาด 6x6x7 mm 2 ชิ้น
• 1602 LCD (Blue Screen) 16x2 LCD with backlight of the LCD screen พร้อม I2CInterface 5V 1 ชุด
• Micro servo SG90 1 เครื่อง
• USB TTL PL2303TA 1 สาย
• Micro switch แบบยาว ขนาด 50 mm 220V 15A พร้อมบัดกรีสายไฟที่ขา C และ NO 1 ชิ้น
• Resistor 10k Ohm 1 ชิ้น
เทคนิคที่ใช้ :
• Backend :
- มีการเก็บ password แบบ encrypt และแยกออกจากไฟล์หลัก เนื่องจากทำการ encrypt ด้วย SHA256 ที่เป็นการทำ encrypted ไปในทางเดียว ไม่สามารถ decrypt ต่อให้คนแฮคสามารถเข้าถึงได้ทั้งสองไฟล์ก็ยังไม่รู้ password อยู่ดี
- การสื่อการกับ frontend ผ่านทาง HTTP request โดยใช้ library flask python
- มีการใช้ shell script ในการวิเคราะห์ข้อมูลเบื้องต้นจาก log file
• Frontend :
- การตรวจสอบ password โดยจะไม่สามารถใส่ช่องว่างได้
- check สถานะว่า hardware กรอกรหัสเข้ามาหรือยังผ่าน HTTP request โดยใช้การ fetch method POST และ GET
• Hardware :
- การแบ่งสถานะการทำงานของ microcontroller ด้วยการใช้ boolean variable ระหว่างสถานะการรอเข้ารหัสผ่าน รอผลลัพธ์การตรวจรหัสผ่าน และการรอปิดตู้เซฟ
- การสื่อสารกับ Backend ผ่านทาง USB driver ด้วย V-USB library ในการส่งรหัสผ่านและรับผลการตรวจรหัสผ่าน
เกมฝึกการฟังเสียงโดยจะต้องกดปุ่มให้ตรงตามเสียงที่ได้ยิน
ที่มา:
เนื่องจากสถานการณ์ covid-19 ทำให้เราต้องกักตัวอยู่ที่บ้าน กลุ่มของเราจึงคิดเกมที่จะทำ
ให้เวลาว่างของคุณไม่น่าเบื่ออีกต่อไป โดยเป็นเกมฝึกการแยกเสียงของตัวโน้ตต่างๆ ซึ่งนอกจาก
จะได้ฝึกทักษะการฟังแล้ว ยังฝึกการแยกเสียงอีกด้วยถึงแม้จะไม่ใช่นักดนตรีแต่ก็สามารถเล่นได้
การทำงาน:
เมื่อกดปุ่มทำงาน ระบบจะทำการสุ่มเพื่อกำหนดค่าเสียงให้กับปุ่ม switchโดยไฟที่หน้า switch
จะติดพร้อมมีเสียงออกมาจาก software (การ set up ในแต่ละรอบเสียงจะเปลี่ยนไปเสมอเพื่อ
เพิ่มความยาก) จากนั้น software จะส่งเสียงออกมา ให้เรากดปุ่ม switch ให้ตรงกับเสียงที่ได้ยิน
รายการอุปกรณ์ที่ใช้ :
- Raspberry Pi 3 Model B+ พร้อม สาย Adapter Model YM-0530 1 ชุด
- Board NodeMCU - ATmega328p (Practicum Board v3.2 CPE. KU 2020-11) 1 ชุด
- Board ไข่ปลาขนาด 9*15 cm
- สายแพ 2 สาย
- Pin header ขนาด 5x2 : 2 ชิ้น
- LED 5 ตัว ประกอบด้วย สีเขียว 4 ตัว และ สีแดง 1 ตัว
- Switch button กดติดปล่อยดับแบบ 4 ขา ขนาด 6x6x5 mm 5 ชิ้น
- Resistor 330 Ohm 5 ชิ้น
เทคนิคที่ใช้:
1.ภาษาCสำหรับไมโครคอนโทรลเลอร์
2.โปรแกรม python บน computorใช้ติดต่อกับไมโครคอนโทรลเลอร์
3.library pygame ของ python สำหรับแสดงผลทางหน้าจอ
4.library simpleaudio ของ python สำหรับเล่นเสียง
เครื่องกรองฝุ่น pm 2.5 อัตโนมัติ
วัตถุประสงค์:
เนื่องจากกลุ่มผู้พัฒนาเล็งเห็นว่าประเทศไทยมีปริมาณฝุ่นที่ส่งผมต่อสุขภาพร่างกายเกินกำหนดในหลายๆพื้นที่
ทางกลุ่มเราจึงทำการพัฒนาเครื่องวัดและกรองฝุ่นอัตโนมัติ โดยมีฟังก์ชันเปิดและปิดแบบmanual
และสามารถตั้งเวลาการใช้งานด้วยตนเองผ่านWebsideได้ อีกทั้งยังแสดงผลค่าฝุ่น3ประเภทแบบ real-time
การทำงาน:
เมื่อเครื่องกรองฝุ่น pm 2.5 อัตโนมัติ ตรวจว่ามีค่า pm 2.5 มากกว่า 50 μC/m^3 เครื่องจะมีการทำงานของพัดลมเพื่อที่จะกรองฝุ่น
โดยมี LED สีแดงแสดงว่าอากาศนั้นมีค่า pm2.5 เกินกำหนด และเป็นสีเขียวเมื่ออากาศนั้นมีค่า pm2.5 ไม่เกินกำหนด
และยังมีการแสดงผลของค่าฝุ่นที่ตัวเครื่องและบนหน้าเว็บไซต์ อีกทั้งยังสามารถตั้งเวลาเปิดของเครื่องได้ว่าจะให้เปิดเป็นระยะเวลากี่นาที
อุปกรณ์ :
1.raspberry pi 3 model b+
2.ATmega328p
3.Peri board
4.PMS3003
5.LED 2 ดวง
6.LCD I2C 16x2
7.Reley 5 v
8.Air filter
โปรเจคนี้เป็นโปรเจคที่ทำขึ้นเพื่อสร้าง DIY Hardware wallet บน Raspberry pi โดยได้สร้างกระเป๋าบน Ethereum testnet (Rinkeby) เพื่อเป็นการทดสอบ Hardware wallet เพื่อในการใช้งานจริงสำหรับ Mainnet ในอนาคต ซึ่งโปรเจคเรา จะมีส่วนของหน้าเว็บที่ใช้กรอกรหัสยืนยันกับ Hardware ก่อนที่จะ Sign Transaction เพื่อความปลอกภัยในโลก Crypto และ Defi
รายการอุปกรณ์ที่ใช้
Raspberry pi model 3 B+ 1 เครื่อง
SD card 64 gb 1 อัน
Micro-usb 1 เส้น
Button 2 ปุ่ม
LED 1620A with I2C 1 ชุด
Breadboard 1 ชิ้น
Male to Female Cable Jumper Wire 8 เส้น
จุดประสงค์ของโครงงานนี้จัดขึ้นเพื่อ ที่จะให้ผู้ที่ต้องการจำกัดเวลาในการทำสิ่งต่างๆ โดยที่เราสามารถกำหนดเวลาได้จากทั้งตัวหน้าเว็บ และตัวบอร์ดเอง ส่วนเวลาเรากำหนดในการนับถอยหลังนั้นจะไปแสดงบนหน้าเว็บ เมื่อหมดเวลาเสียง buzzer ก็จะดัง เราก็ต้องลุกไปกดปุ่มปิดเสียงบนตัวบอร์ดซึ่งวางไว้ในอีกตำแหน่งเพื่อให้บังคับให้ผู้ใช้ได้เดินไปกดปิด (หมดเวลาในการทำกิจกรรมในช่วงนั้นๆ) โดยที่สามารถใช้เครื่องที่ทางกลุ่มเราประดิษฐ์ขึ้นเพื่อที่จะ ตั้งเวลาที่จะนับถอยหลังในการทำสิ่งต่างๆได้อย่างลงตัว
เทคนิคที่ใช้
Backend
จำลองการใช้งาน Database ด้วย local variable
ใช้ Flask เพื่อเป็นระบบสำหรับเชื่อมต่อระหว่างฮาร์ดแวร์และเว็บไซต์
มีการ sync เวลาที่แสดงบนเว็บและฮาร์ดแวร์เป็นช่วงเวลา เพื่อตรวจสอบการทำงานผิดพลาด
Frontend
การนับเวลาถอยหลังแบบ Realtime
ใช้ css ในการตกแต่งขั้นสูงบนหน้าต่างเว็บไซต์
มีการใช้ในการ sync ข้อมูลโดยที่จะนำเวลาปัจจุบันไปบวกกับเวลาอนาคตเพื่อที่จะได้เวลาที่เวลาปัจจุบันต้องบอกไปเรื่อยๆทีละ 1 วินาทีเพื่อที่จะทันกับเวลาที่บวกไป โดยใช้คำสั่ง setInterval() ในการบวกเวลาปัจจุบันไปเรื่อยๆทีละ 1 วินาที
Hardware
การใช้งานปุ่มแบบ multifunction โดยใช้งานปุ่มทั้งสองเป็น button ที่มีฟังก์ชั่นหลากหลาย
การนับเวลาแบบ Quick time forward ซึ่งจะนับเวลาได้อย่างรวดเร็วตั้งแต่เริ่มทำการจับเวลา
การรับอินพุด มีการตรวจสอบช่วงเวลาในการกดปุ่มระดับมิลลิวินาที เพื่อให้สามารถปรับเวลาจากบนบอร์ดได้อย่างสะดวก และป้องกันปัญหาการทำงานต่อเนื่องจากการกดแบบที่ไม่ต้องการ
อุปกรณ์ที่ใช้
- Raspberry pi
- SD card
- Micro-USB
- Button 2 ปุ่ม
- OLED display
- Buzzer
- MCU board
- LED
- Resistor
Library ที่ใช้
Frontend & backend
- Flask ใช้ในการเปิดเซิร์ฟเวอร์
- Python 3.9.4
Hardware
- usbdrv
- Adafruit_SSD1306 ( for oled )
วัดอัตราการเต้นของหัวใจตอนที่ออกกำลังกาย แล้วนำไปใช้คำนวณหาว่าเบิร์นแคลอรี่ไปได้เท่าไหร่ โดยคำนวณจากค่าอินพุทเริ่มต้นคือ อายุ และน้ำหนัก แล้วแสดงผลทางหน้าเว็ป
อุปกรณ์ที่ใช้ :
- MCU Board x1
- Pusle Meter MAX30102 x1
- Proto Board x1
- สายไฟ x4
Game กู้ระเบิดภายในเวลาที่กำหนด
โดยผู้เล่นมี 2 คนคือ ผู้ที่กู้ระเบิด บน board มีปุ่มและLCD (ไม่รู้วิธีแก้)
กับผู้อ่านเอกสารวิธีการกู้ระเบิดบน website (ไม่รู้รูปแบบของระเบิด)
ระเบิดจะมีmoduleย่อยๆ ผู้ที่กู้ระเบิดต้องบอกข้อมูลในจอLCDว่ามีรูปแบบใดบ้าง มีลำดับอย่างไร
เพื่อให้คนที่อ่านเอกสารทราบ condition ของการแก้ เเละบอกวิธีการกดปุ่มเพื่อกู้ระเบิดนั้นๆ
มีประมาณ 3-4 Module
1.สุ่มอักษรบน lcd กดปุ่ม ตามลำดับที่ระบุในเอกสาร(รูปแบบตัวอักษรมีผลต่อลำดับ)
2.กดปุ่มตามลำดับที่กระพริบตามlcd (ลำดับการกดจะเพิ่มขึ้นเรื่อยๆ)
3.lcd แสดงรหัสมอส ต้องนำรหัสมอสไปแปลเพื่อ กดปุ่มที่ถูกต้อง
4.ปุ่มกู้ระเบิด (มีir sensor และswitch เป็น condition ในการกด)
ถ้ากู้สำเร็จภายในเวลาที่กำหนด=ผ่าน
กู้ไม่สำเร็จภายในเวลาที่กำหนดหรือกู้ผิดครบ 3 ครั้ง=ไม่ผ่าน buzzer ระเบิดดัง
อุปกรณ์ที่ใช้
1.จอLCD 20x4 i2c
2.LED 3 หลอด
3.ปุ่มกด 4 ปุ่ม
4.LDR 1 ตัว
5.buzzer 1 ตัว
6.ตัวต้านทาน 330 1 ตัว
7.ตัวต้านทาน 10k 1 ตัว
8.Raspberrypi 1 ตัว
9.Peri Board 2 ตัว
10.Practicum Board 1 ตัว
Inspired by:Keep Talking and Nobody Explodes
https://www.youtube.com/watch?v=1-MM1UTtjyU
เนื่องจากในช่วงที่กำลังทำโปรเจคอยู่นั้นมีการระบาดของโรค COVID-19 ทางกลุ่มของเราจึงคิดค้นระบบตรวจจับใบหน้าที่อาจจะใช้ในการตรวจสอบการเข้าใช้บริการ หรือใช้ในการเช็คชื่อก็ได้
โดยการทำงานของระบบคือจะรับภาพจากกล้องที่เชื่อมต่อกับ บอร์ด Raspberry Pi และใช้ opencv ในการทำ Face Recognition ผ่าน Raspiberry โดยจะเเสดงผลเป็นไฟผ่าน LED ใน MCU
โดยถ้าหาก check เเล้วผ่าน LED สีเขียวจะติด(ประตูเปิด) เเละ หากเป็นคนเเปลกหน้า LED สีเเดงจะติด เเละในตอนประมวลผลจะขึ้นไฟสีเหลือง โดยเมื่อตรวจสอบเจอว่าเป็นใครเเล้วจะทำการถ่ายรูปเเละส่งไปยัง Line ที่ใช้เช็คการเข้าใช้งาน เพื่อลดการสัมผัสในการเขียนชื่อเช็คหรือเเสกนบัตร
อุปกรณ์
1.กล้อง Raspberry Pi (USB)
2.Raspberry Pi board
3.บอร์ด MCU
4.LED สีเขียว
5.LED สีเหลือง
6.LED สีแดง
โมเดลลิฟต์ขนคนที่จำกัดคนเข้าลิฟต์ ไม่ให้เข้าลิฟต์เกินตามที่กำหนดไว้
หากเกินกำหนดที่ตั้งไว้ลิฟต์จะใช้งานไม่ได้ และมีการแสดงจำนวนคนใช้งานลิฟต์ผ่านหน้าเว็บ
โดยหน้าเว็บจะแสดงว่ามีคนกำลังใช้ลิฟต์อยู่กี่คน และมีคนกำลังยืนอยู่ตำแหน่งไหนในลิฟต์บ้าง
โดย ldr จะทำการส่งตำแหน่งและบอกว่ามีคนยืนอยู่ตำแหน่งนี้หรือไม่
ที่มาของโครงงาน :
เนื่องจากสถานการณ์ของโรค Covid-19 ในปัจจุบันทำให้เราควรที่จะยืนเว้นระยะห่างกันเพื่อป้องกันการติดต่อของโรค covid-19 ดังนั้นกลุ่มของพวกเราจึงช่วยกันระดมความคิดว่าจะทำอย่างไรดีที่จะช่วยให้ลดการแพร่เชื้อของไวรัสนี้ได้อย่างน้อยซักนิดก็ยังดี และแล้วพวกเราจึงได้ให้กำเนิด LIFTTOPAPOของพวกเราขึ้นมา โดย LIFTTOPAPOจะเป็นการเเก้ไขปัญหาความเเออัดในลิฟที่เป็นสาเหตุหนึ่งของความเสี่ยงในการติดเชื้อไวรัสกับทุกท่าน โดยจะบอกทั้งตำเเหน่งที่มีคนยืนอยู่ เเละจำนวนคนในลิฟ โดยที่บริเวณหน้าลิฟจะมีไฟสีเขียวเเละสีเเดงเป็นตัวบ่งบอกว่าลิฟเต็มเเล้วหรือยัง ยังสามารถรับคนเพิ่มได้อยู่หรือไม่ ส่วนทางด้านหน้าเว็บของเราจะมีการบอกจำนวนคนเเละตำเเหน่งต่างๆ โดยตำเเหน่งที่เป็นสีเเดงจะเป็นตำเเหน่งที่มีคนยืนอยู่เเล้ว ส่วนตำเเหน่งสีเขียวจะเป็นตำเเหน่งที่ว่าง ซึ่งเราสามารถตรวจสอบว่ามีคนยืนหรือไม่ ได้จากการตรวจวัดความเข้มเเสงของบริเวณนั้นๆ นอกจากนี้เเล้วหน้าเว็บของเราก็ยังมีความสวยงามที่จะไม่ทำให้ผู้ใช้บริการต้องรู้สึกเบื่อหน่ายอีกด้วย
ลักษณะการทำงาน :
ลิฟต์จะถูกเเบ่งเป็น 4 โซน โดยเเต่ละโซนจะมี ldr อยู่ข้างใต้ ถ้าภายในลิฟยังคงมีตำเเหน่งที่ว่างอยู่ led จะติดเพียงสีเขียว แต่เมื่อมีคนยืนอยู่ครบทั้ง 4 ตำเเหน่ง ไฟ led สีเขียวจะดับ เเล้วไฟ led สีเเดงจะติดขึ้นมาเเทน เเสดงว่าลิฟต์เต็ม ตรงส่วนหน้าเว็บ ในขณะที่มีคนยืนอยู่ที่ตำแหน่งต่างๆ จะแสดงตำแหน่งที่มีคนยืนด้วยสีแดง ส่วนตำแหน่งที่ไม่มีคนยืนเป็นสีเขียว พร้อมทั้งแสดงจำนวนคนในลิฟต์ที่ยืนอยู่ที่ตำแหน่งต่างๆ และสถานะของลิฟต์ว่ามีคนเต็มแล้วหรือไม่
อุปกรณ์ :
ldr 4 ตัว
resister 10k ohm 4 ตัว
connector 2*1 4 ตัว
resister 330 ohm 2 ตัว
led green/red
jumper female-female
เทคนิคที่ใช้ :
1.Hardware :
-รับข้อมูลจาก ldr ทั้ง 4 ตัว
-อัปเดตการเปิดปิดของ led สีเขียวและสีแดง โดยเช็คจากค่า ldr
-ส่งข้อมูลให้ backend ผ่าน usb driver
2.Backend :
-สื่อการกับ frontend โดยใช้ library flask
-ดึงข้อมูลจากการ read status.txt
3.Frontend :
-บอกสถานะลิฟต์ว่ามีคนกี่คน แสดงตำแหน่งที่มีคนยืนอยู่ และลิฟต์ว่างพอให้คนเข้าได้หรือไม่
เป็นอุปกรณ์วัดอุณหภูมิและความชื้นในดิน โดยจะส่งเสียงแจ้งเตือนเมื่อความชื้นในดินหรืออุณหภูมิมีค่าอยู่ในช่วงที่ไม่เหมาะสม ซึ่งช่วงค่าเหล่านี้สามารถปรับเปลี่ยนได้ผ่านเว็บไซต์ และมีการนำแสดงผลบนหน้าจอพร้อมทั้งสามารถเปิดปิดเสียงแจ้งเตือนได้หากไม่ต้องการ
ที่มาและความสำคัญของโครงงาน:
เนื่องจากในยุคปัจจุบันเทคโนโลยีมีการพัฒนามากยิ่งขึ้น และในชีวิตประจำวันนั้นเราอาจจะไม่มีเวลาหรือวินัยมากพอที่จะดูแลต้นไม้ได้ตามเวลา เนื่องจากงาน กิจกรรมอื่น ๆ การลืมดูแลต้นไม้ หรือการวางตำแหน่งของต้นไม้ที่ไม่เหมาะสมทำให้ต้นไม้ต้องอยู่ในสภาวะผิดปกติมากกว่าที่ควรจะเป็นซึ่งอาจจะส่งผลต่อการเจริญเติบโตได้ ดังนั้นเราจึงได้นำ sensor ต่าง ๆ มาทำงานร่วมกับการทำฟาร์ม ปลูกต้นไม้ หรือการทำสวนหลังบ้าน โดยเราได้นำเซนเซอร์วัดอุณหภูมิว่าจุดที่อยู่มีอุณหภูมิที่เหมาะสมกับต้นไม้หรือไม่ และเซนเซอร์วัดความชื้นในดินว่ามีปริมาณความชื้นเพียงพอหรือต้องรดน้ำเพิ่มหรือไม่ โดยหากมีอุณหภูมิหรือความชื้นไม่เหมาะสมจะมีการแจ้งเตือนผ่าน buzzer ทำการส่งเสียงแจ้งเตือน รวมถึงการเช็คสถานะหรือได้รับแจ้งเตือนจากเว็บไซต์เป็นต้น
หลักการทำงาน:
เซนเซอร์ DHT11 จะวัดอุณหภูมิในบริเวณที่วางไว้ และจะมี Sensor วัดความชื้นในดินโดยมีอุปกรณ์พ่วงสำหรับเสียบลงดิน จากนั้นตัว Sensor ดังกล่าวจะส่งค่าต่าง ๆ มายังขาที่เชื่อมตัวอุปกรณ์ USB (บอร์ด MCU) เมื่อมีการขออ่านค่าจาก Software ใน Raspberry Pi โดยตัว Software จะตรวจสอบค่าต่าง ๆ ที่ได้มา เมื่อค่าเหล่านี้อยู่ในช่วงที่ไม่เหมาะสมก็จะสั่งให้ Buzzer ดัง ทั้งนี้ตัว Software จะส่งค่าขึ้นไปแสดงผลบนเว็บไซต์ โดยบนเว็บไซต์ จะสามารถกำหนดช่วงความชื้นและอุณหภูมิที่เหมาะสมและเปิดปิดการทำงานของ Buzzer ได้
อุปกรณ์ที่ใช้ :
• Raspberry Pi 3 Model B+ พร้อม สาย Adapter Model YM-0530 1 ชุด
• Board NodeMCU - ATmega328p (Practicum Board v3.2 CPE. KU 2020-11) 1 ชุด
• Peripheral board (PRACTICUM PROTOBOARD CPE. KU) 1 ชิ้น
• สายแพ 1 สาย
• Jumper wire Female-Female 2 สาย
• DHT11 เซนเซอร์วัดอุณหภูมิและความชื้น 1 ชิ้น
• Soil Moisture Sensor Module v1 เซ็นเซอร์วัดความชื้นในดิน 1 ชุด
• SFM-27 Active Buzzer 3-24V 1 ชิ้น
เทคนิคที่ใช้ :
• Frontend :
- พัฒนาด้วย Next.js + ReactJS ซึ่งเป็น framework สำหรับสร้าง web app พร้อมด้วยระบบ Server Side Rendering (SSR) และเพิ่มประสิทธิภาพในการทำ Static Side
- ใช้ axios library ในการ call REST API ไปที่ backend ซึ่งรันอยู่บน Raspbery Pi
- ใช้ vercel ในการทำ Hosting เพื่อให้หน้าเว็บสามารถเข้าได้จากทุกที่และทุกอุปกรณ์ที่มีการเชื่อมต่ออินเตอร์เน็ต
ลิงค์สำหรับเข้าถึง : https://practicum-smart-farm.vercel.app/
- มีการกำหนด Time Interval ในการ Synce ข้อมูลกับ Backend ตลอดเวลาเพื่อให้ข้อมูลที่แสดงผลเป็นข้อมูลแบบ Realtime เสมอ
- เพื่อความสวยงามและการจัดการกับ Responsive ของหน้าเว็บ เราจึงเลือกใช้ CSS Library ที่เป็นที่นิยมอย่าง Tailwind CSS และ Ant Design เพื่อให้ได้ Interactive Component ที่มีความ User-Friendly มากที่สุด
• Backend :
- รับส่งข้อมูลกับ Frontend ผ่านทาง HTTP Request โดยใข้ Flask ซึ่งเป็น Library ใน Python
- นำข้อมูลที่อ่านค่าได้จาก Sensor Host ขึ้นไปโดยใช้การ reverse ssh tunnel ซึ่งอาศัยเครื่อง
เซิร์ฟเวอร์กลางที่มีไอพีแบบ public เป็นจุดนัดพบ ในที่นี้คือเครื่อง practice ทำให้เครื่องที่มีการ
ssh tunnel กับเครื่อง practice สามารถส่ง request จากจุดใดก็ได้ผ่านอืนเตอร์เน็ต
- ใช้การ Scheduler ให้ทำงานทุก ๆ 2 วินาทีในการดึงค่าจาก sensor และตรวจสอบค่าเพื่อกำหนดการทำงานของ buzzer
• Hardware :
- รับส่งข้อมูลกับ Backend ผ่านทาง USB driver ด้วย V-USB library ในการส่งค่าสถานะและ
ควบคุม Buzzer
- ใช้ Arduino เขียนตัวเฟิร์มแวร์ (เนื่องจากมีการใช้ DHT11)
- Open Circuit วงจรเดิมบางส่วน ได้แก่ ตัวต้านทานกับ ไดโอดและ Vcc กับ LDR เพื่อบัดกรีอุปกรณ์ใหม่เข้าไป
เป็นโปรเจคเพื่อแสดงว่า ที่จอดรถช่องนั้น มีรถจอดอยู่หรือไม่ ผ่านทางไฟ led โดยเมื่อมีรถเข้าจอดจะมีไฟแสดงสีแดง แต่ถ้าไม่มีจะไม่แสดงไฟ โดยสามารถดูสถานะที่จอดรถทั้งหมดแบบเรียลไทมด้วยเวปไซต์ ที่จะแสดงที่จอดรถที่เหลือ และสามารถกดเพื่อไม่ให้รถเข้าจอดได้
ลิสอุปกรณ์
PIN 2*5 1 ตัว
PIN 2*8 1 ตัว
LDR 3 ตัว
Resistor(330) 3 ตัว
Resistor(10K) 3 ตัว
สายจัมพ์ 12 ตัว
เป็นรูปแบบเกมส์ที่สามารถเล่นได้2คน รายละเอียดการเล่นเกมส์เป็นการกดปุ่มตามไฟ ถ้ากดได้ตรงกับไฟในเวลาที่กำหนด จะนับแต้ม แล้วนำแต้มของ 2คนมาเทียบกันแล้วหาผู้ชนะ โดยในส่วนของ Webapp จะมีตั้งแต่ปุ่มที่จะเริ่มการแข่งขัน จนถึงผลการแข่งขัน และในส่วนของ Hardware จะมี ไฟLED ขึ้นตามจังหวะเวลา และมี Button สำหรับผู้เล่น 2 คน
อุปกรณ์ที่ใช้
1)LED 3mm (3ตัว * 2 บอร์ด = 6 ตัว)
2)Button DTS-6 (3ตัว * 2 บอร์ด = 6 ตัว)
3)Resistor 330 Ohm (3ตัว * 2 บอร์ด = 6 ตัว)
4)สายแพร์ 2 เส้น
5)Connector 5x2 ขา 2 ตัว
Line Notify แจ้งเตือนเมื่อลืมของไว้ที่หอพัก และแจ้งเตือนเมื่อเข้ามาในห้องเพื่อให้นำของสำคัญไปวางเก็บเป็นที่
ที่มาของโครงงาน :
ณ ปัจจุบัน มีนิสิตจำนวนไม่น้อยเลยที่พักอาศัยอยู่คนเดียวที่หอพัก สำหรับชั่วโมงเร่งรีบในการออกไปเรียนหรืออกไปยังสถานที่ต่าง ๆ อาจจะเกิดการลืมของไว้ที่ห้องได้ ทางกลุ่มของเราจึงสร้างโครงงาน Forget Me Not ขึ้นมาเพื่อเตือนให้ผู้ใช้งานนั้น เก็บของเข้าที่ให้เป็นระเบียบและมีการแจ้งเตือนถ้าหากลืมของ
การทำงาน :
ใช้ LDR ติดไว้ที่กล่องเพื่อตรวงจับว่ามีของวางอยู่ไหม (มี LED ที่จะสว่างตลอดเวลาที่วงจรทำงาน เพื่อสื่อให้เวลาที่ไฟมืด และไม่มีของวางอยู่ LDR จะรับค่าได้อย่างถูกต้องว่าไม่มีของวางอยู่) โดยที่ประตูจะมี Module sensor ตรวจจับ อินฟาเรด 2 ตัวด้านนอกและด้านในห้องเพื่อตรวจจับว่าขณะนี้ผู้อาศัยนั้นเข้าหรือออกจากประตูห้อง(ในกรณีที่ไม่ต้องการติดตั้งนอกห้อง สามารถติดตั้ง Module sensor ตรวจจับ อินฟาเรดทั้ง 2 ตัวไว้นอกในประตูและเรียกเป็นตัวด้านใกล้ประตูกับตัวด้านไกลประตู) เมื่อได้รับข้อมูลการเข้าออกห้อง จะทำการตรวจสอบสิ่งของที่วางอยู่ แล้วถ้าตรงตามเงื่อนไขที่กำหนด จะมีการส่งการแจ้งเตือน ผ่านทาง Line Notify และฺ Buzzer ดังเป็นเวลา2วินาที
เงื่อนไขการแจ้งเตือนของ Line Notify และฺ Buzzer :
เมื่อเดินเข้าห้อง และมีที่วางของที่ไม่มีของวางอยู่อย่างน้อย 1 ที่
เมื่อเดินออกห้อง และที่ของวางอยู่บนที่วางของอย่างน้อย 1 ที่
อุปกรณ์ที่ใช้ :
1. Buzzer ขนาด 5 V 1 ตัว (ต่อกับ PC2)
2. Sensor ตรวจวัดแสง ( LDR ) 2 ตัว (ต่อกับ PC3 , PC4 ใช้เช็คที่วางของหมายเลข 1 , 2)
3. Module sensor ตรวจจับ อินฟาเรด 2 ตัว (ต่อกับ PC0 , PC1 โดย PC0 คือฝั่งใกล้ทางออกประตูห้อง)
4. LED 3 mm 1 ตัว (ต่อกับ VCC)
5. ตัวต้านทานขนาด 330 โอห์ม 1 ตัว (ต่อกับLED)
6. ตัวต้านทานขนาด 10k โอห์ม 1 ตัว (ต่อกับ)
7. Raspberry Pi 3 Model B+ พร้อม สาย Adapter Model YM-0530 1 ชุด
8. Board NodeMCU - ATmega328p (Practicum Board v3.2 CPE. KU 2020-11) 1 ชุด
9. บอร์ดไข่ปลา สำหรับบัดกรีวงจร 1 ตัว
10. สายไฟ
11. Jumper Female - Female
12. connector ขนาด 5*2 ช่อง 1 ตัว
13. connector ขนาด 2 ช่อง 3 ตัว
เทคนิคที่ใช้ :
1. Hardware
- รับข้อมูลจาก Infrared Sensor ทั้ง 2 ตัวเพื่อยืนยันการ เข้า - ออกห้อง
- รับข้อมูลจาก LDR ทั้ง 2 ตัว เพื่อส่งข้อมูลสถานะของของที่วางอยู่ในกล่อง
- ใช้ Python เพื่อสื่อสารและแก้ค่าไฟล์ now.txt ใน Raspberrypi
2. Frontend
- อ่านค่าข้อมูลจากไฟล์ now.txt
- นำเสนอผ่านทาง Line Notify โดยใช้ภาษา Python
ส่งเพลงโดย upload ผ่านหน้าเว็บไซต์ เเล้วเครื่องเล่นของเราจะทำการเล่นเพลงผ่าน speaker เเละ เเสดงจังหวะเพลงผ่าน LED Matrix หน้าเครื่องสำหรับความสนุกในการฟังเพลง เเละ ส่วนของเว็บไซต์จะมีปุ่มสำหรับการuploadเพลง(ไฟล์เสียงทุกประเภท) และแสดงรายชื่อเพลงอยู่ที่ในqueue
ที่มา: กลุ่มของพวกเราต้องการนำความรู้ที่ได้จากการเรียนวิชา Signal Processing มาประยุกต์ใช้ เพื่อสร้างอุปกรณ์ที่ใช้ในการแสดงผลแสงไฟตามสัญญาณความถี่ของเพลงที่เราอัปโหลดลงไป และสามารถนำไปตกแต่งเพื่อความสวยงามได้อีกด้วย
หลักการทำงาน:
เริ่มต้นจากเปิดเว็ปไซต์ หลังจากนั้นทำการอัปโหลดไฟล์เพลงตามจำนวนที่ต้องการเเล้วกด upload รอจนหน้าจอเปลี่ยนเป็นหน้าสำหรับเล่นเพลงเเล้วกด Play เพื่อที่เพลงจะเริ่มเล่น เสียงจะออกมาจากลำโพงเเละหน้าจอที่ตัวอุปกรณ์ก็จะมีไฟเต้นตามจังหวะเพลงเพิ่มความสนุกในการฟังเพลง ถ้าต้องการหยุดเพลงก็กด Stop หลังจากนั้นสามารถกด Play อีกครั้งเพื่อให้เพลงเริ่มเล่นใหม่ได้ ไม่สามารถกดปุ่ม Play ติดกันหรือ Stop ติดกันได้เเละสุดท้ายสามารถกด Back เพื่อย้อนกลับไปหน้าจอหลักเว็ปไซต์ได้
อุปกรณ์ที่ใช้:
1.) Raspberry pi model B+ 1 เครื่อง
2.) MCU Board 1 ตัว
3.) Bluetooth Speaker 1 เครื่อง
4.) MAX7219 based dot matrix module size 32*16 จำนวน 1 อัน
5.) PCD Board 1 อัน
6.) Connector 10 ขา 1 อัน
7.) Connector 5 ขา 1 อัน
8.) สายเเพ 1 เส้น
9.) สายจัมเปอร์ 5 ขา 1 เส้น
Link Github สำหรับโหลดโครงงาน:
https://github.com/davepokpong/wipwup-proj.git
อุปกรณ์สำหรับทำการ activate device ต่างๆ โมเดลขึ้นมาในรูปของเครื่องแสกน card โดยใน card แต่ละใบจะมีแม่เหล็กข้างในเพื่อเป็น user id ของผู้ใช้แต่ละคน เมื่อนำบัตรไปว่างบนแท่นอ่าน จะทำการอ่าน user id ใน card และแสดงข้อมูลของ user ออกมาผ่านหน้าเว็บไซต์ เพื่อไป activate device นั้นๆ ตามที่ user ต้องการ
ที่มาของโครงงาน :
ในยุคสมัยนี้ การใช้ชีวิตประจำวันทั่วไปของเราจำเป็นต้องการมีอุปกรณ์อำนวยความสะดวกสบายหรือการใช้เทคโนโลยีต่างๆ และอุปกรณ์เหล่านี้ล้วนมีการเปิดหรือสั่งการใช้งานที่แตกต่างกันไป จนบางครั้งการใช้งานเหล่านี้มันก็มากเกินไปจนทำให้เราเกิดความสับสนขึ้น เราจึงคิดจัดการกับปัญญหานี้ด้วยการรวมให้อุปกรณ์ต่างๆ ที่กล่าวมาข้างต้นหรือนอกเหนือจากนี้ สั่งการใช้งานด้วยวิธีเดียวกัน คือ การใช้วิธีการแสกนบัตร นอกจากนี้เรายังระบุให้แต่ละบัตรนั้นมี่ user id ที่แตกต่างกันไปสำหรับผู้ใช้งานแต่ละคน เพื่อแสดงสถานะของผู้ใช้คนนั้นๆ ได้
ลักษณะการทำงาน :
แท่นอ่านบัตรของพวกเราใช้สนามแม่เหล็กของแม่เหล็กที่อยู่ในบัตรของผู้ใช้แต่ละคนในการระบุตัวตน บัตรแต่ละใบจะมี pattern ของแม่เหล็กที่วางอยู่แตกต่างกัน
จนเกิดเป็น id ตายตัวของแต่ละคน แม่เหล็กนั้นจะเปรียบเทียบได้กับ bit 0/1 นั่นหมายความว่า 1 user จะสามารถแแปลงเป็น int เลขฐาน 10 ได้ โดยไม่ซ้ำกับ user คนอื่นเลย
อุปกรณ์ :
- Raspberry Pi 3 Model B+ พร้อม สาย Adapter Model YM-0530 1 ชุด
- Board NodeMCU - ATmega328p (Practicum Board v3.2 CPE. KU 2020-11) 1 ชุด
- Peripheral board (PRACTICUM PROTOBOARD CPE. KU) 2 ชิ้น
- สายแพ 2 สาย
- Active Buzzer 5 V 1 ชิ้น
- LED สีแดง 1 ชิ้น
- LED สีเขียว 1 ชิ้น
- Reed switch 5 ชิ้น
- Resister 330 Ohm 6 ชิ้น
เทคนิคที่ใช้ :
• Hardware :
- ตรวจสอบบัตรจาก reed switch 1 ตัว
- แสดงสถานะการตรวจสอบบัตรด้วย led สีแดงกับสีเขียว และการเปิดปิดของ buzzer
- รับข้อมูล user id ผ่าน reed switch ทั้ง 4 ตัว
- บันทึกข้อมูล user id ไว้ใน file text
• Backend :
- ดึงข้อมูลจาก file text ไป query ใน database
- รับค่า username password จาก frontend เพื่อนำไปเช็คว่ามีหรือตรงใน database หรือไม่
- ค้นหาข้อมูลของ user และ device ที่ frontend ต้องการจะค้นหาใน database
- กำหนด schema ของ database
• Frontend :
- แสดงผล ผู้ที่ใช้งานเครื่องอ่านบัตร ณ ปัจจุบัน รวมถึงรูป profile ชื่อของเครื่องอ่านบัตร และสถานที่ ที่ถูกตั้งค่าไว้
ที่มา
แรงบรรดาลใจมาจากการดวลปืนคาวบอยในชีวิตจริง โดยทำออกมาเป็นเครื่องเกมพร้อมจอยปืน 2 กระบอก วิธีการเล่นคร่าวๆ คือ มีผู้เล่น 2 คน
ให้ตัวเครื่องเกมเริ่มบอกสัญญาณให้เริ่มยิง ใครที่ยิงปืนผ่านจอยปืนก่อนคนนั้นก็จะได้แต้มยิงกันจนครบ 10 แต้มผู้เล่นนั้นก็จะชนะ
โดยมีการแสดงผลทาง หน้าเว็บ แสดงภาพตัวละครของผู้เล่น และมีปุ่มสำหรับรีเซ็ตคะแนนเพื่อเริ่มเกมใหม่
หลักการทำงาน
ใช้ microcontroller ในการควบคุมให้เกิดสัญญาณ เริ่มยิง (หรือกดสวิทต์)ได้ และเมื่อมีการยิงเกิดขึ้นแล้ว
จะทำการคำนวณ score ของผู้เล่นที่ได้คะแนน และมีเอฟเฟคตัวละครโดนยิงจนล้มลงของตัวละครที่ถูกยิงใน Hardware
จากนั้นนำ score ที่ได้จากการคำนวณ ส่งสัญญาณไปเพื่อแสดงผลผ่านตัว Host (raspberry pi) โดย USB
อีกทั้งยังสามารถควบคุม microcontroller จาก Host ได้เช่นกัน (การ reset คะแนน)
Hardware
• Raspberry Pi 3 Model B+ พร้อม สาย Adapter Model YM-0530 1 ชุด
• Board NodeMCU - ATmega328p (Practicum Board v3.2 CPE. KU 2020-11) 1 ชุด
• Peripheral board (PRACTICUM PROTOBOARD CPE. KU) 2 ชิ้น
• สายแพ 1 สาย
• สายไฟ 1 ม้วน
• Switch button กดติดปล่อยดับแบบ 4 ขา ขนาด 6x6x5 mm 2 ชิ้น
• โมเดลปืนของเล่น 2 กระบอก
• Micro servo SG90 2 ตัว
• USB TTL driver 1 ตัว
• Buzzer 5V 1 ตัว
เทคนิคที่ใช้
• การสื่อสารระหว่าง Host กับ Microcontroller ผ่านทาง HTTP request โดยใช้ PyUSB
• การแสดงผลหน้าเว็บโดย ใช้ library flask python
• การควบคุม servo ผ่านทางขาที่รองรับ PWM
• การควบคุม active buzzer
ทำแอพพลิเคชั่นตรวจจับความง่วง(ดวงตา) โดยถ้าง่วง(หลับตานานเกินไป) ระบบจะบอกให้ Buzzer ดังขึ้น ผู้ใช้งานต้องกดปุ่มเพื่อปิดเสียง
โดยเราจะนำcode openCV มาดัดแปลงต่อยอด ทำให้สามารถทำงานใน Rasberry PI ได้มีประสิทธิภาพดีขึ้น และทำงานเข้ากับBoard microcontroller
โดยหลักการคร่าวของ openCV ในโคดนี้คือ คำนวณหาพิกัดจุดต่างๆบนในหน้า แล้ววิเคราะห์พิกัดบนดวงตา ถ้าระยะบนดวงตาตํ่ากว่าที่กำหนดจะส่งเสียงแจ้งเตือนที่ Buzzer
ที่มา :
เนื่องจากสถานการณ์ COVID-19 ทำให้เกิดการเปลี่ยนแปลงจากการเรียนที่มหาวิทยาลัยกลายมาเป็นเรียนออนไลน์ ทำให้การเรียนต้องใช้สมาธิสูงขึ้นในการจดจ่อ เพราะผู้สอนกับผู้เรียนไม่สามารถมองเห็นกันได้ สงสัยอะไรก็จะต้องถามทางอีเมลหรือช่องทางการติดต่ออื่นๆ ดังนั้นจึงเกิดการคิดค้นโปรเจค Stay focus! ขึ้นมา เพื่อให้ผู้ใช้จดจ่อกับสิ่งที่ทำอยู่ในขณะนั้น
Hardware :
- ATMEGA328P x1
- Switch x1
- LED (Red) x1
- LED (Yellow) x1
- LED (Green) x1
- Resistor 330 Ohm x3
- Buzzer x1
- Jumpper x2
- Raspberry Pi x1
- Usb camera x1
ตรวจจับแกสที่มีโอกาสทำให้เกิดไฟไหม้ โดยใช้ Module MQ-2 ซึ่งมีความสามารถในการตรวจจับแกส LPG I-Butane Propane Methane smoke โดยในหน้าเว็บจะแสดงผลของแกสและการวิเคราะห์แกสว่าถึงจุด Treashold ที่อาจจะทำให้เกิดไฟไหม้หรือยังและมีการตรวจจับควัญและแสดงผลว่าเกิดไฟไหม้อยู่หรือไม่
อุปกรณ์ที่ใช้
1. MQ-2
วัดระดับน้ำ แสดงผลผ่าน เว็บแอพลิเคชั่น และแจ้งเตือนผ่าน LED เมื่อถึงเกณฑ์ที่ตั้งไว้และส่งข้อความแจ้งผ่าน line
รายละเอียด
Frontend ใช้ Javascript + HTML + Leaflet.js และ SVG ในการแสดงผล
Backend ใช้ python flask และ MongoDB ในการจัดการข้อมูล
Hardware ใช้ Arduino ในการควบคุม Practicum Board และ ใช้ VUSB และ Python ในการรับส่งข้อมูลระหว่าง Practicum Board RaspberryPi และ Server
อุปกรณ์ที่ต้องใช้
1. หลอดไฟ led สีแดง x1
2. หลอดไฟ led สีเหลือง x1
3. หลอดไฟ led สีเขียว x1
4. ตัวต้านทาน 330 โอห์ม x3
5. เซนเซอร์อัลตร้าโซนิก HC-SR04+ x1
รายละเอียด :
ที่ให้อาหารเเมวโดยอาหารจะหล่นลงมาเมื่อกดปุ่มและจะมีเสียงเพลงเพื่อเรียกแมวมากินอาหารโดย Servo จะหมุนให้อาหารตกลงมาที่ถาดจนถาดมีน้ำหนักเพียงพอที่จะกด ลิมิต สวิตซ์ เพลงก็จะหยุดทันทีโดยที่หน้า web app จะมีปุ่มที่ให้ผู้ใช้สามารถเลือกเพลงได้ว่าผู้ใช้ต้องการเปิดเพลงไหนเพื่อเรียกเเมวมากินแล้วจึงกดปุ่มเพื่อให้อาหารกับเเมวทันที
ที่มาของโครงงาน :
การให้อาหารสัตว์เลี้ยงโดยทั่วไปคือผู้ให้อาหารจะต้องอยู่ใกล้ถาดอาหารซึ่งหากในกรณีที่ผู้ให้อาหารไม่สามารถอยู่ใกล้ถาดอาหารด้วยเหตุใดก็ตามก็จะไม่สามารถทำเช่นนั้นได้ดังนั้นพวกเราจึดคิดค้นการให้อาหารผ่านหน้า web app ขึ้นมาโดยที่หน้า web app ดังกล่าวสามารถสั่งให้อาหารทันทีได้แล้วยังสามารถเลือกเพลงที่จะเปิดเรียกแมวมาได้
ลักษณะการทำงาน :
เมื่อเปิดเครื่องและเติมอาหารในถังจนเต็มก็ทำตามขั้นตอนดังนี้
1. เลือกเพลง
2. กดปุ่ม Feed Me
Servo ก็จะหมุนทำให้อาหารหล่นลงมาใส่ถาดเรื่อยๆพร้อมๆกับเพลงที่เลือกไว้จากหน้าเว็ปจะดังขึ้นเพื่อเรียกแมวมากินอาหารที่หล่นลงมาและเมื่ออาหารในถาดมีน้ำหนักมากพอจนสามารถกดลิมิตสวิตซ์ได้เพลงก็จะหยุดลงพร้อมๆกับ servo ที่หมุนกลับมาที่เดิมเพื่อป้องกันไม่ให้อาหารหล่นลงมาจนล้นถาด
อุปกรณ์ที่ใช้ มีดังนี้
1. Raspberry Pi 3 Model B+ พร้อม สาย Adapter Model YM-0530 1 ชุด
2. Board NodeMCU - ATmega328p (Practicum Board v3.2 CPE. KU 2020-11) 1 ชุด
3. Peripheral board (PRACTICUM PROTOBOARD CPE. KU) 1 ชิ้น
4. Micro Servo SG90 1 ตัว
5. Ribbon cable 1 สาย
6. Mini Micro Limit Switch 4 ตัว
7. CH340G USB to Serial TTL 1 ตัว
8. Mini speaker 1 ตัว
9. Wire 25 สาย
เทคนิคการใช้ :
1. Backend
- ใช้ Flask python ในการสื่อสารกับ Frontend
2. Frontend
- ใช้การ fetch method ต่างๆในการส่งข้อมูลให้ Backend
- ใช้ html ในการตกแต่งหน้าเว็บ
3. Hardware
- เนื่องจากไฟจาก raspberry pi ไม่เพียงพอต่อ micro servo จึงจำเป็นต้องใช้ serial dongle มาช่วย
- เขียนโปรแกรมใน arduino ผ่าน vnc viewer เนื่องจากสะดวกกว่า