สวัสดีน้องๆ ทุกคน..
ในโปรเจคนี้ พี่จะมาสอนวิธีทำ ถังขยะอัจฉริยะ (Smart Dustbin) สำหรับใช้ในบ้านกัน
Smart Dustbin ตามชื่อเลย มันทำงานแบบอัตโนมัติ ฉลาดๆ นั่นแหละ พอมีคนเดินมาหน้าถังขยะ ฝาถังก็จะเปิดเองอัตโนมัติด้วยการทำงานของเซอร์โวมอเตอร์ ก็ต้องมีเซ็นเซอร์คอยตรวจจับวัตถุที่อยู่หน้าถังขยะนั่นเอง
โปรเจค Smart Dustbin นี้เป็นโปรเจค Arduino ที่ทำแล้วเจ๋งมากเลย มันทำงานคล้ายๆ กับของใช้อัจฉริยะ (smart things) ในบ้านทั่วไป พี่ว่าเป็นอุปกรณ์ที่ช่วยให้บ้านสะอาดและดูน่าใช้ขึ้นได้เยอะเลย เพราะเด็กๆ ในบ้านมักจะทิ้งขยะเรี่ยราด ไม่เป็นที่เป็นทาง ทั้งกระดาษ ห่อขนม และของอื่นๆ อีกเพียบ
เด็กๆ จะสนุกกับถังขยะนี้มาก เพราะมันเหมือนของเล่นไปเลย เวลาเล่นก็จะช่วยทิ้งขยะให้บ้านสะอาดขึ้นไปด้วย เพราะมันดึงดูดความสนใจ เด็กๆ ก็เลยมักจะใช้ถังขยะนี้ทิ้งขยะและเศษต่างๆ มากขึ้น
อุปกรณ์ที่ใช้ในโปรเจคนี้ก็มี เซ็นเซอร์อัลตราโซนิค 1 ตัว, เซอร์โวมอเตอร์ และบอร์ด Arduino Uno
หลักการทำงานก็คือ พอมีคนมายืนหน้าถังขยะ ฝาถังก็จะเปิดอัตโนมัติ พอคนเดินออกไป ฝาก็จะปิดเอง
แนะนำโปรเจค
พี่ได้ไอเดียทำถังขยะอัจฉริยะนี้มาจากการอยากส่งเสริมความสะอาดในบ้าน โปรเจคนี้สร้างขึ้นโดยใช้ Arduino และเซ็นเซอร์เป็นหลัก หวังว่าจะเป็นประโยชน์กับทุกคนนะ
"Smart Dustbin" เป็นโปรเจค Home Automation ที่เน้นเรื่องความสะอาดและความสะดวก ด้วยการทำให้ฝาถังเปิดอัตโนมัติ เราจึงสามารถทิ้งขยะแบบไม่ต้องสัมผัส (contactless) ได้ ซึ่งมีประโยชน์มากในสถานที่ที่ต้องรักษาความสะอาดของมือเป็นพิเศษ เช่น ในครัวหรือในโรงพยาบาล เป็นโปรเจคที่ทั้งสนุกและใช้งานได้จริง เอาเทคโนโลยีหุ่นยนต์พื้นฐานมาใช้กับของใช้ในชีวิตประจำวัน
อุปกรณ์ฮาร์ดแวร์และการเชื่อมต่อ
- Arduino UNO: ทำหน้าที่เป็นสมองของระบบ คอยอ่านค่าจากเซ็นเซอร์และสั่งการให้มอเตอร์ทำงาน
- เซ็นเซอร์วัดระยะอัลตราโซนิค HC-SR04: เซ็นเซอร์นี้ทำหน้าที่เป็นตัวตรวจจับความใกล้ มักจะติดตั้งไว้ด้านหน้าหรือด้านบนของถังขยะ หันหน้าไปทางด้านหน้าที่จะตรวจจับเมื่อมีมือหรือวัตถุเข้าใกล้
- เซอร์โวมอเตอร์ SG90: เป็นตัวขับเคลื่อนกลไกทางกายภาพ ใช้เชื่อมต่อกับฝาถังขยะผ่านชิ้นส่วนกลไกเล็กๆ (มักทำจากลวดหรือเทป)
- แบตเตอรี่ 9V & ขั้วต่อ Barrel Jack: จ่ายไฟแบบพกพา ทำให้วางถังขยะไว้ที่ไหนในห้องก็ได้โดยไม่ต้องเสียบปลั๊ก
- สายจัมเปอร์ & กาว: ใช้สำหรับต่อวงจรและยึดอุปกรณ์ต่างๆ เข้ากับตัวถังขยะอย่างมั่นคงด้วยกาวร้อนและเทปสองหน้า
ตรรกะการทำงานและโค้ด
ตรรกะของซอฟต์แวร์นั้นตรงไปตรงมาแต่เชื่อถือได้สูง:
- การคำนวณระยะทาง: Arduino ส่งสัญญาณให้เซ็นเซอร์อัลตราโซนิคทำงาน เซ็นเซอร์จะปล่อยคลื่นเสียงและวัดเวลาที่คลื่นสะท้อนกลับมา Arduino จะแปลงเวลานี้เป็นระยะทางหน่วยเซนติเมตร
- กำหนดค่าระยะตรวจจับ: โค้ดจะถูกตั้งค่าให้มีระยะตรวจจับที่เฉพาะ (เช่น น้อยกว่า 20 ซม.)
- การดำเนินการ:
- เปิดฝา: เมื่อตรวจพบวัตถุในระยะที่กำหนด Arduino จะส่งสัญญาณให้เซอร์โวมอเตอร์หมุนไปยังมุมที่กำหนด (เช่น 90°) เพื่อเปิดฝาถัง
- รอ: โค้ดจะมีคำสั่ง
delay()(ปกติประมาณ 2-3 วินาที) เพื่อให้ฝาถังเปิดค้างไว้พอให้ผู้ใช้ทิ้งขยะได้ - ปิดฝา: หลังจากหน่วงเวลาแล้ว เซอร์โวมอเตอร์จะหมุนกลับไปยังตำแหน่งเดิม (เช่น 0°) เพื่อปิดฝาถังโดยอัตโนมัติ
ทำไมมันถึงเจ๋งอ่ะ
นอกจากเรื่อง "ว้าววว" ของถังขยะที่เปิดเองได้แล้ว โปรเจคนี้ยังช่วยส่งเสริมความสะอาดด้วยการทำให้ผู้ใช้ไม่ต้องไปจับฝาถังที่อาจจะเปื้อนเชื้อโรคอีกด้วย แถมยังประหยัดพลังงานด้วยการอยู่ในโหมดตรวจจับแบบใช้ไฟต่ำ และจะสั่งงานมอเตอร์ก็ต่อเมื่อตรวจจับการเคลื่อนไหวเท่านั้น
ถ้าน้องติดขัดตรงไหนในโปรเจคนี้ ลองไปดูวิดีโอสอนด้านล่างนี้เลยจ้า
ถ้ามีปัญหาอะไร ก็ลองถามพี่มาได้นะ