Bộ xe dò line arduino

Thương hiệu : Khác

Giá

:

450,000đ


Share:

Đang cập nhật

Miễn phí vận chuyển với đơn hàng lớn hơn 1.000.000 đ

Giao hàng ngay sau khi đặt hàng (áp dụng với TP. HCM)

Đổi trả trong 3 ngày, thủ tục đơn giản

Nhà cung cấp xuất hóa đơn cho sản phẩm này

 
Sản phẩm bao gồm
1 Khung xe 
1 mạch điều khiển động cơ L298N
1 mạch arduino chip dán R3
2 cảm biến dò line 
1 đế pin 
2 viên pin 18650 
Dây cắm jumper kết nối 

Bo-xe-do-line-arduino_Ảnh màn hình 2025-09-27 lúc 15.24.29.png

Cách nối dây nguồn pin vào L298 , arduino, cảm biến dò line đơn ,động cơ .

Nối cực dương của nguồn pin vào +12V của L298N

Nối chung cực âm của nguồn pin ,GND của Arduino , GND của 3 cảm biến đơn dò line vào GND của L298N.

Nối chung cực dương Vin của Arduino, Vin của 3 cảm biến dò line  vào +5V của L298N .

 

2. Kết nối L298N ↔ Arduino

Bo-xe-do-line-arduino_Xe-do-line-tranh-vat-can-arduino-tu-lap-_z7054292726447_87bdb73fd6f4b84a7f81d4a16b4e328a-2-1.jpg
L298NArduino Uno
IN1D8
IN2D9
IN3D10
IN4D11
ENAD5 (PWM)
ENBD6 (PWM)
OUT1/OUT2Motor trái
OUT3/OUT4Motor phải

3. Cảm biến dò line (IR Sensor)

Cảm biếnDigital → Arduino  
Trái (LS)D2  
Giữa (MS)D3  
Phải (RS)D4  

 

 

 

 

Code:

// --- KHAI BÁO CHÂN ---
#define LS 2   // Left Sensor
#define MS 3   // Middle Sensor
#define RS 4   // Right Sensor

#define IN1 8
#define IN2 9
#define IN3 10
#define IN4 11
#define ENA 5   // PWM Motor A (trái)
#define ENB 6   // PWM Motor B (phải)

// --- TỐC ĐỘ ĐỘNG CƠ ---
int baseSpeed = 150;    // tốc độ chuẩn (0-255)
int turnSpeed = 120;    // tốc độ khi rẽ

void setup() {
 pinMode(LS, INPUT);
 pinMode(MS, INPUT);
 pinMode(RS, INPUT);

 pinMode(IN1, OUTPUT);
 pinMode(IN2, OUTPUT);
 pinMode(IN3, OUTPUT);
 pinMode(IN4, OUTPUT);

 pinMode(ENA, OUTPUT);
 pinMode(ENB, OUTPUT);

 stopMotor();
}

// --- CÁC HÀM ĐIỀU KHIỂN ---
void forward() {
 analogWrite(ENA, baseSpeed);
 analogWrite(ENB, baseSpeed);
 digitalWrite(IN1, HIGH);
 digitalWrite(IN2, LOW);
 digitalWrite(IN3, HIGH);
 digitalWrite(IN4, LOW);
}

void left() {
 analogWrite(ENA, turnSpeed);
 analogWrite(ENB, turnSpeed);
 digitalWrite(IN1, LOW);
 digitalWrite(IN2, HIGH);
 digitalWrite(IN3, HIGH);
 digitalWrite(IN4, LOW);
}

void right() {
 analogWrite(ENA, turnSpeed);
 analogWrite(ENB, turnSpeed);
 digitalWrite(IN1, HIGH);
 digitalWrite(IN2, LOW);
 digitalWrite(IN3, LOW);
 digitalWrite(IN4, HIGH);
}

void stopMotor() {
 analogWrite(ENA, 0);
 analogWrite(ENB, 0);
 digitalWrite(IN1, LOW);
 digitalWrite(IN2, LOW);
 digitalWrite(IN3, LOW);
 digitalWrite(IN4, LOW);
}

// --- VÒNG LẶP CHÍNH ---
void loop() {
 int ls = digitalRead(LS);
 int ms = digitalRead(MS);
 int rs = digitalRead(RS);

 // cảm biến ra LOW khi gặp vạch đen
 if (ms == LOW && ls == HIGH && rs == HIGH) {
   forward();       // đi thẳng
 }
 else if (ls == LOW && ms == HIGH) {
   left();          // rẽ trái
 }
 else if (rs == LOW && ms == HIGH) {
   right();         // rẽ phải
 }
 else if (ls == LOW && ms == LOW && rs == LOW) {
   forward();       // trường hợp cả 3 thấy line => đi thẳng
 }
 else {
   stopMotor();     // mất line => dừng
 }
}
 

Chưa có mô tả cho sản phẩm này
Product category