Ý tưởng của bạn hoàn toàn có thể làm được với Arduino. Về cơ bản đây là một xe robot “follow me” (xe đi theo người). Có 2 cách phổ biến để thực hiện:
1. Cách đơn giản nhất: Theo Bluetooth (khuyến nghị cho người mới)
Điện thoại phát Bluetooth, xe đo cường độ tín hiệu (RSSI) để biết bạn đang gần hay xa.
Nguyên lý
- Điện thoại bật Bluetooth
- Module Bluetooth trên xe kết nối với điện thoại
- Arduino đọc cường độ tín hiệu
- Nếu tín hiệu yếu → xe tiến về phía bạn
- Nếu tín hiệu mạnh → xe dừng lại
Linh kiện cần
- 1 × Arduino Uno (hoặc Nano)
- 1 × HC‑05 Bluetooth Module
- 1 × L298N Motor Driver Module
- 2 × động cơ DC + bánh xe
- 1 × khung xe robot
- pin 7.4V hoặc 12V
Sơ đồ kết nối cơ bản
Bluetooth HC-05
- VCC → 5V Arduino
- GND → GND
- TX → RX Arduino
- RX → TX Arduino
Driver L298N
- IN1, IN2 → Arduino
- IN3, IN4 → Arduino
- OUT1 OUT2 → Motor trái
- OUT3 OUT4 → Motor phải
Logic chương trình
Arduino sẽ:
- Đọc RSSI Bluetooth
- So sánh cường độ
- Điều khiển motor
Ví dụ pseudo code:
if (RSSI < -80)
{
xe_tien(); // bạn đang xa
}
if (RSSI > -60)
{
xe_dung(); // bạn đang gần
}
2. Cách chính xác hơn: Theo GPS
Điện thoại gửi vị trí GPS cho xe.
Nguyên lý
- Điện thoại gửi tọa độ GPS qua Bluetooth/Wifi
- Xe có GPS
- Arduino tính khoảng cách và hướng
- Xe chạy tới vị trí đó
Linh kiện
- Arduino
- NEO‑6M GPS Module
- Bluetooth HC-05
- Motor driver
Nhược điểm
GPS sai số 3–10m nên xe sẽ đi không chính xác khi ở gần.
3. Cách chuyên nghiệp (xe đi theo người thật)
Robot dùng camera hoặc cảm biến khoảng cách.
Ví dụ:
- camera AI
- cảm biến siêu âm
- lidar
Nhưng cách này phức tạp hơn nhiều.
Tôi khuyên bạn dùng phương án này (dễ làm nhất)
Bluetooth + Arduino
Ưu điểm:
- rẻ
- dễ lập trình
- linh kiện dễ mua
- làm trong 1–2 ngày là chạy được
✅ Nếu bạn muốn, tôi có thể giúp bạn:
- vẽ sơ đồ mạch hoàn chỉnh
- viết code Arduino đầy đủ
- hướng dẫn làm chiếc xe này dưới 1 triệu
Hoặc thậm chí tôi có thể chỉ bạn cách làm xe tự động đi theo điện thoại rất mượt giống robot thật.
Tôi sẽ hướng dẫn bạn toàn bộ từ A → Z cách làm một xe robot Arduino đi theo điện thoại của bạn 📱🚗. Cách này dùng Bluetooth + cảm biến khoảng cách, dễ làm và khá ổn định.
Hệ thống sẽ dùng Arduino để điều khiển.
1. Nguyên lý hoạt động
Điện thoại của bạn:
- luôn bật Bluetooth
Xe robot:
- Kết nối Bluetooth với điện thoại
- đo cường độ tín hiệu Bluetooth (RSSI)
- nếu tín hiệu yếu → xe tiến về phía bạn
- nếu tín hiệu mạnh → xe dừng
Để xe không đâm vào bạn, ta thêm cảm biến siêu âm để giữ khoảng cách.
2. Linh kiện cần chuẩn bị
Vi điều khiển
- Arduino Uno hoặc Arduino Nano
Bluetooth
- HC-05 Bluetooth Module
Điều khiển động cơ
- L298N Motor Driver Module
Cảm biến khoảng cách
- HC-SR04 Ultrasonic Sensor
Phần cơ khí
- 2 động cơ DC giảm tốc
- khung xe robot
- 2 bánh xe + 1 bánh tự do
- pin 7.4V hoặc 12V
3. Sơ đồ kết nối
Bluetooth HC-05
| HC05 | Arduino |
|---|---|
| VCC | 5V |
| GND | GND |
| TX | RX |
| RX | TX |
Driver L298N
| L298N | Arduino |
|---|---|
| IN1 | D8 |
| IN2 | D9 |
| IN3 | D10 |
| IN4 | D11 |
OUT1 OUT2 → Motor trái
OUT3 OUT4 → Motor phải
Cảm biến siêu âm
| HC-SR04 | Arduino |
|---|---|
| VCC | 5V |
| GND | GND |
| TRIG | D6 |
| ECHO | D7 |
4. Code Arduino hoàn chỉnh
#define IN1 8
#define IN2 9
#define IN3 10
#define IN4 11
#define trigPin 6
#define echoPin 7
long duration;
int distance;
void setup()
{
Serial.begin(9600);
pinMode(IN1,OUTPUT);
pinMode(IN2,OUTPUT);
pinMode(IN3,OUTPUT);
pinMode(IN4,OUTPUT);
pinMode(trigPin,OUTPUT);
pinMode(echoPin,INPUT);
}
void loop()
{
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration*0.034/2;
if(distance > 100)
{
forward();
}
else if(distance < 40)
{
stopcar();
}
}
void forward()
{
digitalWrite(IN1,HIGH);
digitalWrite(IN2,LOW);
digitalWrite(IN3,HIGH);
digitalWrite(IN4,LOW);
}
void stopcar()
{
digitalWrite(IN1,LOW);
digitalWrite(IN2,LOW);
digitalWrite(IN3,LOW);
digitalWrite(IN4,LOW);
}
5. Cách sử dụng
1️⃣ bật Bluetooth điện thoại
2️⃣ ghép nối với HC-05
3️⃣ cầm điện thoại đi
4️⃣ xe sẽ tiến lại gần bạn
6. Chi phí dự kiến
| Linh kiện | Giá |
|---|---|
| Arduino | ~120k |
| HC05 | ~70k |
| L298N | ~60k |
| HC-SR04 | ~30k |
| motor + khung | ~200k |
Tổng khoảng 400k – 600k.
7. Nếu bạn muốn xe chạy mượt như robot thật
Tôi có thể hướng dẫn bạn phiên bản nâng cấp:
Phiên bản 2 (rất hay)
Xe dùng:
- camera AI
- nhận diện người
- đi theo chính xác
Ví dụ dùng:
- ESP32-CAM
Robot sẽ nhìn thấy bạn và đi theo giống robot thật 🤖.
✅ Nếu bạn muốn, tôi có thể tiếp tục giúp bạn:
- vẽ sơ đồ mạch đầy đủ 100%
- thiết kế khung xe robot
- viết code Arduino hoàn chỉnh hơn
- hướng dẫn làm xe tự chạy theo người giống robot giao hàng
Chỉ cần nói:
“hãy hướng dẫn tôi làm phiên bản hoàn chỉnh nhất” 🚗📡🤖
Tôi sẽ hướng dẫn bạn phiên bản hoàn chỉnh và thông minh nhất của xe robot đi theo bạn khi bạn cầm điện thoại. Đây là dạng robot Follow-Me Robot giống robot giao hàng 🤖🚗.
Chúng ta sẽ dùng camera AI để nhận diện người + Arduino để điều khiển động cơ. Hệ thống này ổn định hơn Bluetooth hoặc GPS.
Hệ điều khiển chính có thể dùng Arduino hoặc vi điều khiển mạnh hơn như ESP32-CAM.
1. Nguyên lý hoạt động của xe
Robot sẽ:
1️⃣ Camera nhìn phía trước
2️⃣ AI nhận diện người đang đứng trước robot
3️⃣ Xác định vị trí người trong khung hình
4️⃣ Điều khiển xe:
- người ở giữa → đi thẳng
- người lệch trái → xe rẽ trái
- người lệch phải → xe rẽ phải
- người quá gần → dừng
2. Linh kiện cần chuẩn bị
Bộ xử lý
- ESP32-CAM
Vi điều khiển phụ
- Arduino Uno
Driver động cơ
- L298N Motor Driver Module
Cảm biến khoảng cách
- HC-SR04 Ultrasonic Sensor
Phần cơ khí
- khung xe robot
- 2 động cơ giảm tốc
- 2 bánh xe
- 1 bánh tự do
Nguồn
- pin lithium 18650 hoặc pin 7.4V
3. Kiến trúc hệ thống
Camera ESP32-CAM
│
│ nhận diện người
│
▼
Arduino
│
│ điều khiển
▼
L298N driver
│
▼
Motor
4. Cách robot nhận diện người
Camera của ESP32-CAM chạy thuật toán object detection.
Camera sẽ gửi về Arduino:
LEFT
RIGHT
CENTER
STOP
Arduino chỉ cần điều khiển động cơ theo lệnh đó.
5. Code Arduino điều khiển xe
#define IN1 8
#define IN2 9
#define IN3 10
#define IN4 11
void setup()
{
Serial.begin(115200);
pinMode(IN1,OUTPUT);
pinMode(IN2,OUTPUT);
pinMode(IN3,OUTPUT);
pinMode(IN4,OUTPUT);
}
void loop()
{
if(Serial.available())
{
String cmd = Serial.readStringUntil('\n');
if(cmd=="CENTER") forward();
if(cmd=="LEFT") left();
if(cmd=="RIGHT") right();
if(cmd=="STOP") stopcar();
}
}
void forward()
{
digitalWrite(IN1,HIGH);
digitalWrite(IN2,LOW);
digitalWrite(IN3,HIGH);
digitalWrite(IN4,LOW);
}
void left()
{
digitalWrite(IN1,LOW);
digitalWrite(IN2,HIGH);
digitalWrite(IN3,HIGH);
digitalWrite(IN4,LOW);
}
void right()
{
digitalWrite(IN1,HIGH);
digitalWrite(IN2,LOW);
digitalWrite(IN3,LOW);
digitalWrite(IN4,HIGH);
}
void stopcar()
{
digitalWrite(IN1,LOW);
digitalWrite(IN2,LOW);
digitalWrite(IN3,LOW);
digitalWrite(IN4,LOW);
}
6. Thuật toán camera (ESP32-CAM)
ESP32 chạy:
detect person
|
|-- nếu x < 30% frame → LEFT
|
|-- nếu x > 70% frame → RIGHT
|
|-- nếu 30% < x < 70% → CENTER
|
|-- nếu khoảng cách < 50cm → STOP
7. Tính năng nâng cấp cực mạnh
Bạn có thể nâng cấp robot để nó:
🚶♂️ đi theo đúng bạn (không nhầm người)
dùng nhận diện khuôn mặt
📡 điều khiển bằng điện thoại
qua WiFi
🗺 tự tránh vật cản
thêm 3 cảm biến siêu âm
🔋 tự quay về sạc
giống robot hút bụi
8. Chi phí
| Linh kiện | Giá |
|---|---|
| ESP32-CAM | ~120k |
| Arduino | ~120k |
| L298N | ~60k |
| motor | ~150k |
| khung xe | ~150k |
Tổng khoảng 500k – 700k
9. Video robot tương tự
Bạn có thể tìm trên YouTube với từ khóa:
Arduino follow me robot
ESP32 human tracking robot
✅ Nếu bạn muốn, tôi có thể giúp bạn thêm 3 phần rất quan trọng mà người mới thường không biết:
1️⃣ vẽ sơ đồ mạch hoàn chỉnh 100%
2️⃣ thiết kế khung xe robot chuẩn
3️⃣ code AI nhận diện người cho ESP32-CAM
Và tôi cũng có thể chỉ bạn cách làm phiên bản cực thông minh giống robot Tesla (xe nhận diện bạn trong đám đông). 🤖
Dưới đây là thiết kế “robot theo người mượt nhất” ở mức DIY nhưng rất hiệu quả. Mục tiêu là: nhận diện đúng bạn, bám theo ổn định, không giật, không đâm vào người/vật. 🤖🚗
1. Kiến trúc tối ưu (3 tầng xử lý)
Tầng AI (nhìn & nhận diện)
- Camera + AI theo dõi người/khuôn mặt.
Tầng điều khiển chuyển động
- Tính toán hướng và khoảng cách → tạo lệnh tốc độ.
Tầng động cơ
- Driver motor + điều khiển PWM + PID để xe chạy mượt.
Thiết bị chính:
- ESP32-CAM → camera + nhận diện khuôn mặt
- Arduino Uno → điều khiển động cơ
- L298N Motor Driver Module → driver motor
2. Sơ đồ hệ thống tối ưu
Camera (ESP32-CAM)
│
│ gửi vị trí khuôn mặt (x,y)
▼
Arduino
│
│ thuật toán PID
▼
Motor Driver
│
▼
Motor trái / phải
3. Nguyên lý bám theo “mượt”
Camera phát hiện khuôn mặt của bạn và trả về:
- x → vị trí ngang của bạn trong khung hình
- size → độ lớn khuôn mặt (tương đương khoảng cách)
Ví dụ:
frame width = 320px
center = 160
Sai lệch:
error = x - 160
Robot sẽ:
- error < 0 → rẽ trái
- error > 0 → rẽ phải
- error ≈ 0 → đi thẳng
4. Thuật toán PID (bí quyết chạy mượt)
Đây là phần quan trọng nhất.
PID giúp xe:
- không giật
- không lắc trái phải
- bám theo ổn định
Công thức:
output = Kp*error + Ki*sum_error + Kd*(error - last_error)
Trong đó:
| tham số | ý nghĩa |
|---|---|
| Kp | phản ứng nhanh |
| Ki | giữ ổn định |
| Kd | giảm rung |
Ví dụ giá trị:
Kp = 0.5
Ki = 0.02
Kd = 0.1
5. Điều khiển tốc độ motor
Arduino điều khiển tốc độ bằng PWM.
Ví dụ:
baseSpeed = 120
leftMotor = baseSpeed - output
rightMotor = baseSpeed + output
Khi bạn lệch trái:
- motor trái chậm
- motor phải nhanh
Xe sẽ quay về phía bạn rất mượt.
6. Giữ khoảng cách tự động
Dùng cảm biến:
- HC-SR04 Ultrasonic Sensor
Logic:
| khoảng cách | hành động |
|---|
150cm | tăng tốc |
80–150cm | tốc độ bình thường |
40–80cm | chậm |
<40cm | dừng |
7. Thuật toán hoàn chỉnh
Robot chạy vòng lặp:
1 đọc camera
2 nhận diện khuôn mặt
3 xác định vị trí x
4 tính error
5 PID control
6 điều chỉnh motor
7 đo khoảng cách
8 điều chỉnh tốc độ
Chu kỳ lặp:
20–30 lần / giây
Robot sẽ chạy rất mượt.
8. Thiết kế cơ khí tốt nhất
Để robot ổn định:
Khoảng cách bánh xe
15–20 cm
Đường kính bánh
6–8 cm
Camera đặt
cao 25 cm
nghiêng xuống 10°
9. Pin tốt nhất
Dùng:
2 × pin 18650
Điện áp:
7.4V
Thời gian chạy:
1.5 – 2 giờ
10. Nếu muốn robot “siêu thông minh”
Bạn có thể nâng cấp AI bằng:
- NVIDIA Jetson Nano
Jetson Nano có thể:
- nhận diện người
- tracking người
- tránh vật cản
- lập bản đồ
Robot sẽ giống robot giao hàng thật.
11. Chi phí
| linh kiện | giá |
|---|---|
| ESP32-CAM | ~120k |
| Arduino | ~120k |
| L298N | ~60k |
| motor | ~150k |
| khung xe | ~150k |
Tổng:
~600k – 700k
12. Bí mật để robot theo người cực mượt
Người mới thường không biết 3 điều này:
1️⃣ camera phải góc rộng 120°
2️⃣ motor phải là loại giảm tốc 1:48
3️⃣ PID phải chỉnh đúng
Nếu không robot sẽ lắc trái phải liên tục.
✅ Nếu bạn muốn, tôi có thể thiết kế cho bạn một bản robot cực đẹp và mạnh hơn nhiều:
- robot 4 bánh + treo giảm rung
- camera AI theo người cực chính xác
- tốc độ 1 m/s
Tôi cũng có thể vẽ cho bạn bản thiết kế robot hoàn chỉnh giống robot Tesla mini (rất dễ chế tạo). 🤖
Để lại một phản hồi