The Inspiration
Cleaner Bot ถือกำเนิดขึ้นจากความปรารถนาที่จะช่วยเหลืองานบ้าน โดยเฉพาะอย่างยิ่ง ผู้เขียนได้รับแรงบันดาลใจจากคุณแม่ของตน ซึ่งเป็นผู้ประกอบอาชีพจัดเลี้ยง ที่ต้องใช้เวลาทำความสะอาดพื้นที่ทำงานเป็นอย่างมาก โปรเจกต์นี้มีเป้าหมายที่จะทำให้กระบวนการดังกล่าวเป็นแบบอัตโนมัติ โดยจัดหาผู้ช่วยหุ่นยนต์ที่สามารถจัดการกับการปัดฝุ่นเบาๆ และเคลื่อนที่ไปมาได้อย่างอิสระ หรือผ่านการควบคุมด้วยสมาร์ทโฟน
Engineering & Design Choices
การสร้างหุ่นยนต์ทำความสะอาดที่ใช้งานได้จริงนั้นต้องอาศัยการรักษาสมดุลระหว่างการใช้พลังงาน น้ำหนัก และการนำทางแบบอัตโนมัติ ในเวอร์ชันนี้ มีการเลือกการออกแบบที่น่าสนใจหลายประการ:
- ฮาร์ดแวร์นำกลับมาใช้ใหม่: เพื่อให้ต้นทุนต่ำ ผู้เขียนได้ถอด DC motors ออกจากคอนโทรลเลอร์ PS3 เก่า แม้ว่ามอเตอร์เหล่านี้จะออกแบบมาสำหรับการสั่น/การตอบสนองแบบ haptic แต่ก็เป็น actuator ที่ใช้งานได้ดีสำหรับโครงหุ่นยนต์ขนาดเล็ก เมื่อใช้งานร่วมกับ drive logic ที่เหมาะสม
- ตรรกะการนำทาง: บอทใช้ Infrared (IR) sensors สามตัว (ซ้าย กลาง และขวา) ในการตรวจจับขอบเขตหรือสิ่งกีดขวาง สิ่งนี้ทำให้บอท "มองเห็น" สภาพแวดล้อมและตัดสินใจได้: หากเซ็นเซอร์ด้านซ้ายตรวจพบกำแพง มันจะเลี้ยวขวา; หากเซ็นเซอร์ทั้งหมดตรวจพบสิ่งกีดขวาง มันจะถอยหลังแล้วหมุนตัว
- ระบบขับเคลื่อน: แม้ว่าการออกแบบเดิมจะพิจารณาใช้ L298N motor driver แต่ Relay Module ถูกนำมาใช้ในการกำหนดค่าบางอย่างเพื่อความเรียบง่ายและประสิทธิภาพในการสลับกระแสไฟที่สูงขึ้นไปยังกลไกการทำความสะอาด
- การควบคุมแบบไร้สาย: มีการรวม HC-05 Bluetooth Module เข้าไว้ด้วย เพื่อให้สามารถควบคุมด้วยตนเองผ่านแอปพลิเคชันที่สร้างขึ้นเองใน MIT App Inventor 2 สิ่งนี้ทำให้สามารถ "voice control" ได้ โดยใช้การรู้จำเสียงของสมาร์ทโฟนเพื่อส่ง serial commands เช่น "start cleaning" ไปยัง Arduino
Component Breakdown
- Arduino UNO: สมองของการทำงาน ประสานงาน input จาก sensor และ output ไปยัง motor
- HC-05 Bluetooth Module: อำนวยความสะดวกในการสื่อสารระหว่างหุ่นยนต์และสมาร์ทโฟน
- IR Sensors (3x): จำเป็นสำหรับการหลีกเลี่ยงสิ่งกีดขวางแบบอัตโนมัติ
- Relay Module: ใช้สำหรับกระตุ้น high-speed cleaning motor
- 18650 Li-ion Batteries (3x): จัดหาแหล่งจ่ายกระแสไฟสูงที่จำเป็นสำหรับการทำงานทำความสะอาดอย่างต่อเนื่อง
Understanding the Code Logic
เฟิร์มแวร์ได้รับการออกแบบโดยใช้กลไกการสลับสถานะ โดยจะรอรับ Serial messages:
- เมื่อได้รับ "start cleaning" จะตั้งค่า flag และเรียกใช้ฟังก์ชัน
moveBot() - ในฟังก์ชัน
moveBot()นั้น Arduino จะอ่านค่าจาก IR sensors ทั้งสามตัว (lftIr,ctrIr,rghIr) - ตรรกะการทำงานเป็นไปตามระบบลำดับความสำคัญ: หากมีสิ่งกีดขวางอยู่ทางขวา ให้เลี้ยวซ้าย หากตรวจพบสิ่งกีดขวางหลายจุด ให้ดำเนินการ
backMov()เพื่อรีเซ็ตตำแหน่ง - cleaning motor (ที่เชื่อมต่อกับ pin
rly) จะทำงานเมื่อใดก็ตามที่swtchflag เป็น high
Construction Steps
- การประกอบ Chassis: ติดตั้ง DC motors ที่นำกลับมาใช้ใหม่เข้ากับ lightweight car kit chassis
- การเดินสายวงจร: เชื่อมต่อ IR sensors เข้ากับ digital pins 12, 4 และ 3 ตั้งค่า relay บน digital pin 2
- การตั้งค่า App: นำเข้าไฟล์ .aia เข้าสู่ MIT App Inventor 2 เพื่อสร้าง voice-command interface
- การ Calibration: ทดสอบ threshold ของ IR sensors เพื่อให้แน่ใจว่าสามารถระบุผนังและพื้นผิวสีเข้มได้อย่างถูกต้อง

