[ccpw id="5"]

HomeCông NghệHướng dẫn làm robot tự tránh vật cản sử dụng cảm biến...

Hướng dẫn làm robot tự tránh vật cản sử dụng cảm biến siêu âm

-

Ở bài trước chúng tôi đã hướng dẫn các bạn cách chế tạo ô tô điều khiển từ xa bằng Smartphone. Trong bài viết hôm nay chúng tôi sẽ hướng dẫn các bạn làm một chiếc ô tô có khả năng tự động tránh chướng ngại vật. Nghe đã thú vị rồi phải không? Bắt tay vào làm ngay thôi.

Bạn Đang Xem: Hướng dẫn làm robot tự tránh vật cản sử dụng cảm biến siêu âm


Bạn Đang Xem: Hướng dẫn làm robot tự tránh vật cản sử dụng cảm biến siêu âm

Chuẩn bị:

Bộ khung robot 3 bánh

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

Một Arduini UNO R3 rộng

Một mô-đun điều khiển động cơ

Một Servo SG90

Khung cảm biến siêu âm

Khung hỗ trợ Servo

Dây nam-nữ, dây nữ-nữ

Hướng dẫn chế tạo rô bốt tránh chướng ngại vật

Bước 1

Hướng dẫn chế tạo rô bốt tránh chướng ngại vật

Bạn hàn dây vào mô tơ rồi lắp ráp khung xe, việc lắp ráp này khá đơn giản.

Hướng dẫn chế tạo rô bốt tránh chướng ngại vật

Sau khi lắp ráp khung và hàn các dây vào động cơ, chúng ta sẽ có một thứ như thế này

Bước 2

Hướng dẫn chế tạo rô bốt tránh chướng ngại vật

Tiếp theo chúng ta sẽ lắp động cơ servo vào khung máy. Bạn dùng khung và vít cho servo để cố định vào khung robot Động cơ servo này có nhiệm vụ quay cảm biến siêu âm giúp robot phát hiện chướng ngại vật ở mọi hướng.

Hướng dẫn chế tạo rô bốt tránh chướng ngại vật

Sau khi cố định Servo, chúng ta lắp khung đỡ cảm biến siêu âm vào servo. Bạn có thể dùng keo nến để dán giá đỡ cảm biến siêu âm này với servo.

Bước 3

Hướng dẫn chế tạo rô bốt tránh chướng ngại vật

Vì chúng ta phải đặt mô-đun L293 trên Broad Arduino như thế này, chúng ta sẽ thiếu chân Arduino. Vì vậy chúng ta phải hàn thêm chân trên L293

Hướng dẫn chế tạo rô bốt tránh chướng ngại vật

Trên mô-đun L293 có một lỗ chờ bạn chỉ việc đặt dây nhảy vào và sử dụng mỏ hàn.

Bước 4

Hướng dẫn chế tạo rô bốt tránh chướng ngại vật

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

Hướng dẫn chế tạo rô bốt tránh chướng ngại vật

Sau đó đặt Mô-đun L293 lên trên cùng.

Bước 5

Hướng dẫn chế tạo rô bốt tránh chướng ngại vật

Hướng dẫn chế tạo rô bốt tránh chướng ngại vật

Tiếp theo, bạn kết nối dây động cơ với M2 và M4. cọc

Hướng dẫn chế tạo rô bốt tránh chướng ngại vật

Sau đó, chúng tôi sẽ kết nối cảm biến siêu âm và Arduino

Hướng dẫn chế tạo rô bốt tránh chướng ngại vật

Dây GND kết nối với GND, VCC kết nối với 5V, Trig kết nối với A0, Echo kết nối với A1

Hướng dẫn chế tạo rô bốt tránh chướng ngại vật

Và cuối cùng là đấu dây cho Servo hoạt động. Bạn cắm dây của servo vào chân Jump có ghi SER1. 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ớ cắm cho chính xác, dây tín hiệu của servo thường có màu vàng cam.

Bước 6

