กลับไปหน้ารวมไฟล์
cleaner-bot-8cd4cd.md

The Inspiration

Cleaner Bot ถือกำเนิดขึ้นจากความปรารถนาที่จะช่วยเหลืองานบ้าน โดยเฉพาะอย่างยิ่ง ผู้เขียนได้รับแรงบันดาลใจจากคุณแม่ของตน ซึ่งเป็นผู้ประกอบอาชีพจัดเลี้ยง ที่ต้องใช้เวลาทำความสะอาดพื้นที่ทำงานเป็นอย่างมาก โปรเจกต์นี้มีเป้าหมายที่จะทำให้กระบวนการดังกล่าวเป็นแบบอัตโนมัติ โดยจัดหาผู้ช่วยหุ่นยนต์ที่สามารถจัดการกับการปัดฝุ่นเบาๆ และเคลื่อนที่ไปมาได้อย่างอิสระ หรือผ่านการควบคุมด้วยสมาร์ทโฟน

Engineering & Design Choices

การสร้างหุ่นยนต์ทำความสะอาดที่ใช้งานได้จริงนั้นต้องอาศัยการรักษาสมดุลระหว่างการใช้พลังงาน น้ำหนัก และการนำทางแบบอัตโนมัติ ในเวอร์ชันนี้ มีการเลือกการออกแบบที่น่าสนใจหลายประการ:

  1. ฮาร์ดแวร์นำกลับมาใช้ใหม่: เพื่อให้ต้นทุนต่ำ ผู้เขียนได้ถอด DC motors ออกจากคอนโทรลเลอร์ PS3 เก่า แม้ว่ามอเตอร์เหล่านี้จะออกแบบมาสำหรับการสั่น/การตอบสนองแบบ haptic แต่ก็เป็น actuator ที่ใช้งานได้ดีสำหรับโครงหุ่นยนต์ขนาดเล็ก เมื่อใช้งานร่วมกับ drive logic ที่เหมาะสม
  2. ตรรกะการนำทาง: บอทใช้ Infrared (IR) sensors สามตัว (ซ้าย กลาง และขวา) ในการตรวจจับขอบเขตหรือสิ่งกีดขวาง สิ่งนี้ทำให้บอท "มองเห็น" สภาพแวดล้อมและตัดสินใจได้: หากเซ็นเซอร์ด้านซ้ายตรวจพบกำแพง มันจะเลี้ยวขวา; หากเซ็นเซอร์ทั้งหมดตรวจพบสิ่งกีดขวาง มันจะถอยหลังแล้วหมุนตัว
  3. ระบบขับเคลื่อน: แม้ว่าการออกแบบเดิมจะพิจารณาใช้ L298N motor driver แต่ Relay Module ถูกนำมาใช้ในการกำหนดค่าบางอย่างเพื่อความเรียบง่ายและประสิทธิภาพในการสลับกระแสไฟที่สูงขึ้นไปยังกลไกการทำความสะอาด
  4. การควบคุมแบบไร้สาย: มีการรวม 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) จะทำงานเมื่อใดก็ตามที่ swtch flag เป็น high
DC motors ที่นำกลับมาใช้ใหม่สำหรับขับเคลื่อนและทำความสะอาด

Construction Steps

  1. การประกอบ Chassis: ติดตั้ง DC motors ที่นำกลับมาใช้ใหม่เข้ากับ lightweight car kit chassis
  2. การเดินสายวงจร: เชื่อมต่อ IR sensors เข้ากับ digital pins 12, 4 และ 3 ตั้งค่า relay บน digital pin 2
  3. การตั้งค่า App: นำเข้าไฟล์ .aia เข้าสู่ MIT App Inventor 2 เพื่อสร้าง voice-command interface
  4. การ Calibration: ทดสอบ threshold ของ IR sensors เพื่อให้แน่ใจว่าสามารถระบุผนังและพื้นผิวสีเข้มได้อย่างถูกต้อง

ข้อมูล Frontmatter ดั้งเดิม

title: "Cleaner Bot"
description: "Make an autonomous voice controlled cleaner bot that can dust around your room."
author: "ayanfeoluwaadekanye1"
category: ""
tags:
  - "iot"
  - "home automation"
  - "robots"
views: 1455
likes: 1
price: 2450
difficulty: "Intermediate"
components:
  - "1x Arduino UNO"
  - "1x Relay Module (Generic)"
  - "1x HC-05 Bluetooth Module"
  - "3x Resistor 1k ohm"
tools: []
apps:
  - "1x MIT App Inventor 2"
downloadableFiles:
  - "https://projects.arduinocontent.cc/373dcd7e-7409-4960-8aa9-ed47fd0a9de0.ino"
  - "https://projects.arduinocontent.cc/373dcd7e-7409-4960-8aa9-ed47fd0a9de0.ino"
documentationLinks: []
passwordHash: "5ffc0b4bfc33ee0ad7f60f7a78f0f7d90da6707c4f30fc43665101237ee6d394"
encryptedPayload: "U2FsdGVkX1+lms5eBlrHwWUpR/OMRLrXvAsYkDaTkxZY/tT/mqTF9puELfKlTlzAgbJA6BvzpzG+4l59tdrcXnsK692zBE3l14Hu5QWsePY="
seoDescription: "Build an autonomous voice-controlled cleaner bot with Arduino to keep your room dust-free automatically."
videoLinks: []
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/cleaner-bot-8cd4cd_cover.jpg"
lang: "th"