– mẫu tiêu thụ trung bình: 0.5A– dòng chờ: 0.06A– khoảng thời gian hoạt động: thường xuyên 3h trong điều kiện pin được sạc pin đầy– Trọng lượng: 500g


*
Sơ vật dụng đấu nối của full bộ tự làm cho xe 3 bánh tránh vật cản Arduino
Đấu dây tín hiệu

Chân trig của SR-04 = 7Chân echo của SR-04 = 4

Chân IN1 Module L298 = 13 // để kiểm soát và điều chỉnh hướng
Chân IN2 Module L298 = 12Chân IN3 Module L298 = 11Chân IN4 Module L298 = 10

Chân ENA Module L298 = 6 // để điều chỉnh tốc độ
Chân ENB Module L298 = 5

*
Sơ vật đấu nối của bộ combo tự làm xe 3 bánh tránh đồ vật cản Arduino

Video test


Code mẫu

#include //Servo motor library. This is standard library#include //Ultrasonic sensor function library. You must install this library//our L298N control pinsconst int Left
Motor
Forward = 13; // banh ben trai tienconst int Left
Motor
Backward = 12; // banh ben trai luiconst int Right
Motor
Forward = 11; // banh ben phai tienconst int Right
Motor
Backward = 10; // banh ben phai luiconst int ena = 6; const int enb = 5;//sensor pins SR04#define trig_pin 7 #define echo_pin 4#define maximum_distance 200boolean goes
Forward = false;int distance = 100;New
Ping
sonar(trig_pin, echo_pin, maximum_distance); //sensor functionServo servo_motor; //our servo namevoid setup()Serial.begin(9600); pin
Mode(Right
Motor
Forward, OUTPUT); pin
Mode(Left
Motor
Forward, OUTPUT); pin
Mode(Left
Motor
Backward, OUTPUT); pin
Mode(Right
Motor
Backward, OUTPUT); pin
Mode(ena, OUTPUT); pin
Mode(enb, OUTPUT); servo_motor.attach(9); //our servo sạc pin servo_motor.write(90); delay(2000); distance = read
Ping(); delay(100); distance = read
Ping(); delay(100); distance = read
Ping(); delay(100); distance = read
Ping(); delay(100); analog
Write(ena, 200); // chinh toc bởi vì dong teo ben trai analog
Write(enb, 200); // chinh toc bởi vì dong co ben traivoid loop() int distance
Right = 0; int distance
Left = 0; delay(50); if (distance = distance
Left) // neu vùng cach toi da >= vùng cach ben trai turn
Right(); //re phai move
Stop(); else // ko thi turn
Left(); // re trai move
Stop(); else move
Forward(); // ko phai 2 truong hop tren thi chay thang distance = read
Ping();}int look
Right() // nhin phai lay vùng cach servo_motor.write(10); delay(500); int distance = read
Ping(); delay(100); servo_motor.write(90); return distance;int look
Left() // nhin trai lai khoang cach servo_motor.write(170); delay(500); int distance = read
Ping(); delay(100); servo_motor.write(90); return distance; delay(100);int read
Ping() delay(70); int centimet = sonar.ping_cm(); if (cm==0) cm=250; return cm;void move
Stop() // dung lai digital
Write(Right
Motor
Forward, LOW); digital
Write(Left
Motor
Forward, LOW); digital
Write(Right
Motor
Backward, LOW); digital
Write(Left
Motor
Backward, LOW);void move
Forward() // di thang if(!goes
Forward) goes
Forward=true; digital
Write(Left
Motor
Forward, HIGH); digital
Write(Right
Motor
Forward, HIGH); digital
Write(Left
Motor
Backward, LOW); digital
Write(Right
Motor
Backward, LOW); void move
Backward() goes
Forward=false; digital
Write(Left
Motor
Backward, HIGH); digital
Write(Right
Motor
Backward, HIGH); digital
Write(Left
Motor
Forward, LOW); digital
Write(Right
Motor
Forward, LOW); void turn
Right() digital
Write(Left
Motor
Forward, HIGH); digital
Write(Right
Motor
Backward, HIGH); digital
Write(Left
Motor
Backward, LOW); digital
Write(Right
Motor
Forward, LOW); delay(300); digital
Write(Left
Motor
Forward, HIGH); digital
Write(Right
Motor
Forward, HIGH); digital
Write(Left
Motor
Backward, LOW); digital
Write(Right
Motor
Backward, LOW); void turn
Left() digital
Write(Left
Motor
Backward, HIGH); digital
Write(Right
Motor
Forward, HIGH); digital
Write(Left
Motor
Forward, LOW); digital
Write(Right
Motor
Backward, LOW); delay(300); digital
Write(Left
Motor
Forward, HIGH); digital
Write(Right
Motor
Forward, HIGH); digital
Write(Left
Motor
Backward, LOW); digital
Write(Right
Motor
Backward, LOW);

