Mục lục:

Cách tạo một robot thông minh bằng Arduino: 4 bước
Cách tạo một robot thông minh bằng Arduino: 4 bước

Video: Cách tạo một robot thông minh bằng Arduino: 4 bước

Video: Cách tạo một robot thông minh bằng Arduino: 4 bước
Video: Để làm được Robot thì cần trang bị những gì ??? 2024, Tháng mười một
Anonim
Image
Image

xin chào,

Tôi là nhà sản xuất arduino và trong hướng dẫn này, tôi sẽ chỉ cho bạn cách tạo rô bốt thông minh bằng arduino

nếu bạn thích hướng dẫn của tôi thì hãy xem xét hỗ trợ kênh youtube của tôi có tên là nhà sản xuất arduino

Quân nhu

NHỮNG ĐIỀU BẠN SẼ CẦN:

1) arduino una

2) cảm biến siêu âm

3) Bo động cơ

4) bánh xe

5) kem que

6) pin 9v

Bước 1: KẾT NỐI

KEO TẤT CẢ CÁC LINH KIỆN TẬN NƠI
KEO TẤT CẢ CÁC LINH KIỆN TẬN NƠI

Sau khi, nhận được tất cả các nguồn cung cấp, bây giờ bạn nên bắt đầu kết nối tất cả mọi thứ theo sơ đồ mạch đã cho ở trên

Bước 2: KEO TẤT CẢ CÁC LINH KIỆN TẬN NƠI

VÂNG,

bây giờ kết nối tất cả những thứ tại chỗ như trong hình trên

Bước 3: LẬP TRÌNH

Bây giờ,

bắt đầu lập trình bảng với mã cho sẵn bên dưới

// ARDUINO OBSTACLE TRÁNH XE //// Trước khi tải mã lên, bạn phải cài đặt thư viện cần thiết // // Thư viện AFMotor https://learn.adafruit.com/adafruit-motor-shield/library-install // // Thư viện NewPing https://github.com/livetronic/Arduino-NewPing// // Thư viện Servo https://github.com/arduino-libraries/Servo.git // // Để cài đặt các thư viện, hãy xem bản phác thảo >> Bao gồm Thư viện >> Thêm tệp. ZIP >> Chọn tệp ZIP đã tải xuống từ các liên kết trên //

#bao gồm

#bao gồm

#bao gồm

#define TRIG_PIN A0

#define ECHO_PIN A1 #define MAX_DISTANCE 200

#define MAX_SPEED 150 // đặt tốc độ của động cơ DC

#define MAX_SPEED_OFFSET 20

Sonar NewPing (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);

AF_DCMotor động cơ1 (1, MOTOR12_1KHZ);

// AF_DCMotor motor2 (2, MOTOR12_1KHZ); // AF_DCMotor motor3 (3, MOTOR34_1KHZ); AF_DCMotor động cơ4 (4, MOTOR34_1KHZ); Servo myservo;

boolean goForward = false;

int khoảng cách = 100; int speedSet = 0;

void setup () {

myservo.attach (10);

myservo.write (115); chậm trễ (1000); khoảng cách = readPing (); chậm trễ (100); khoảng cách = readPing (); chậm trễ (100); khoảng cách = readPing (); chậm trễ (100); khoảng cách = readPing (); chậm trễ (100); }

void loop () {

int khoảng cáchR = 0; int khoảng cáchL = 0; chậm trễ (40); if (khoảng cách <= 15) {moveStop (); chậm trễ (100); moveBackward (); chậm trễ (300); moveStop (); chậm trễ (200); khoảng cáchR = lookRight (); chậm trễ (300); khoảng cáchL = lookLeft (); chậm trễ (300);

nếu (khoảng cáchR> = khoảng cáchL)

{ rẽ phải(); moveStop (); } else {turnLeft (); moveStop (); }} else {moveForward (); } khoảng cách = readPing (); }

int lookRight ()

{myservo.write (50); chậm trễ (650); int khoảng cách = readPing (); chậm trễ (100); myservo.write (115); khoảng cách trở lại; }

int lookLeft ()

{myservo.write (170); chậm trễ (650); int khoảng cách = readPing (); chậm trễ (100); myservo.write (115); khoảng cách trở lại; chậm trễ (100); }

int readPing () {

chậm trễ (70); int cm = sonar.ping_cm (); nếu (cm == 0) {cm = 250; } trả về cm; }

void moveStop () {

motor1.run (RELEASE); //motor2.run(RELEASE); //motor3.run(RELEASE); motor4.run (RELEASE); } void moveForward () {

if (! goForward)

{goForward = true; motor1.run (FORWARD); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (FORWARD); for (speedSet = 0; speedSet <MAX_SPEED; speedSet + = 2) // từ từ đưa tốc độ lên để tránh nạp pin xuống quá nhanh {motor1.setSpeed (speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed (speedSet); chậm trễ (5); }}}

void moveBackward () {

goForward = false; motor1.run (PHẦN THƯỞNG); //motor2.run(BACKWARD); //motor3.run(BACKWARD); motor4.run (PHẦN THƯỞNG); for (speedSet = 0; speedSet <MAX_SPEED; speedSet + = 2) // từ từ đưa tốc độ lên để tránh nạp pin xuống quá nhanh {motor1.setSpeed (speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed (speedSet); chậm trễ (5); }}

void turnRight () {

motor1.run (PHẦN THƯỞNG); //motor2.run(BACKWARD); //motor3.run(FORWARD); motor4.run (FORWARD); chậm trễ (350); motor1.run (FORWARD); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (FORWARD); } void turnLeft () {motor1.run (FORWARD); //motor2.run(FORWARD); //motor3.run(BACKWARD); motor4.run (PHẦN THƯỞNG); chậm trễ (350); motor1.run (FORWARD); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (FORWARD); }

Đề xuất: