Bài 30/31: Dò line Car-8 bằng Smart Car từ Bộ kit Arduino SunFounder | Robojax
Hướng dẫn này sẽ hướng dẫn bạn cách chế tạo một chiếc xe thông minh dò line sử dụng bộ kit SunFounder 3-trong-1 Arduino.
Dự án được trình bày trong video sử dụng mô-đun dò line hồng ngoại để phát hiện vạch đen trên bề mặt trắng và điều khiển hai động cơ để giữ cho xe đi đúng đường. Đây là một dự án robot cơ bản giúp bạn học về đọc cảm biến, logic điều kiện và điều khiển động cơ. Giá trị thực tế là rất lớn—đây là nền tảng cho các phương tiện dẫn đường tự động (AGV) trong nhà kho, robot hút bụi tự động bám theo mép phòng, và các nền tảng giáo dục để học về điều hướng tự động. Ngoài phần lắp ráp cơ bản, bạn có thể sử dụng khái niệm này để:

- Tạo một robot đơn giản có thể di chuyển theo một đường đi định sẵn trong mê cung hoặc trên đường đua.
- Chế tạo một xe đẩy giao hàng tự động cho văn phòng hoặc phòng thí nghiệm nhỏ.
- Phát triển robot dò line cho dự án khoa học hoặc cuộc thi ở trường.
- Tạo nguyên mẫu hệ thống cho băng chuyền công nghiệp phân loại vật phẩm dựa trên vị trí.
Phần cứng và Linh kiện
Cốt lõi của dự án này là mô-đun dò line, sử dụng cặp phát và thu hồng ngoại (IR). Dưới đây là chi tiết về các linh kiện chính:
- Mô-đun dò line (TCRT5000): Cảm biến này phát ra ánh sáng hồng ngoại và đo cường độ phản xạ. Mô-đun bao gồm bộ so sánh LM393 để chuyển đổi tín hiệu analog thành đầu ra kỹ thuật số HIGH hoặc LOW.
- Khung xe thông minh với động cơ: Bộ kit SunFounder bao gồm khung xe với hai động cơ có hộp số, được điều khiển bởi Arduino để lái xe.
- Bo mạch Arduino: "Bộ não" của hoạt động, đọc cảm biến và gửi lệnh đến động cơ.
- Trình điều khiển động cơ (trên shield của xe): Mạch này cho phép các chân công suất thấp của Arduino điều khiển các động cơ có dòng điện cao hơn.
Hướng dẫn Đấu dây
Việc đấu dây cho mô-đun dò line khá đơn giản. Video trình bày các kết nối như sau (trong video tại 04:04):
- Chân VCC của bộ dò line (chân giữa): Kết nối với chân 5V của Arduino.
- Chân GND của bộ dò line (chân trái): Kết nối với chân GND của Arduino.
- Chân OUT của bộ dò line (chân phải): Kết nối với chân kỹ thuật số số 2 của Arduino.
Các động cơ được kết nối với trình điều khiển động cơ trên shield của xe. Trong mã, động cơ bên phải được điều khiển bởi các chân 5 và 6, và động cơ bên trái bởi các chân 9 và 10, như được trình bày trong video (trong video tại 12:28).
Giải thích Mã
Mã được thiết kế để đọc tín hiệu kỹ thuật số từ bộ dò line và điều khiển động cơ tương ứng. Dưới đây là các phần chính mà người dùng có thể tùy chỉnh:
const int in1 = 5; // in1,2 cho động cơ bên phải
const int in2 = 6;
const int in3 = 9; // in3,4 cho động cơ bên trái
const int in4 = 10;
const int lineTrack = 2;
- Chân động cơ (in1, in2, in3, in4): Các hằng số này xác định chân Arduino nào được kết nối với trình điều khiển động cơ. Nếu cách đấu dây của bạn khác, bạn cần thay đổi các giá trị này cho phù hợp với thiết lập của mình.
- Chân bộ dò line (lineTrack): Điều này xác định chân kỹ thuật số được kết nối với đầu ra tín hiệu của cảm biến. Mã đọc chân này để xác định xem cảm biến đang ở trên bề mặt đen hay trắng.
Trong vòng lặp chính, bạn có thể điều chỉnh biến speed để kiểm soát tốc độ quay của xe. Giá trị nằm trong khoảng từ 0 đến 255, trong đó giá trị cao hơn làm cho xe quay nhanh hơn.
int speed = 150;//0 đến 255
Logic rất đơn giản: nếu cảm biến đọc được HIGH (vạch đen), xe rẽ trái; nếu không, xe rẽ phải. Các hàm tùy chỉnh moveLeft() và moveRight() điều khiển động cơ để thực hiện điều này. Ví dụ, để rẽ trái, động cơ bên phải quay trong khi động cơ bên trái dừng lại, làm cho xe xoay. Hành vi này được giải thích chi tiết trong video (trong video tại 10:39).
Đặt bộ dò line trên vạch đen. Đồng thời điều chỉnh độ nhạy.
Trình diễn Dự án Trực tiếp
Video kết thúc với phần trình diễn trực tiếp chiếc xe dò line (trong video tại 13:13). Chiếc xe được đặt trên một đường đua màu đen, và cảm biến được đặt trực tiếp trên vạch. Khi xe di chuyển, cảm biến phát hiện vạch đen và nền trắng, gửi tín hiệu đến động cơ để điều chỉnh hướng. Phần trình diễn cho thấy chiếc xe hoàn thành một vòng tròn đầy đủ, chứng minh hiệu quả của logic hiệu chỉnh trái/phải đơn giản.
Các Chương
- [00:00] Giới thiệu về theo dõi đường line
- [01:09] Cách hoạt động của mô-đun theo dõi đường line
- [04:04] Đấu dây mô-đun theo dõi đường line
- [04:23] Kiểm tra cảm biến với màn hình nối tiếp
- [07:27] Hiểu logic đi theo đường line
- [09:08] Mã code cho xe đi theo đường line
- [11:37] Trình diễn xe đi theo đường line
- [13:13] Kiểm tra thực tế trên đường đua màu đen
/*
this is code for the tutorial: Lesson 30/31: Car-8 Line Tracking by Smart Car from SunFounder Arduino Kit
YouTube video: https://www.youtube.com/watch?v=Cp2rD5RkYug
Get the code from: 📚⬇️ Download and resource page https://robojax.com/RJT613
www.robojax.com
*/
const int in1 = 5; // in1,2 for right motor
const int in2 = 6;
const int in3 = 9; // in3,4 for left motor
const int in4 = 10;
const int lineTrack = 2;
void setup() {
Serial.begin(9600);
//motor
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
//line track
pinMode(lineTrack, INPUT);
}
void loop() {
int speed = 150;//0 to 255
int lineColor = digitalRead(lineTrack); // 0:white 1:black
// Serial.println(lineColor); //print on the serial monitor
if (lineColor) {
Serial.print("Black ");
moveLeft(speed);
} else {
Serial.print("White ");
moveRight(speed);
}
}
void moveLeft(int speed) {
Serial.println("LEFT");
analogWrite(in1, 0);
analogWrite(in2, speed);
analogWrite(in3, 0);
analogWrite(in4, 0);
}
void moveRight(int speed) {
Serial.println("RIGHT");
analogWrite(in1, 0);
analogWrite(in2, 0);
analogWrite(in3, speed);
analogWrite(in4, 0);
}
Common Course Links
Common Course Files
Tài nguyên & tài liệu tham khảo
Chưa có tài nguyên nào.
Tập tin📁
Không có tệp nào khả dụng.