Ở bài bác trước shop chúng tôi đã phía dẫn các bạn chế tạo thành một loại xeđiều khiểntừ xa bởi Smartphone. Trong bài xích ngày hôm nay chúng tôi sẽ hướng dẫn chúng ta làm một cái xe gồm khả năngtự độngtránh trang bị cản. Nghe thôi đang thấy thú vui rồi yêu cầu không nào? chúng ta cùng hợp tác vào bài toán ngay thôi.

Bạn đang xem: Xe tự hành tránh vật cản


Chuẩn bị:

Một cỗ khung xerobot3 bánh

Một cảm biếnsiêu âm
SRF 04 hoặc SRF05

Một Broad Arduini UNO R3

Một module tinh chỉnh động cơ

Một Servo SG90

Khung đỡ cảm ứng siêu âm

Khung đỡ Servo

Dây nối đực-cái, mẫu -cái


*

Bước 1

*

Các bạn hàn dây cho mô tơ sau đó lắp ráp bộ khung xe pháo lại, phần lắp ráp này khá đối kháng giản.

*

Sau khi lắp ráp bộ khung với hàn dây mang lại mô tơ xong chúng ta sẽ được như vậy này

Bước 2

*

Tiếp theo chúng ta sẽ lắp bộ động cơ servo lên size xe. Các bạn dùng cỗ khung với ốc dành cho servo để cố định và thắt chặt lên khungrobot
Động cơ servo này còn có nhiệm vụ xoay cảm biến siêu âm sẽ giúp đỡ robot phạt hiện đồ vật cản ở các hướng.

*

Sau lúc đã thắt chặt và cố định Servo xong bọn họ lắp khung đỡ cảm biến siêu âm lên servo. Các chúng ta có thể dùng keo dán giấy nến nên dán phần size đỡ cảm ứng siêu âm này cùng với servo.

Bước 3

*

Do phải để module L293 lên Broad Arduino như thế này nên chúng ta sẽ bị thiếu chân cắn vào Arduino. Vị vậy họ phải hàn thêm chân kết nối ở bên trên L293

*

Trên module L293 đã gồm lỗ đợi sẵn các bạn chỉ việc đặt jump vào và sử dụng mỏ hàn lại.

Bước 4

*

Các bạn dán Broad Arduno UNO R3 lên khung robot

*

Sau đó để Module L293 lên trên.

Xem thêm: Mua Bán Xe Máy Suzuki Sport Xipo Giá Rẻ Tháng 03/2023, Cách Phân Biệt Các Đời Xe Su

Bước 5

*

*

Tiếp theo các bạn nối dây bộ động cơ vào cọc mét vuông và M4

*

Sau đó họ sẽ nối dây cho cảm biến siêu âm cùng Arduino

*

Dây GND nối cùng với GND, VCC nối cùng với 5V, Trig nối cùng với A0, Echo nối với A1

*

Và cuối cùng là nối dây mang lại Servo hoạt động. Chúng ta cắm dây của servo vào chân Jump gồm ghi SER1. Bên trên mạch có ghi các kí hiệu (- + và S, S là dây tín hiệu của servo) các bạn nhớ gặm cho đúng, dây biểu thị của servo thông thường sẽ có màu vàng cam.