Hướng dẫn chế tạo rô bốt tránh chướng ngại vật

Bạn hàn dây cho công tắc.

Hướng dẫn chế tạo rô bốt tránh chướng ngại vật

Sau đó đặt nó vào rãnh chờ trên khung.

Bước 7

Hướng dẫn chế tạo rô bốt tránh chướng ngại vật

Dán pin vào khung robot và tiến hành đấu dây. Bạn có thể sử dụng 4 pin tiểu 1.5V đi kèm khi mua khung, hoặc mua 2 cell pin 18650 như thế này để có thể sạc lại sau khi hết pin.

Hướng dẫn chế tạo rô bốt tránh chướng ngại vật

Bây giờ bạn kết nối dây âm của pin (dây đen) với chân GND trên mô-đun L293. Dây dương còn lại của pin bạn đấu vào một đầu của công tắc. Đầu còn lại của công tắc bạn kết nối với chân M + trên L293. Mô-đun

Bước 8

Vì Arduino không có sẵn thư viện NewPing và thư viện AFMotor nên chúng ta cần thêm nó vào Arduino.

Bạn tải thư viện NewPing tại đây và thư viện AFMotor tại đây

Sau khi thêm thư viện, hãy sao chép mã này vào Arduino trên máy tính của bạn

#bao gồm

#bao gồm

#bao gồm

#define TRIG_PIN A0

#define ECHO_PIN A1

#define MAX_DISTANCE_POSSIBLE 1000

#define MAX_SPEED 150

# xác định MOTORS_CALIBRATION_OFFSET 3

Xem Thêm : Pin Máy Khoan 12V và Những tiện ích vượt trội của Pin máy khoan

#define COLL_DIST 20

#define TURN_DIST COLL_DIST 10

Sonar NewPing (TRIG_PIN, ECHO_PIN, MAX_DISTANCE_POSSIBLE);

AF_DCMotor leftMotor (4, MOTOR12_8KHZ);

AF_DCMotor rightMotor (2, MOTOR12_8KHZ);

Cổ ServoControllerServoMotor;

int pos = 0;

int maxDist = 0;

int maxAngle = 0;

int maxRight = 0;

int maxLeft = 0;

int maxFront = 0;

int khóa học = 0;

int curDist = 0;

String motorSet = “”;

int speedSet = 0;

void setup () {

cổControllerServoMotor.attach (10);

cổControllerServoMotor.write (90);

chậm trễ (2000);

checkPath ();

motorSet = “FORWARD”;

cổControllerServoMotor.write (90);

tiến về phía trước();

}

void loop () {

checkForward ();

checkPath ();

}

void checkPath () {

int curLeft = 0;

int curFront = 0;

int curRight = 0;

int curDist = 0;

cổControllerServoMotor.write (144);

chậm trễ (120);

cho (pos = 144; pos> = 36; pos- = 18)

{

cổControllerServoMotor.write (pos);

chậm trễ (90);

checkForward ();

curDist = readPing ();

if (curDist

checkCourse ();

phá vỡ;

}

if (curDist

thay đổi lộ trình();

}

if (curDist> curDist) {maxAngle = pos;}

if (pos> 90 && curDist> curLeft) {curLeft = curDist;}

if (pos == 90 && curDist> curFront) {curFront = curDist;}

if (pos < 90 && curDist > curRight) {curRight = curDist;}

}

maxLeft = curLeft;

maxRight = curRight;

maxFront = curFront;

}

void setCourse () {

if (maxAngle <90) {turnRight ();}

if (maxAngle> 90) {turnLeft ();}

maxLeft = 0;

maxRight = 0;

maxFront = 0;

}

void checkCourse () {

Xem Thêm : Trẻ mấy tháng tuổi được ngồi xe tròn tập đi, cần lưu ý những gì?

moveBackward ();

chậm trễ (500);

moveStop ();

setCourse ();

}

void changePath () {

if (pos <90) {lookLeft ();}

if (pos> 90) {lookRight ();}

}

