เนื่องด้วยการใช้งาน solar panel ที่เพิ่มขึ้นเป็นอย่างมากในปัจจุบันจากความต้องการที่จะลดค่าไฟตอนกลางวันและอยากสนับสนุนพลังงานสะอาด จึงทำให้อยากทำแบบจำลองการหมุนตามแสงของ solar panel
ทำการรับค่าแสง แล้วส่งไปให้บอร์ดประมวลผล
มีการประมวลผลค่าเเสงที่ได้รับให้ออกมาเป็นค่ามุมองศาที่ตัวเเผ่นรับเเสงต้องหันไป โดยจะเเบ่งเป็นมุมราบ 360 องศา เเละมุมดิ่ง 90 องศา เพื่อให้ทิศทางที่เเผ่นรับเเสงหันไปได้เป็นครึ่งทรงกลม
สำหรับหาค่ามุมจะทำโดยเริ่มจากหา LDR ที่อ่านต่าเเสงได้มากที่สุดก่อน จากนั้นจึงมาพิจารณาตัวข้างๆทั้ง 2 ตัวว่าตัวไหนเป็นตัวที่มีค่ารองลงมาจากนั้นนำค่าเเสงทั้ง 2 ค่าที่ได้มาเเมพดังสมการในรูป โดยการหาร 1000 มาจากกรณีที่บอกว่าถ้าเกิดค่าเเสงที่มากที่สุดต่างจากค่าเเสงที่รองลงมาเกิน 1000 ให้ใช้ทิศของ LDR ตัวที่มากที่สุดได้เลย
รับข้อมูลค่าความเข้มแสง จากนั้นส่งค่าทิศทางที่ต้องหมุน, ค่าเฉลี่ย, อัตราผลิตไฟ, และอื่นๆไปให้บอร์ดที่ต้องใช้
รับข้อมูลค่าความเข้มแสงเฉลี่ยและมุมแกน x และ y ของมอเตอร์มาแสดงใน node red dashboard โดยข้อมูลจะส่งจากบอร์ด esp32 ไปยังคอมพิวเตอร์ที่รัน node red server ด้วยโปรโตคอล UDP
รับข้อมูลเป็นทิศทางของ servo แกน x และ y กับค่าเฉลี่ยของ LDR ทั้ง 4 ตัวจากบอร์ด backbone จากนั้นส่งข้อมูลให้ node red server ไปนำเสนอในรูปแบบ dashboard บนหน้าเว็บ
ใน dashboard แสดง sun height (ค่า servo แกน y), sun rotation (ค่า servo แกน x) และกราฟค่าความสว่างเทียบกับเวลา (ค่าเฉลี่ยของ LDR ทั้ง 4 ตัว)
มีการรับค่าองศาที่บอกทิศทางแสงมาจากบอร์ดประมวลผล ผ่าน esp_now เพื่อมาใช้ควบคุมการหมุนของ servo
ใช้ servo 2 ตัวในการควบคุม
มี 3 โหมดในการแสดงผลคือ
I KNOW WHERE YOU ARE เป็นการทำ Object Localization ผ่านการใช้ข้อมูล Channel State Information (CSI) ที่เก็บจากบอร์ด ESP32 แล้ววิเคราะห์ทำ Classification โดยใช้เทคนิค Multilayer Perceptron (MLP) เอาผลลัพธ์ไปแสดงว่าตำแหน่งของคนที่ยืนอยู่ในพื้นที่อยู่ตรงไหนผ่าน Realtime Website, LINE Notify และแสดงผลบนจอ OLED
การนำข้อมูลของ Channel State Information (CSI) มาใช้วิเคราะห์ทำ Object Localization มีเพิ่มขึ้นเรื่อยๆ โดยวิธีการที่นักวิจัยส่วนใหญ่ใช้วิเคราะห์จะเป็น Convolutional Neural Network (CNN) เนื่องจากเป็นงานที่ใช้วิเคราะห์รูปภาพกราฟ แต่กลุ่มของเราต้องการทดสอบว่าหากเราใช้ Multilayer Perceptron (MLP) เพื่อดูว่าหากใช้วิธีดังกล่าวจะได้ผลลัพธ์คล้ายกับการทำ CNN หรือไม่
งานที่ทำ Object Localization ด้วย CSI จะเหมาะที่จะนำไปใช้ในพื้นที่ที่เราต้องการความเป็นส่วนตัวเช่นในห้องนอน โรงพยาบาล หรือหากใช้ในสายงานเกษตร สามารถใช้แสดงผลตำแหน่งที่สัตว์ชอบอยู่ในเวลาต่างๆของวันได้ โดยประหยัดพลังงานมากกว่าใช้กล้องจับภาพ
I KNOW WHERE YOU ARE ประกอบด้วย ESP32 ทั้งหมด 6 ตัวโดยแบ่งหน้าที่เป็น Transmitter 2 ตัว, Receiver 2 ตัว, อุปกรณ์แจ้งเตือน Line Notify 1 ตัว, และอุปกรณ์ควบคุมจอ OLED 1 ตัว
Setup: Transmitter and Receiver
based on Steven M. Hernandez's Github repo.
ใช้ ESP32 4 ตัว, Config คู่รับ-ส่ง 2 คู่
แผนการผังวงจรหน้าจอ
Data Collection
ตัวอย่างการ setup พื้นที่
การจัดเรียงช่อง 16 ช่อง
ภาพที่แสดงบนหน้าจอ
การส่งข้อความให้ line
หน้าตา Frontend
หน้าตา Backend
อุปกรณ์
• NodeMCU ESP32 จำนวน 4 ตัว
• powerbank จำนวน 3 ตัว
• คอมพิวเตอร์ จำนวน 1 เครื่อง
• สายชาร์จ usb micro จำนวน 4 ตัว
• OLED จำนวน 1 ตัว
Design
• Figma
Frontend
• React
Backend
• Fastapi
Smart Heart Box ประกอบไปด้วยกล่องอัจฉริยะจำนวน 1 คู่ (2 กล่อง) เป็นอุปกรณ์ที่มีความสามารถในการเชื่อมต่อกันเองและเชื่อมต่อกับเว็บแอปพลิเคชั่น ซึ่งมุ่งเน้นให้ผู้ใช้สามารถสื่อสารความรักและความห่วงใยไปยังคนที่พวกเขารักผ่านทางข้อความได้อย่างไร้ขีดจำกัด
Smart Heart Box เป็นโครงงานที่มีกำหนดการและแรงจูงใจมาจากความต้องการในการสร้างช่องทางสื่อสารและแสดงความรักที่ไม่มีขีดจำกัดระหว่างคน โดยเฉพาะในยุคที่เทคโนโลยีเป็นส่วนสำคัญของชีวิตประจำวัน โครงงานนี้มุ่งเน้นที่การสร้างความใกล้ชิดและความสัมพันธ์ที่แข็งแรงอย่างยั่งยืน การสื่อสารและแสดงความรักผ่าน "Smart Heart Box" มีความสำคัญอย่างมากในการสร้างประสบการณ์ที่ดีและสนับสนุนความสุขของผู้ใช้ทั้งสองฝ่ายโดยไม่ว่าจะอยู่ห่างกันแค่ไหนก็ตาม และสะท้อนถึงความสำคัญของการใช้เทคโนโลยีในการสร้างความเชื่อมโยงและความรักที่แท้จริงในสังคมปัจจุบันได้อย่างมีความสำคัญและมีคุณค่าอย่างแท้จริง
ประกอบด้วยอุปกรณ์ดังนี้
ประกอบด้วยอุปกรณ์ดังนี้ - NodeMCU ESP32 - Push Button - LCD 16x2 - Breadboard - Power Bank การทำงานของบอร์ดที่ 2 มีดังนี้ - รับข้อมูลจากบอร์ดที่ 1 ด้วย ESP-NOW จะแสดงผลบนหน้าจอ LCD 16x2 และเมื่อกดปุ่มด้านขวา (ปุ่ม OK) จะทำการ dequeue ข้อความที่อยู่ใน queue - รับ message จาก API เพื่อเปลี่ยนแปลง default message ที่จะส่งไปยังอีกกล่องหนึ่ง - หากไม่มีข้อความที่อยู่ใน queue จะสามารถส่ง Default message ที่ถูกตั้งไว้ได้ - ปุ่มด้านซ้าย (ปุ่ม Next) เลือก default message ข้อความอื่น (มีทั้งหมด 3 ข้อความ) - ปุ่มด้านขวา (ปุ่ม OK) ยืนยันการเลือกข้อความ และทำการส่งข้อความไปยังอีกกล่องหนึ่ง ### Smart Heart Box No.2
ประกอบด้วยอุปกรณ์ดังนี้
การทำงานของบอร์ดที่ 1 มีดังนี้
ประกอบด้วยอุปกรณ์ดังนี้
การทำงานของบอร์ดที่ 2 มีดังนี้
ความเป็นมาของโครงงาน
ล็อกเกอร์และระบบรักษาความปลอดภัย ออกแบบมาเพื่อแก้ปัญหาการจัดการล็อกเกอร์ที่ภาคที่ใช้งานยังไม่ได้ อย่างเช่นการลืมกุญแจ ไม่มีความปลอดภัย เป็นต้น ทางผู้จัดทำจึงได้พัฒนาล็อกเกอร์ที่มีฟังก์ชันการสแกนบัตร หรือ ใช้รหัสผ่านเพื่อใช้งาน รวมทั้งแสดงสถานของตู้ล็อกเกอร์ เพื่อให้มีความปลอดภัย และเพิ่มความสะดวกสบายในการใช้งานมากขึ้น
รายละเอียด
โครงงานนี้เป็นโครงงานเกี่ยวกับล็อกเกอร์สำหรับเก็บรักษาสิ่งของโดยผู้ใช้งานล็อกเกอร์สามารถลงทะเบียนเพื่อเป็นเจ้าของล็อกเกอร์นี้ได้โดยด้วยการสแกนบัตรนิสิตที่ได้ลงทะเบียนแล้ว และสามารถใส่รหัสผ่านเพื่อเป็นการสำรองในกรณีลืมบัตรได้ นอกเหนือจากนี้ผู้ใช้งานยังสามารถยกเลิกการเป็นเจ้าของได้เมื่อไม่ต้องการใช้ล็อกเกอร์นี้แล้ว
ฟีเจอร์ที่สำคัญ
แนวคิดและหลักการ
ทุกบอร์ดที่ใช้จะมี ESP32 (NodeMCU) สำหรับการสื่อสารระหว่างบอร์ดแบบไร้สาย (Wireless) โดยใช้ ESP-NOW โดยบอร์ดจะมี 6 ประเภท คือ บอร์ดสแกนบัตร, บอร์ดปุ่มกด, บอร์ด LCD, บอร์ด Grove - Ultrasonic Ranger, บอร์ด LED และ Buzzer, บอร์ด Servo โดยใช้ ArduinoIDE ในการพัฒนา
อุปกรณ์ที่ใช้
Github : Sir-Locker
การเล่นเกม Blackjack นั้นจำเป็นที่จะต้องมีดีลเลอร์(Dealer) ที่เป็นมนุษย์คอยทำการแจกไพ่และทำการคืนเงินที่ผู้เล่นได้ทำการลงพนันไป ทางกลุ่มผู้จัดจึงมีความสนใจในการทำขั้นตอนการเล่นเกม Blackjack โดยที่ไม่จำเป็นต้องมีดีลเลอร์ที่เป็นมนุษย์คอยดำเนินเกมและทำการคืนเงิน โดยให้เกม Blackjack นั้นสามารถเล่นได้โดยมีแค่ผู้เล่นฺ
Blackjack Machine เป็นเครื่องเล่นเกม Blackjack ประกอบไปด้วย ดีลเลอร์(Dealer) ที่ทำหน้าที่ดำเนินเกม แจกไพ่ และประกาศผลผู้ชนะไปยังผู้เล่น(Player) ทั้งสองคน โดยผู้เล่นแต่ละคนสามารถหยอดเหรียญเพื่อทำการพนันเงิน หากผู้เล่นชนะดีลเลอร์จะได้รับรางวัลเป็น 2 เท่าจากเงินที่ลงไป เมื่อผู้เล่นต้องการจะเลิกเล่น สามารถกดปุ่มเพื่อถอนเงินที่เหลือออกจากเครื่องได้
Blackjack Machine ประกอบไปด้วยเครื่องที่เป็นดีลเลอร์ 1 เครื่อง ผู้เล่น 2 เครื่อง และเครื่องรับคืนเหรียญสำหรับแต่ละผู้เล่นอีก 2 เครื่อง โดยแต่ละเครื่องจะใช้ NodeMCU ESP32 เป็นหน่วยประมวลผล และใช้โปรโตคอล ESP-NOW ในการติดต่อสื่อการกันระหว่างเครื่องแบบไร้สาย(Wireless)
ดีลเลอร์จะเป็นผู้ที่ดำเนินเกม ติดตามสถานะเกม และคอยจัดการให้ผู้เล่นทั้งสองอยู่ใน State ที่ถูกต้องและพร้อมเพรียงกันทั้งสองเครื่อง โดยดีลเลอร์จะมี State ของเกมอยู่ 4 แบบ คือ
1. Waiting State ช่วงก่อนเริ่มเกม
2. Betting State ช่วงตัดสินใจลงเครดิตพนันสำหรับผู้เล่น
3. Playing State ช่วงตัดสินใจเลือกตัวเลือกการเล่นสำหรับผู้เล่น
4. Result State ช่วงการตัดสินผลแพ้ชนะของผู้เล่น
และในการติดต่อสื่อสารกันระหว่างเครื่อง จะใช้สัญญาณทั้งหมด 9 แบบ คือ
1. Reset Signal สัญญาณที่ดีลเลอร์บอกให้ผู้เล่นเริ่มต้นใหม่
2. State Change Signal สัญญาณที่ดีลเลอร์บอกให้ผู้เล่นเปลี่ยนสถานะ
3. Start Signal สันญาณที่ผู้เล่นบอกดีลเลอร์ว่าพร้อมแล้ว
4. Betting Signal สัญญาณที่ผู้เล่นบอกดีลเลอร์ว่าตัดสินใจลงเครดิตพนันแล้ว
5. Hit Signal สัญญาณที่ผู้เล่นบอกดีลเลอร์ว่าขอจั่วไพ่เพิ่ม
6. Stand Signal สัญญาณที่ผู้เล่นบอกดีลเลอร์ว่าไม่ขอจั่วไพ่เพิ่มแล้ว
7. Result Signal สัญญาณที่ดีลเลอร์ประกาศผลตัดสินแพ้ชนะ
8. Insert Signal สัญญาณที่เครื่องรับเหรียญบอกผู้เล่นว่ามีการหยอดเหรียญ
9. Withdraw Signal สัญญาณที่ผู้เล่นบอกเครื่องรับเหรียญให้คืนเหรียญคืนตามจำนวนเครดิตที่มี
ดีลเลอร์มีขั้นตอนการตัดสินใจตาม Flow Diaagram ด้านล่าง
เริ่มต้นโดยทำการส่ง Reset Signal ไปยังบอร์ดผู้เล่นทั้งสอง เพื่อให้ทั้งดีลเลอร์และผู้เล่นอยู่ใน Waiting State และรอ Start Signal จากผู้เล่นทั้งสอง
เมื่อผู้เล่นทั้งสองส่ง Start Signal มาแล้ว ดีลเลอร์จะขยับเข้าสู่ Betting State แล้วทำการส่งสัญญาณไปยังผู้เล่นให้เปลี่ยนเป็น Betting State แล้วดีลเลอร์จะรอ Betting Signal จากผู้เล่นทั้งสอง
เมื่อผู้เล่นทั้งสองส่ง Betting Signal มาแล้ว ดีลเลอร์จะขยับเข้าสู่ Playing State โดยใน state นี้จะเริ่มโดยการที่ดีลเลอรสุ่มไพ่ของตัวเอง 1 ใบแล้วแสดงบนจอ OLED และทำการสุ่มไพ่ 2 ใบให้ผู้เล่นแต่ละคน และทำการรอ Hit/Stand Signal จากผู้เล่นทั้งสองคน
ใน Playing State นี้ ดีลเลอร์จะได้รับ Signal 2 ประเภทจากผู้เล่น คือ
1.Hit Signal เป็นสัญญาณว่าผู้เล่นต้องการจั่วไพ่เพิ่ม ดีลเลอร์จะทำการสุ่มไพ่เพื่อส่งให้กับผู้เล่น
2.Stand Signal เป็นสัญญาณว่าผู้เล่นไม่ต้องการจั่วไพ่เพิ่มแล้ว เมื่อดีลเลอร์ได้รับ Stand Signal ครบจากผู้เล่นทั้งสอง ก็จะขยับเข้าสู่ Result State
ใน Waiting State ผู้เล่นจะสามารถกดได้ 2 ปุ่ม คือ
1. ปุ่มบน เป็นปุ่มที่จะส่ง Withdraw Signal ไปยังบอร์ดรับคืนเหรียญ เพื่อทำการแลกเครดิตทั้งหมดที่ผู้เล่นมีออกมาเป็นเหรียญ
2. ปุ่มล่าง เป็นปุ่มที่จะส่ง Start Signal ไปยังบอร์ดดีลเลอร์
ใน Betting State ผู้เล่นจะสามารถกดได้ 1 ปุ่ม และใช้ตัวหมุนได้ โดย
1. ตัวหมุน ผู้เล่นจะใช้ตัวหมุนในการปรับจำนวนเครดิตที่ต้องการใช้ลงพนัน โดยจะแสดงผลบนหน้าจอ OLED
2. ปุ่มล่าง เมื่อผู้เล่นเลือกจำนวนเครดิตที่จะใช้ลงพนันแล้ว ให้กดปุ่มนี้เพื่อส่ง Betting Signal ไปยังบอร์ดดีลเลอร์
ใน Playing State จะแสดงไพ่ที่ตัวเองมีบนจอ OLED เพื่อให้ผู้เล่นตัดสินใจระหว่าง
1.ปุ่มบน หากผู้เล่นพอใจกับไพ่ที่มีแล้ว ให้กดปุ่มนี้เพื่อทำการส่ง Stand Signal ไปยังบอร์ดดีลเลอร์
2.ปุ่มล่าง หากผู้เล่นยังไม่พอใจในไพ่ที่มี ให้กดปุ่มนี้เพื่อทำการส่ง Hit Signal ไปยังบอร์ดดีลเลอร์เพื่อขอจั่วไพ่
เมื่อบอร์ดผู้เล่นได้รับ Result Signal จากบอร์ดดีลเลอร์ จะทำการประกาศผล โดยเป็นไปได้ 3 รูปแบบคือ
1.ชนะ หากผู้เล่นชนะดีลเลอร์ ผู้เล่นจะได้รับเครดิตคืนเป็นจำนวนสองเท่าของที่ลงพนันไว้
2.เสมอ หากผู้เล่นเสมอกับดีลเลอร์ ผู้เล่นจะได้รับเครดิตคืนเป็นจำนวนเท่ากับเครดิตที่ลงพนันไว้
3.แพ้ หากผู้เล่นแพ้ดีลเลอร์ ผู้เล่นจะไม่ได้รับเครดิตที่ลงพนันไว้คืนเลย
บอร์ดรับคืนเหรียญจะคอยรับสัญญาณจากเครื่องรับเหรียญ(Coin Acceptor) เมื่อผู้เล่นหยอดเหรียญเข้ามา เครื่องรับเหรียญจะส่งสัญญาณไปให้บอร์ดรับคืนเหรียญ และบอร์ดจะทำการเพิ่มจำนวนเหรียญที่มีในเครื่องและเพิ่มเครดิต ให้กับผู้เล่นคนนั้นให้ถูกต้องตามสัญญาณที่ได้มาและแสดงผลบนจอ OLED โดยผู้เล่นสามารถหยอดเหรียญเพื่อเพิ่มเครดิตได้ทั้งในระหว่าง Waiting State และ Betting State
การถอนเหรียญออกจากเครื่องนั้นมี 2 กรณี คือ
1. กรณีที่ผู้เล่นอยากจะแลกเครดิตออกมาเป็นเหรียญ เราจะรับ Withdraw Signal จากบอร์ดของผู้เล่น บอร์ดรับคืนเหรียญก็จะทำการสั่งให้เซอร์โว(Servo) ดันเหรียญตามจำนวน เครดิตหารด้วย 100 (เครดิต / 100) ครั้ง เหรียญที่ถูกดันออกมาจะตกที่บริเวณช่องใต้เครื่องหยอดเหรียญ
2. กรณีที่อยากจะนำเหรียญออกจากเครื่อง จะมีปุ่มที่เมื่อกดแล้วจะทำการดันเหรียญออกไปเรื่อยๆจนกว่าจะปล่อยการกดออกจากปุ่ม โดยเป็นปุ่ม Emergency ที่ไม่ได้มีไว้ให้ผู้เล่นกดได้ตามใจชอบ แต่เป็นกรณีที่จะต้องเอาเหรียญออกจากเครื่อง
โดยจอ OLED ที่เชื่อมต่อกับบอร์ดนี้นั้นจะแสดงเหรียญที่มีอยู่ในเครื่องรับเหรียญและระบุว่าเป็นของผู้เล่นคนไหน
ขณะคืนเหรียญ จอ OLED ก็จะแสดงจำนวนเหรียญที่จะต้องคืน ว่าเหลืออีกกี่เหรียญถึงจะคืนเสร็จสิ้น
เป็น Library ที่เขียนขึ้นเองเพื่อใช้สำหรับแสดงผลกราฟฟิกบนจอ OLED โดยจะนำไปใช้กับบอร์ดผู้เล่นและบอร์ดดีลเลอร์ ประกอบไปด้วย 2 โมดูล
- card_icon.h ไฟล์บิทแมพ(Bitmap) ของหน้าไพ่ทั้ง 4 แบบ ประกอบด้วย โพดำ โพแดง ข้าวหลามตัด และดอกจิก แบ่งเป็นขนาดเล็ก 16x16 pixel และขนาดใหญ่ 23x24 pixel
- card_printer.h ฟังก์ชั่นสำหรับวาดภาพไพ่ ตามเลขไพ่และหน้าไพ่ที่กำหนด และสามารถกำหนดหมายเลขตำแหน่งของไพ่ที่จะแสดงบนหน้าจอ OLED ได้ตั้งแต่หมายเลขตำแหน่ง 1 ถึง 5
Github : bid-laew–ruay-suay-laew-kunn
เป็นเกมที่สร้างขึ้นจากอุปกรณ์ Arduino เพื่อตอบสนองความต้องการของเพื่อนที่ชอบเล่นเกมและเป็นเกมที่เอาไว้เล่นสนุกสนานในยามว่างของชาวcpe โดยตัวเกมสามารถเล่นได้ตั้งแต่2-4คน ตัวเกมนี้ถูกออกแบบมาให้ผู้เล่นแบ่งเป็น 2 ฝั่งและสู้กันโดยทำตามคำสั่งในการกดปุ่มเพื่อฆ่าตัวตุ่นคำสั่งจะถูกสุ่มระดับความยากในการกดปุ่มภายในเวลา1นาทีเมื่อจบเกมจะมีหน้าจอบอกผลคะแนนของแต่ละฝั่งหากฝั่งไหนทำคะแนนในการฆ่าตัวตุ่นได้มากที่สุดก็จะเป็นฝ่ายชนะพร้อมประกาศฝั่งที่ชนะที่บนหน้าจอ
โปรแกรม Arduino นี้เป็นส่วนหนึ่งของระบบ Whack-a-Mole ซึ่งใช้ ESP32 เป็นตัวควบคุม ซึ่งมีฟังก์ชันต่าง ๆ ดังนี้:
โดยโปรแกรมจะทำการแสดงตัวกับดักที่ปรากฏบนจอ OLED และให้ผู้เล่นใช้ปุ่มกดเพื่อชนะตัวกับดักที่ปรากฏ และส่งข้อมูลไปยังตัวควบคุมผ่าน ESP-NOW เมื่อผู้เล่นชนะตัวกับดักหรือหมดเวลาที่กำหนดในการชนะตัวกับดักนั้นๆ ตัวกับดักจะถูกลดลง และจะปรากฏตัวกับดักใหม่ขึ้นแทนทันที
Github: MoleDestroyer
Blynk คือ ชุดของแอปพลิเคชั่นที่ทำให้การสร้างงาน IoT ทำได้ง่ายอย่างเบ็ดเสร็จ มีการเชื่อมต่อกับอุปกรณ์ที่อยู่ไกลผ่านเครือข่ายอินเทอร์เน็ต โดยใช้สมาร์ตโฟนเป็นอุปกรณ์หลักในการติดต่อกับผู้ใช้งานและอุปกรณ์ควบคุมปลายทาง ผู้พัฒนา IoT ไม่ต้องจัดเตรียมสิ่งใดเพิ่มเติม ไม่ว่าจะเป็นเว็บเซิร์ฟเวอร์, หน้าเว็บแสดงผลและควบคุม รวมถึงซอฟต์แวร์เพื่อการเชื่อมต่อใดๆ
Blynk ช่วยให้การพัฒนางาน IoT ง่าย โดยผู้พัฒนาไม่จำเป็นที่ต้องมีความรู้ด้านระบบฮาร์ดแวร์และซอฟต์แวร์ทางคอมพิวเตอร์มากมาย ตัวแอปพลิเคชั่นใช้งานกับฮาร์ดแวร์ที่เป็นที่นิยม ทั้งบอร์ด Arduino, ESP8266, Raspberry PI, Particle Core เป็นต้น
จุดแข็งของ Blynk คือ การจัดเตรียมระบบคลาวด์เซิร์ฟเวอร์ที่เสถียรมากให้กับผู้ใช้งาน นอกเหนือจากนั้น Blynk อนุญาตให้ผู้ใช้สามารถสร้างเซิร์ฟเวอร์ Blynk ขึ้นเองบนเครื่องคอมพิวเตอร์หรือบอร์ด Raspberry Pi ทำให้สามารถเก็บทุกสิ่งที่พัฒนาไว้กับเครื่องของตนเองได้อีกด้วย
โครงสร้าง Blynk
หน้าจอ Project บน Blynk
ESP32Servo.h
, WiFi.h
, WiFiClient.h
, BlynkSimpleEsp32.h
บอร์ด Movement
ปุ่มเปิด-ปิดโหมด
จอยคอนโทรลเลอร์
Ultrasonic.h
, WiFi.h
, WiFiClient.h
, BlynkSimpleEsp32.h
บอร์ด Ultrasonic-IR
แสดงระยะของ Ultrasonic
แสดงไฟและค่าของ IR
Wire.h
, Adafruit_GFX.h
, Adafruit_SSD1306.h
, WiFi.h
, WiFiClient.h
, BlynkSimpleEsp32.h
บอร์ด OLED
เก็บค่าโหมดของบอร์ด OLED
WiFi.h
, WiFiClient.h
, BlynkSimpleEsp32.h
บอร์ด WaterControl
เก็บค่าโหมดของบอร์ด WaterControl
ปุ่มเปิด-ปิดปั้มน้ำ
ตั้งเวลารอบปั้มน้ำ
อุปกรณ์ที่ใช้
ด้านหน้ารถ
ด้านซ้ายรถ
ด้านหลังรถ
ด้านขวารถ
ด้านบนรถ
ที่มาและความสำคัญ
ในปัจจุบัน ผู้สูงอายุจำนวนมากต้องรับประทานยาอย่างสม่ำเสมอ ไม่ว่าเพื่อรักษาโรคประจำตัวหรือเพื่อบำรุงร่างกาย แต่ในการรับประทานยานั้นมีความจำเพาะเจาะจงในแต่ละตัวยาในเรื่องของเวลาในการรับประทาน ทำให้ผู้สูงอายุบางท่านมักทานยาไม่ตรงตามเวลาที่กำหนด และอาจมีความสับสนในตัวยา และด้วยปัจจัยหลาย ๆ ด้านทำให้ไม่มีผู้ช่วยในการบริหารจัดการการรับประทานยา ดังนั้น เพื่อเป็นการพัฒนาคุณภาพการดูแลผู้สูงอายุให้รับประทานยาอย่างตรงเวลา คณะผู้จัดทำจึงนำระบบเครื่องจ่ายยาอัตโนมัติ มาใช้ในการจ่ายยาให้แก่ผู้สูงอายุอย่างมีประสิทธิภาพ และทำการแจ้งเตือนให้ผู้สูงอายุที่มีปัญหาในด้านความทรงจำได้รับยาที่ถูกต้อง และรับประทานยาในเวลาที่เหมาะสม
รายละเอียด
ตู้ยาเจ๋งแจ๋วสุดจ๊าบ เป็นเครื่องจ่ายยาอัตโนมัติ โดยผู้ใช้งานใส่ยาในช่องที่ต้องการพร้อมตั้งเวลาผ่านแอปพลิเคชัน เมื่อถึงเวลาที่กำหนดเครื่องจ่ายยาจะทำการจ่ายยาอัตโนมัติพร้อมส่งเสียงแจ้งเตือนให้รับประทานยา สามารถกดปิดเสียงการแจ้งเตือนเมื่อรับประทานยาเสร็จแล้ว และมีการแสดงค่าความชื้นและอุณหภูมิของที่เก็บรักษายาเพื่อให้ยามีประสิทธิภาพที่ดีอยู่เสมอ
FEATURES
อุปกรณ์ที่ใช้
ไลบราลี่
ระบบการทำงาน
อุปกรณ์ที่ใช้
ไลบรารี่
ระบบการทำงาน
อุปกรณ์ที่ใช้
ไลบราลี่
ระบบการทำงาน
อุปกรณ์ที่ใช้
ไลบราลี่
ระบบการทำงาน
ปัจจุบันเทคโนโลยีการสื่อสารและอิเล็กทรอนิกส์มีการพัฒนาอย่างรวดเร็ว ส่งผลต่อการเปลี่ยนแปลงในหลายอุตสาหกรรม รวมถึงการเดินเรือ เดิมทีการติดตามสถานะเรือ อาศัยการสังเกตการณ์ด้วยสายตา การติดต่อสื่อสารด้วยวิทยุ ซึ่งอาจเกิดข้อผิดพลาด ล่าช้า หรือสูญเสียข้อมูลได้ เราจึงมุ่งหวังที่จะพัฒนาเทคโนโลยี เพื่อเพิ่มประสิทธิภาพ ความปลอดภัย และความสะดวกในการติดตามสถานะเรือ
มีเว็ปไซต์สำหรับติดตามตำแหน่งเรือได้ โดยแบ่งระดับผู้ใช้ออกเป็น 2 ระดับ
มีฮาร์ดแวร์ที่ประกอบเป็นอุปกรณ์ที่ไว้แจ้งเตือนตอนที่มีสัญญาณขอความช่วยเหลือเข้ามา สำหรับกรณีที่ผู้ดูแลไม่ได้อยู่ที่หน้าจอมอนิเตอร์ ณ ขณะนั้น
NodeMCU ESP-WROOM-32
STM32 L432KC
รายละเอียดโครงการ
การใช้การสั่งการด้วยเสียงเพื่อสั่งการอุปกรณ์เครื่องใช้ไฟฟ้าต่าง ๆ ภายในบ้าน ซึ่งประกอบด้วย การสั่งเปิดและปิดไฟ การควบคุมการเปิดและปิดประตู การวัดอุณหภูมิเพื่อควบคุมการทำงานของระบบปรับอากาศ การวัดแก๊สภายในห้องสำหรับการรักษาความปลอดภัยเมื่อเกิดเหตุเพลิงไหม้ การเปิดและปิดโทรทัศน์ และการตรวจสอบระยะห่างสำหรับจอดรถ
ที่มาและความสำคัญ
หนึ่งในปัจจัยสี่ของชีวิตคือที่อยู่อาศัย บ้านจึงป็นสถานที่ที่ทุกคนจำเป็นต้องมี การมีบ้านที่ดีมีด้วยกันหลายองค์ประกอบ หนึ่งในองค์ประกอบที่สำคัญนอกเหนือการอยู่อาศัย ความสวยงาม ความสะอาดนั้น คือความสะดวกสบายและความปลอดภัย งานนี้เราจึงสร้าง แบบจำลองบ้านที่ประกอบด้วยห้องสำคัญต่าง ๆ ของบ้านเพื่อจำลองการทำงานให้เป็น อัตโนมัติ มากยิ่งขึ้น แต่ด้วยความก้าวหน้าทางเทคโนโลยีมากมายเราจึงเห็นได้ทั่วไปที่มีการควบคุม เปิดปิดอัตโนมัติผ่านการสั่งการรูปแบบต่างๆ หนึ่งในด้านสำคัญที่จะส่งเสริมความสะดวกคือการใช้คำสั่งด้วยเสียง ทางทีมจึงพัฒนาการใช้คำสั่งด้วยเสียง (voice command) เพื่อควบคุมความเป็นไปของบ้านในแง่ต่าง ๆ รวมทั้งยังใช้ความรู้ในรายวิชา embedded ในการคิดเงื่อนไขต่าง ๆ ที่สำคัญในการส่งเสริมความปลอดภัย เช่นการแจ้งเตือนเมื่อมีแนวโน้มในการเกิดไฟไหม้ และเงื่อนไขที่ส่งเสริมความสะดวกเช่น การปรับความแรงแอร์ตามอุณหภูมิเป็นต้น
ฟีเจอร์ที่สำคัญ
ฮาร์ดแวร์ที่ใช้
แผนภาพบอร์ดโดยรวม
บอร์ดที่ 1 ควบคุมการทำงานในห้องนอน
สำหรับในบอร์ดนี้จะมีหน้าที่หลักคือการเปิด-ปิดไฟ การวัดอุณหภูมิเพื่อควบคุมการทำงานของเครื่องปรับอากาศ และการเปิด-ปิดประตู โดยมีอุปกรณ์ดังนี้
แผนภาพบอร์ดที่ 1
บอร์ดที่ 2 ควบคุมการทำงานในห้องนั่งเล่น
สำหรับในบอร์ดนี้จะมีหน้าที่หลักคือการเปิด-ปิดไฟ การเปิด-ปิดโทรทัศน์ และการเปิด-ปิดประตู โดยมีอุปกรณ์ดังนี้
แผนภาพบอร์ดที่ 2
บอร์ดที่ 3 ควบคุมการทำงานในห้องน้ำ
สำหรับในบอร์ดนี้จะมีหน้าที่หลักคือการเปิด-ปิดไฟและการเปิด-ปิดประตู โดยมีอุปกรณ์ดังนี้
แผนภาพบอร์ดที่ 3
บอร์ดที่ 4 ควบคุมการทำงานในสวน
สำหรับในบอร์ดนี้จะมีหน้าที่หลักคือการเปิด-ปิดไฟและการเปิด-ปิดประตู โดยมีอุปกรณ์ดังนี้
แผนภาพบอร์ดที่ 4
บอร์ดที่ 5 ควบคุมการทำงานในห้องครัว
สำหรับในบอร์ดนี้จะมีหน้าที่หลักคือการเปิด-ปิดไฟ การวัดแก๊สภายในห้องสำหรับการรักษาความปลอดภัยเมื่อเกิดเหตุเพลิงไหม้โดยจะทำการกระพริบไฟอย่างต่อเนื่องในทุกห้องเพื่อแจ้งเตือนผู้ที่อาศัยอยู่ภายในบ้านถึงเหตุเพลิงไหม้ และการเปิด-ปิดประตู โดยมีอุปกรณ์ดังนี้
แผนภาพบอร์ดที่ 5
บอร์ดที่ 6 ควบคุมการทำงานในโรงจอดรถ
สำหรับในบอร์ดนี้จะมีหน้าที่หลักคือการเปิด-ปิดไฟและการวัดระยะสำหรับการจอดรถโดยเมื่อถึงระยะที่เหมาะสมสำหรับการจอดรถจะทำการแสดงข้อความเตือนเพื่อให้จอดรถบนหน้าจอ โดยมีอุปกรณ์ดังนี้
แผนภาพบอร์ดที่ 6
โครงงานนี้มีเป้าหมายเพื่อสร้างประสบการณ์ที่แปลกใหม่ในการเล่นเกม โดยกลุ่มของเราเลือกเป็นเกมฟันดาบที่มีผู้เล่น 2 คน ผู้เล่นหมายเลข 1 (สีชมพู) และผู้เล่นหมายเลข 2 (สีฟ้า) โดยผู้เล่นสามารถกวัดเกว่งดาบในชีวิตจริงเพื่อเล่นเกมได้ สร้างประสบการณ์การเล่นเกมที่สมจริงมากขึ้น
ในส่วนของดาบทำหน้าที่ในการส่ง Action ของผู้เล่นแต่ละคนไปยัง Server กลางโดยใช้ gyroscope sensor ในการรับข้อมูลทิศทางในการหันของดาบ หากต้องการฟันดาบ sensor รอรับค่าความเร่งของดาบโดยใช้ acceleration sensor เพื่อรับรู้การฟันดาบจากทิศทางของดาบที่มีความคม และหากต้องการป้องกัน ทำได้โดยการกดปุ่มที่ดาบเพื่อป้องกัน ดาบจะส่งข่อมูลทิศทางการป้องกันไปยัง server กลาง โดยทั้งการโจมตีและการป้องกัน มีการส่งข้อมูลที่มีโครงสร้างดังนี้
ดาบยังรับข้อมูลลจาก Server กลาง เกี่ยวกับสถานะของเกม และ Action ของผู้เล่น โดยจะมีการตอบสนองกับ action ต่างๆดังนี้ เมื่อโจมตีคู่ต่อสู้หรือป้องกันได้สำเร็จ ดาบจะส่งสัญญาณเสียง และแสดงสี LED ตามสถานะของเลือดของผู้เล่น และเมื่อเลือดของผู้เล่นหนึ่งหมดจะส่งสัญญาณเสียงแสดงความยินดีกับผู้ชนะ
ในเกมนี้จะใช้งานจอแสดงผล OLED จำนวน 2 ชิ้น โดยที่จะเชื่อมต่ออยู่กับ Microcontroller เครื่องเดียว
จอแสดงผล OLED ทั้น 2 ชิ้นนั้นจะใช้สำหรับแสดงข้อมูลของผู้เล่นแต่ละคนแยกกัน
ข้อมูลที่แสดงบนจอหลักๆจะขึ้นอยู่กับสถานะของเกม โดยที่ข้อมูลของสถานะเกมจะได้รับมาจากตัวควบคุมเกม (Server)
Waiting...
Got Hit!
ในฝั่งที่โดนโจมตีBlock!
ในฝั่งที่ป้องกันการโจมตีServer (ตัวควบคุมเกม) ทำหน้าที่ในการเป็นตัวกลางประมวลผลข้อมูลระบบเกม โดยเก็บข้อมูลเกี่ยวกับ Player แต่ละคน (Player1/ Player2) โดยมีรูปแบบดังนี้
เมื่อ Server ได้รับข้อมูลจะมีการ Update ข้อมูลที่เก็บบไว้ภายใน server เช่น หากผู้เล่น 1 ฟันดาบในทาง vertical และผู้เล่น 2 ไม่ได้ป้องกันในทาง horizontal ผู้เล่น 2 จะถูกโจมตีทำให้เลือดผู้เล่น 2 ลดลง เมื่อมีการเปลี่ยนแปลงสถานะของเกมหรือข้อมูล Server จะส่งข้อมูลไปทที่ส่วนแสดงผล และดาบของผู้เล่น โดยมีรูปแบบตามข้อมูลเกม
เป็นการออกแบบระบบควบคุมการเปิดปิดของไม้กั้นรถไฟ ให้สอดคล้องกับระยะห่างของรถไฟที่กำลังมาถึงเเละรถที่กำลังจะวิ่งผ่านรางรถไฟ เพื่อให้รถจอดรอรถไฟด้วยระยะเวลาที่พอดีและไม่เกิดอุบัติเหตุ
ในยุคปัจจุบัน การเดินทางด้วยรถไฟนั้นเป็นที่นิยมและแพร่หลายไปยังทุกพื้นที่ทั่วโลก ความนิยมในการเดินทางด้วยรถไฟนี้มาพร้อมกับรางรถไฟที่ถูกสร้างขึ้นมาในหลายพื้นที่ และรางรถไฟบางส่วนก็มีความจำเป็นที่จะต้องตัดผ่านถนน จึงทำให้มีการสร้างทางข้ามทางรถไฟขึ้นมา ซึ่งทางข้ามทางรถไฟก็มาพร้อมกับความเสี่ยงของอุบัติเหตุการชนกันของรถยนต์และรถไฟ
มาตรการการลดความเสี่ยงของการเกิดอุบัติเหตุดังกล่าวก็คือการใช้ไม้กั้นทางรถไฟเมื่อรถไฟกำลังจะวิ่งผ่านทางข้ามทางรถไฟ แต่ในปัจจุบัน หลาย ๆ ทางข้ามทางรถไฟยังคงมนุษย์ในการควบคุมอยู่ หรือในพื้นที่ห่างไกลก็ไม่มีไม้กั้นหรือคนมาควบคุมเลย ด้วยเหตุนี้ ทางคณะผู้จัดทำโครงงานจึงเล็งเห็นถึงโอกาสในการพัฒนาระบบไม้กั้นทางรถไฟอัตโนมัติ เพื่อช่วยลดโอกาสการเกิดอุบัติเหตุ และช่วยแบ่งเบาภาระที่มนุษย์จะต้องควบคุมไม้กั้นทางข้ามทางรถไฟ
crossing1/lookouts
1
เมื่อระยะต่ำกว่าที่กำหนด (มีรถไฟผ่าน) , 0
เมื่อไม่มีรถไฟผ่าน1
เมื่อระยะต่ำกว่าที่กำหนด (มีรถไฟผ่าน) , 0
เมื่อไม่มีรถไฟผ่านcrossing1/gates
โดยให้ 0
แทนไม้กั้นปิด 1
แทนไม้กั้นเปิดcrossing1/gates = 0
mqtt://mqtt.embedded-train-stop.dynv6.net
พร้อมกับ username + password เพื่อจำกัดการเข้าถึง และ ความปลอดภัย และ มี topic ที่ใช้ดังนี้ENABLE RETAIN MESSAGE FOR ALL TOPICS!!
spontaneous report
spontaneous report
spontaneous command
spontaneous command
wss://mqtt.embedded-train-stop.dynv6.net
พร้อมกับ username + password