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

The Character Stream Protocol (HC-05)
เมื่อคุณลากจอยสติ๊กไปข้างหน้าบนหน้าจอ Android ที่คุณกำหนดเอง มันไม่ได้ส่งสัญญาณเพียงครั้งเดียว แต่มันจะส่งสตรีมคำสั่งที่วุ่นวายไปยัง HC-05 Bluetooth transceiver ของ Arduino
- กับดัก: หาก
loop()ของ Arduino หยุดทำงานแม้เพียง 50ms ระหว่างการวิเคราะห์โค้ด บัฟเฟอร์ Bluetooth จะล้น และรถจะชนกำแพง! - คุณต้องใช้การฟัง Serial แบบไม่บล็อก:
if(Serial.available() > 0){
char command = Serial.read();
if (command == 'F') { DriveForward(); }
else if (command == 'L') { SpinLeft(); }
else if (command == 'S') { HaltMotors(); }
}
The L298N Differential Steering Matrix
หุ่นยนต์คันนี้ไม่มีพวงมาลัย มันเลี้ยวเหมือนรถถัง (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 Construction Core
- Arduino Uno/Mega + Sensor Shield สำหรับการขยายพิน Servo/Bluetooth ที่ง่ายดาย
- HC-05 หรือ HC-06 Bluetooth Slave Module
- L298N Motor Driver Interface Board
- ชุดโครงหุ่นยนต์ 4WD ขนาดใหญ่ที่ทำจาก Acrylic หรือ Aluminum พร้อมมอเตอร์ DC TT สีเหลืองแบบมีเกียร์สี่ตัว
- แหล่งจ่ายไฟแยกกันสองชุด: แบตเตอรี่ 9V สำหรับ IC logic ที่ละเอียดอ่อนของ Arduino และแบตเตอรี่ LiPo 2 เซลล์ขนาดใหญ่ (7.4V) ที่เชื่อมต่อกับ L298N motor driver โดยเฉพาะ! (การรวมแหล่งจ่ายไฟเข้ากับแบตเตอรี่ก้อนเดียวมักจะทำให้ Arduino รีเซ็ตเนื่องจาก motor voltage spikes!)