int readPing () {

chậm trễ (70);

unsigned int uS = sonar ping ();

int cm = uS / US_ROUNDTRIP_CM;

trả lại cm;

}

void checkForward () {if (motorSet == “FORWARD”) {leftMotor.run (FORWARD); rightMotor.run (FORWARD); }}

void checkBackward () {if (motorSet == “BACKWARD”) {leftMotor.run (BACKWARD); rightMotor.run (PHẦN THƯỞNG); }}

void moveStop () {leftMotor.run (RELEASE); rightMotor.run (RELEASE);}

void moveForward () {

motorSet = “FORWARD”;

leftMotor.run (FORWARD);

rightMotor.run (FORWARD);

cho (speedSet = 0; speedSet

{

leftMotor.setSpeed ​​(speedSet MOTORS_CALIBRATION_OFFSET);

rightMotor.setSpeed ​​(speedSet);

chậm trễ (5);

}

}

void moveBackward () {

motorSet = “BACKWARD”;

leftMotor.run (PHẦN THƯỞNG);

rightMotor.run (PHẦN THƯỞNG);

cho (speedSet = 0; speedSet

{

leftMotor.setSpeed ​​(speedSet MOTORS_CALIBRATION_OFFSET);

rightMotor.setSpeed ​​(speedSet);

chậm trễ (5);

}

}

void turnRight () {

motorSet = “RIGHT”;

leftMotor.run (FORWARD);

rightMotor.run (PHẦN THƯỞNG);

chậm trễ (400);

motorSet = “FORWARD”;

leftMotor.run (FORWARD);

rightMotor.run (FORWARD);

}

void turnLeft () {

motorSet = “LEFT”;

leftMotor.run (PHẦN THƯỞNG);

rightMotor.run (FORWARD);

chậm trễ (400);

motorSet = “FORWARD”;

leftMotor.run (FORWARD);

rightMotor.run (FORWARD);

}

void lookRight () {rightMotor.run (BACKWARD); chậm trễ (400); rightMotor.run (FORWARD);}

void lookLeft () {leftMotor.run (BACKWARD); chậm trễ (400); leftMotor.run (FORWARD);}

Hướng dẫn chế tạo rô bốt tránh chướng ngại vật

Nhấp vào biểu tượng V để dịch mã

Hướng dẫn chế tạo rô bốt tránh chướng ngại vật

Bấm vào biểu tượng mũi tên để tải mã

Vậy là chúng ta đã hoàn thành. Đây là kết quả của chúng tôi.

Hướng dẫn chế tạo rô bốt tránh chướng ngại vật

Nguồn: https://360share.net
Danh mục: Công Nghệ

LEAVE A REPLY

Please enter your comment!
Please enter your name here

LATEST POSTS

Bộ lọc Nanoe-X giúp lọc bụi tối ưu trên máy lạnh Panasonic

Nhằm nâng cao chất lượng không khí, Panasonic đã đưa công nghệ Nanoe...

Thể lệ chương trình “MỜI BẠN MỞ TIẾT KIỆM NGAY – QUÀ TẶNG HẤP DẪN VỀ TAY”

1. Tên chương trình: HÃY MỞ LƯU NGAY - QUÀ HẤP DẪN TRONG TAY2. Thời gian: Từ ngày 15 tháng 12 năm 2021 đến hết...

Làm sao biết ai chuyển tiền cho mình nhanh chóng nhất?

Hiện nay, việc chuyển tiền qua Mobile / Internet Banking vô cùng phổ biến vì tính tiện lợi của nó. Tuy nhiên, đôi khi...

Cách kiểm tra chi nhánh ngân hàng online qua website và điện thoại

Bạn mở tài khoản tại ngân hàng đã lâu nhưng quên mất chi nhánh ngân hàng. Những lúc cần sử dụng những thông tin...

Follow us

0FansLike
3,357FollowersFollow
0SubscribersSubscribe

Most Popular

spot_img