ภาพรวมโปรเจกต์ (Project Perspective)
Smart Trash Can with Processing, 2 Arduinos and IR คือโปรเจกต์สร้างสรรค์สุดล้ำที่เอาเทคโนโลยีมาฟีเจอริ่งกันได้อย่างลงตัว งานนี้เราจะใช้ Arduino ถึง 2 ตัวมาคุยกันแบบ Serial communication และโชว์กราฟิกสวยๆ ผ่าน Processing แบบ Real-time บอกเลยว่าได้ทั้งความรู้เรื่องการเชื่อมต่ออุปกรณ์และการทำ Visualization แบบจัดเต็ม
การทำงานของระบบ: Multi-Device Sync (ประสานงานกันแบบทีมเวิร์ค)
โปรเจกต์นี้เน้นความเสถียรและความแรงของระบบถังขยะอัจฉริยะ:
- Sensing layer (ภาคตรวจจับ): เราใช้ IR Obstacle Avoidance Sensor ต่อกับ Arduino ตัวแรก คอยดักจับว่ามีวัตถุ (หรือมือเรา) เข้ามาใกล้ฝาถังหรือยัง
- Actuation layer (ภาคปฏิบัติการ): พอ Arduino ตัวแรกส่งซิกมา Arduino ตัวที่สองก็รับหน้าที่ต่อ สั่งงานให้ Micro Servo Motor (SG90) หมุนเปิด-ปิดฝาถังขยะให้เราทันที
- Visualization layer (ภาคโชว์เหนือ): ใช้ Processing สร้างหน้าจอ GUI บนคอมพิวเตอร์ เพื่อโชว์สถานะการทำงาน (OPEN/CLOSED) และเก็บประวัติการใช้งานแบบหล่อเท่
อุปกรณ์ที่ต้องจัด (Hardware Infrastructure)
- 2x Arduino Uno: ตัวตึงที่เป็นสมองกลหลัก คอยคุมทั้งการตรวจจับและขยับ Servo รวมถึงประสานงาน Serial communication ทั้งระบบ
- IR Obstacle Avoidance Sensor: เซนเซอร์อินฟราเรด เอาไว้ตรวจจับวัตถุแบบไร้สัมผัส
- Micro Servo Motor (SG90): มอเตอร์ไซส์จิ๋วแต่แจ๋ว ไว้คอยขยับกลไกเปิด-ปิดฝาถัง
- 9V Battery/Power Supply: แหล่งจ่ายไฟต้องนิ่งนะน้อง ระบบจะได้เดินสะดวก
- Micro-USB Cable: สายโปรแกรมไว้เบิร์น Code ลง Board และใช้คุยกับคอมพิวเตอร์
- Jumper Wires: สายไฟจัมเปอร์ เอาไว้เชื่อมทุกอย่างเข้าด้วยกัน ห้ามเสียบผิดรู ห้ามช็อตนะตัวนี้!
ขั้นตอนการทำงาน (Measurement and Execution Loop)
ถังขยะตัวนี้ออกแบบมาให้ทำงานได้ไวและมีประสิทธิภาพ:
- Initialize Arduinos: ทำการ SETUP ให้ Arduino ทั้งสองตัวคุยกันผ่าน Serial และเชื่อมต่อกับ Processing script ให้เรียบร้อย
- Poll IR Sensor: Arduino ตัวแรกจะคอยเช็กค่าจาก IR Sensor แบบ Loop ตลอดเวลา พอเจอเป้าหมายปุ๊บ ก็จะส่งสัญญาณ Trigger ไปหา Arduino ตัวที่สองทันที
- Servo Trigger: พอ Arduino ตัวที่สองได้รับสัญญาณ ก็จะสั่ง Servo หมุนเปิดฝาทิ้งไว้สักพัก แล้วค่อยสั่งปิดเองแบบอัตโนมัติ
- Visualization Sync: ในขณะเดียวกัน Processing script ก็จะคอยดักฟังสถานะแล้วอัปเดตหน้า GUI บนจอคอมให้เราเห็นสถานะกันสดๆ ไปเลย
ไอเดียต่อยอด (Future Expansion)
- OLED Identity Dashboard Integration: ลองติดจอ OLED เล็กๆ เพิ่มเข้าไป โชว์ปริมาณขยะหรือจำนวนครั้งที่เปิดปิดบนตัวถังไปเลย
- Cloud Status Sink Registration: อัปเกรดไปใช้ WiFi Module (ESP8266/ESP32) แล้วโยนข้อมูลขึ้น Cloud Dashboard จะได้เช็กสถานะถังขยะผ่านมือถือได้ทุกที่
- Advanced Servo Velocity Profile: ใช้ Library เฉพาะทางมาคุมความเร็ว Servo ให้มันเปิด-ปิดแบบนุ่มนวล (Smooth) ดูแพงขึ้นมาทันที
- Custom Pulse Alert Support: ใส่ Buzzer เพิ่มเข้าไป ให้มันส่งเสียงเตือนเวลาเปิดหรือตอนขยะเต็ม ก็เฟี้ยวไปอีกแบบ