กลับไปหน้ารวมไฟล์
android-apps-controlled-arduino-robot-car-e50a86.md

การบังคับทิศทางด้วยสมาร์ทโฟน: หุ่นยนต์ควบคุมด้วย Android

หุ่นยนต์ตามเส้นเป็นหุ่นยนต์อัตโนมัติโดยสมบูรณ์ รถหุ่นยนต์ควบคุมด้วย Android อาศัยอินพุตจากผู้ใช้โดยสมบูรณ์ โปรเจกต์นี้จะสอนโปรโตคอลการรวมระบบที่สำคัญของการแยกวิเคราะห์สตรีมคำสั่งตัวอักษร Bluetooth ขนาด 1 ไบต์จำนวนมาก ('F', 'B', 'L', 'R') และส่งข้อมูลนั้นเข้าสู่อาร์เรย์มอเตอร์แบบ dual-bridge ได้ทันที เพื่อบังคับแชสซีที่กำลังเคลื่อนที่ผ่านสิ่งกีดขวาง

obstacle_avoiding_car_chassis_1772704596677.png

โปรโตคอลสตรีมตัวอักษร (HC-05)

เมื่อคุณลากปุ่มควบคุมทิศทาง (joystick thumb-pad) ไปข้างหน้าบนหน้าจอ Android ที่คุณสร้างขึ้นเอง มันไม่ได้ส่งแค่สัญญาณเดียว แต่มันส่งสตรีมคำสั่งที่ปะปนกันไปยัง HC-05 Bluetooth transceiver ของ Arduino

  1. กับดัก: หาก loop() ของ Arduino หยุดทำงานแม้เพียง 50ms ขณะวิเคราะห์โค้ด บัฟเฟอร์ Bluetooth จะล้น และรถจะพุ่งชนกำแพง!
  2. คุณต้องใช้การฟัง Serial แบบไม่บล็อก (non-blocking Serial listening):
if(Serial.available() > 0){
  char command = Serial.read();
  if (command == 'F') { DriveForward(); }
  else if (command == 'L') { SpinLeft(); }
  else if (command == 'S') { HaltMotors(); }
}

เมทริกซ์การบังคับเลี้ยวแบบ Differential ด้วย L298N

หุ่นยนต์ตัวนี้ไม่มีพวงมาลัย มันเลี้ยวเหมือนรถถัง (Differential Logic)

  • L298N Dual-Bridge Driver ทำงานกับมอเตอร์ซ้ายทั้งสองตัวและมอเตอร์ขวาทั้งสองตัว
  • ฟังก์ชัน SpinLeft() ไม่ได้ทำให้ล้อซ้ายช้าลง นั่นคือการเลี้ยวที่ไม่มีประสิทธิภาพ
  • ในการหมุนตัวซ้ายอย่างรุนแรงและแม่นยำ:
analogWrite(ENA, 255); analogWrite(ENB, 255); // Full power via PWM
digitalWrite(IN1, LOW);  digitalWrite(IN2, HIGH); // Left Rack REVERSE!
digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW);  // Right Rack FORWARD!
  • รถจะหยุดขับเคลื่อนทันทีและหมุนตัวอย่างรุนแรงเป็นวงกลมอย่างสมบูรณ์ในตำแหน่งเดิม!

ส่วนประกอบหลักในการสร้าง Rover

  • Arduino Uno/Mega + Sensor Shield สำหรับการขยายพินสำหรับ Servo/Bluetooth ได้อย่างง่ายดาย
  • HC-05 หรือ HC-06 Bluetooth Slave Module
  • L298N Motor Driver Interface Board
  • ชุด 4WD Acrylic หรือ Aluminum Robot Chassis ขนาดใหญ่ พร้อม TT yellow DC Motors แบบมีเกียร์สี่ตัว
  • แหล่งจ่ายไฟแยกกันสองชุด: แบตเตอรี่ 9V สำหรับ IC logic ที่ละเอียดอ่อนของ Arduino และ LiPo 2-cell (7.4V) ขนาดใหญ่ที่เชื่อมต่อโดยเฉพาะกับ L298N motor driver! (การรวมแหล่งจ่ายไฟเข้ากับแบตเตอรี่ก้อนเดียวมักทำให้ Arduino รีเซ็ตเนื่องจาก motor voltage spikes!)

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

title: "Android Apps Controlled Arduino Robot Car"
description: "Smartphone robotics! Demystify motor vector steering utilizing heavy L298N drivers and complex MIT App Inventor Bluetooth architectures to create a fully customized, rapid-response RC rover."
category: "Motors & Robotics"
difficulty: "Intermediate"