1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo Cáo Vi Điều Khiển.pdf

31 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Báo Cáo Vi Điều Khiển
Tác giả Nguyễn Anh Hoàng, Hoàng Tiến Đạt, Mạc Như Hữu, Phan Bảo Khang, Lê Quốc Hưng, Nguyễn Nguyên Hậu, Trần Minh Quốc, Hồ Viết Quý, Uông Ngọc Thành, Nguyễn Hữu Thịnh
Người hướng dẫn ThS. Phan Thị Lan Anh
Trường học Trường Đại Học Công Nghệ Thông Tin Và Truyền Thông Việt - Hàn
Chuyên ngành Khoa Khoa Học Máy Tính
Thể loại báo cáo
Định dạng
Số trang 31
Dung lượng 1,31 MB

Nội dung

CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI1.1 Mục tiêu của đề tài Mục tiêu chính của đề tài này là nghiên cứu và phát triển ứng dụng của mạch nano trong lĩnh vực vi điều khiển và tự lái cho xe cánh ta

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

VÀ TRUYỀN THÔNG VIỆT - HÀN

KHOA KHOA HỌC MÁY TÍNH

BÁO CÁO

VI ĐIỀU KHIỂN

22IT.EB022 Hoàng Tiến Đạt – 22IT.EB012 Mạc Như Hữu – 22IT.EB037 Phan Bảo Khang – 22IT.EB038

Lê Quốc Hưng – 22IT.EB034

22IT.EB019 Trần Minh Quốc – 22IT.EB066

Hồ Viết Quý – 22IT.EB067 Uông Ngọc Thành – 22IT.EB071 Nguyễn Hữu Thịnh – 22IT.EB074

Giảng viên hướng dẫn: ThS Phan Thị Lan Anh

Trang 2

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

Trang 3

MỤC LỤC

LỜI CẢM ƠN i

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ii

MỤC LỤC iii

DANH MỤC HÌNH ẢNH iv

MỞ ĐẦU 1

1 Bố cục báo cáo 1

CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 2

1.1 Mục tiêu của đề tài 2

1.2 Lý do và ý nghĩa 2

1.3 Phạm vi nghiên cứu 2

1.4 Giới thiệu các công cụ xây dựng 2

1.4.1 Giới thiệu về Arduino nano 2

1.4.2 Giới thiệu về Arduino IDE 3

CHƯƠNG 2 PHÂN TÍCH VÀ TRIỂN KHAI 5

2.1 Xe dò line (tự hành) 5

2.1.1 Sơ đồ mạch 5

2.1.2 Lưu đồ thuật toán 6

2.1.3 Triển khai code 6

2.2 Xe điều khiển bluetooth 11

2.2.1 Sơ đồ mạch 11

2.2.2 Lưu đồ thuật toán 12

2.2.3 Triển khai code 15

Trang 4

DANH MỤC HÌNH ẢNH

Hình 2-1 Ảnh sơ đồ mạch xe dò line (tự hành) 5

Hình 2-2 Lưu đồ thuật toán xe dò line 6

Hình 2-3 Sơ đồ mạch xe điều khiển bluetooth 11

Hình 2-4 Lưu đồ thuật toán xe điều khiển bằng bluetooth 15

Trang 6

CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI

1.1 Mục tiêu của đề tài

Mục tiêu chính của đề tài này là nghiên cứu và phát triển ứng dụng của mạch nano trong lĩnh vực vi điều khiển và tự lái cho xe cánh tay robot Đề tài sẽ tập trung vào việc xây dựng các hệ thống điều khiển tự động thông qua sự kết hợp giữa các công nghệ vi điều khiển, xe tự hành và sử dụng mạch nano để nâng cao hiệu suất và tính linh hoạt của robot.

1.2 Lý do và ý nghĩa

- Với sự phát triển nhanh chóng của công nghệ, vi điều khiển và xe tự hành đang trở thành xu hướng tiềm năng trong ngành công nghiệp robot hóa Việc sử dụng mạch nano có thể giúp cải thiện hiệu suất và đáng tin cậy của hệ thống điều khiển, đồng thời tối ưu hóa hoạt động của robot và xe tự hành

- Mạch nano có khả năng tích hợp các chức năng phức tạp trong một không gian nhỏ gọn, mang lại lợi ích lớn cho việc phát triển robot và xe tự hành Sự kết hợp giữa công nghệ mạch nano và vi điều khiển giúp tăng cường khả năng xử lý, tương tác và đáp ứng nhanh của hệ thống

- Nghiên cứu này có ý nghĩa quan trọng trong việc ứng dụng robot và xe tự hành vào nhiều lĩnh vực, bao gồm sản xuất công nghiệp, y tế, nông nghiệp, giao thông vận tải và nhiều lĩnh vực khác Việc phát triển các hệ thống điều khiển thông minh và linh hoạt sẽ mang lại hiệu suất cao, tiết kiệm chi phí và tăng cường an toàn trong các ứng dụng thực tế.

1.4 Giới thiệu các công cụ xây dựng

1.4.1 Giới thiệu về Arduino nano

Arduino Nano là một bảng mạch điện tử có kích thước nhỏ chỉ bằng 1 nửa đồng

xu gấp lại, được phát triển dựa trên dựa trên ATmega328P phát hành vào năm 2008 và khá thân thiện với breadboard Arduino Nano cung cấp các kết nối và thông số kỹ thuật tương tự như bảng điện tử Arduino Uno nhưng với kích thước nhỏ gọn hơn rất nhiều Arduino Nano sở hữu chức năng tương tự như Arduino Duemilanove hay

Trang 7

Arduino UNO Sự khác biệt điển hình giữa chúng chính là dạng mạch Arduino Nano pinout được tích hợp vi điều khiển ATmega328P giống với Arduino UNO nhưng bảng UNO lại có dạng Plastic Dual-In-line Package PDIP với tổng số chân là 30, trong khi bảng Nano có sẵn trong Plastic Quad Flat Pack với 32 chân Điểm khác biệt tiếp theo

đó là bảng Nano có tới 8 cổng ADC còn bảng UNO có 6 cổng ADC Bên cạnh đó, bảng Nano không có giác nguồn DC như các bo mạch Arduino thông thường khác, thay vào đó chúng được trang bị cổng mini-USB cho phép vừa sử dụng trong lập trình vừa làm bộ giám sát nối tiếp.

Ưu điểm:

- Kích thước nhỏ gọn đến mức tối thiểu hỗ trợ Nano dễ dàng lắp đặt.

- Có thể linh hoạt lựa chọn công suất lớn nhất với hiệu điện thế của nó.

- Dễ dàng kết nối trực tiếp với các thiết bị máy tính.

- Lập trình đơn giản tiện dụng

Nhược điểm:

- Có giá thành hơi cao.

1.4.2 Giới thiệu về Arduino IDE

Arduino IDE là một phần mềm mã nguồn mở chủ yếu được sử dụng để viết và biên dịch mã vào module Arduino Đây là một phần mềm Arduino chính thức, giúp cho việc biên dịch mã trở nên dễ dàng mà ngay cả một người bình thường không có kiến thức kỹ thuật cũng có thể làm được Nó có các phiên bản cho các hệ điều hành như MAC, Windows, Linux và chạy trên nền tảng Java đi kèm với các chức năng và lệnh có sẵn đóng vai trò quan trọng để gỡ lỗi, chỉnh sửa và biên dịch mã trong môi trường Có rất nhiều các module Arduino như Arduino Uno, Arduino Mega, Arduino Leonardo, Arduino Micro và nhiều module khác Mỗi module chứa một bộ vi điều khiển trên bo mạch được lập trình và chấp nhận thông tin dưới dạng mã Mã chính, còn được gọi là sketch, được tạo trên nền tảng IDE sẽ tạo ra một file Hex, sau đó được chuyển và tải lên trong bộ điều khiển trên bo Môi trường IDE chủ yếu chứa hai phần

cơ bản: Trình chỉnh sửa và Trình biên dịch, phần đầu sử dụng để viết mã được yêu cầu

và phần sau được sử dụng để biên dịch và tải mã lên module Arduino Môi trường này

hỗ trợ cả ngôn ngữ C và C ++.

Ưu điểm:

- Phần mềm lập trình mã nguồn mở miễn phí.

- Hỗ trợ đa nền tảng như Windows, MacOS, Linux.

- Giao diện đơn giản, dễ sử dụng.

- Thư viện hỗ trợ phong phú.

- Cộng đồng hỗ trợ cực lớn đến từ cộng đồng Arduino có sẵn từ trước.

Trang 8

Nhược điểm:

- Không hỗ trợ nhiều ngôn ngữ lập trình khác nhau.

- Không có tính năng kiểm tra lỗi tốt.

Trang 9

CHƯƠNG 2 PHÂN TÍCH VÀ TRIỂN KHAI

2.1 Xe dò line (tự hành)

2.1.1 Sơ đồ mạch

Hình 2-1 Ảnh sơ đồ mạch xe dò line (tự hành)

5

Trang 10

2.1.2 Lưu đồ thuật toán

Hình 2-2 Lưu đồ thuật toán xe dò line

2.1.3 Triển khai code

// #include <Servo.h>

// Servo quay_truc;

// Servo nang_duoi;

// Servo tay_kep;

//const int motorA1 = 14;

//const int motorA2 = 12;

//const int motorB1 = 26;

//const int motorB2 = 27;

// int Robot_stop_distance = 10;// Khoa+ng cách phát hiện vật ca+n

// //Kế0t nố0i SRF 04

// const int trigPin = 3; // kế0t nố0i chân trig với chân 12 arduino// const int echoPin = 2; // kế0t nố0i chân echo với chân 13 arduino//const int COI = 2;

const int motorA1 = ;3

const int motorA2 = ;5

6

Trang 11

const int motorB2 = ;9

//const int Pin_ss1 = 2;

//const int Pin_ss2 = 3;

//const int Pin_ss3 = 16;

//const int Pin_ss4 = 17;

//const int Pin_ss5 = 5;

const int Pin_ss1 = A4;

const int Pin_ss2 = A3;

const int Pin_ss3 = A2;

const int Pin_ss4 = A1;

const int Pin_ss5 = A0;

pinMode(motorA1, OUTPUT);

pinMode(motorA2, OUTPUT);

pinMode(motorB1, OUTPUT);

pinMode(motorB2, OUTPUT);

pinMode(Pin_ss1, INPUT); //Set chân ca+m biế0n 1 là input

pinMode(Pin_ss2, INPUT); //Set chân ca+m biế0n 2 là input

pinMode(Pin_ss3, INPUT); //Set chân ca+m biế0n 3 là input

pinMode(Pin_ss4, INPUT); //Set chân ca+m biế0n 4 là input

pinMode(Pin_ss5, INPUT); //Set chân ca+m biế0n 4 là input

Trang 16

// if ((ss1 == 1) && (ss2 == 1) && (ss3 == 1) && (ss4 == 1) && (ss5 == 0)) {

Trang 17

// if ((ss1 == 0) && (ss2 == 1) && (ss3 == 1) && (ss4 == 1) && (ss5 == 1)) {

Trang 18

if ((ss1 == ) && (ss2 == ) && (ss3 == ) && (ss4 == ) && (ss5 == 0 0 0 0 1)){

Trang 21

điế[u chỉ+nh thống số0 này sao cho phù hợp với thực tế0)

// if (((ss1 == 0) && (ss2 == 0) && (ss3 == 0) && (ss4 == 0) && (ss5

== 1)) || ((ss1 == 0) && (ss2 == 0) && (ss3 == 1) && (ss4 == 0) && (ss5

17

Trang 24

2.2.2 Lưu đồ thuật toán

21

Trang 25

Hình 2-4 Lưu đồ thuật toán xe điều khiển bằng bluetooth

2.2.3 Triển khai code

Trang 26

const int motorA1 = 3 // Pin 6 of L298.

const int motorA2 = 5 // Pin 7 of L298

const int motorB1 = 6 // Pin 9 of L298

const int motorB2 = 9 // Pin 10 of L298

const int buzzer = 4 ;

const int led = ; 2

pinMode(motorA1, OUTPUT);

pinMode(motorA2, OUTPUT);

pinMode(motorB1, OUTPUT);

pinMode(motorB2, OUTPUT);

pinMode(buzzer, OUTPUT);

pinMode(led, OUTPUT);

digitalWrite(led, LOW);

Serial begin (9600);

25

Trang 27

Serial println ("OK");

}

voidloop() {

if(Serial available ())

{

state = Serial.read();

Serial println (state);

Trang 28

//else if (state == 'u') {

analogWrite(motorB1, vSpeed);

analogWrite(motorA1, vSpeed);

analogWrite(motorA2, 0);

analogWrite(motorB2, 0);

}

27

Trang 29

analogWrite(motorB2, vSpeed);

analogWrite(motorA2, vSpeed);}

Trang 30

if(DOF_C==1) {

step_quay_truc++;delay( );5

if(step_quay_truc>120) step_quay_truc=120; quay_truc write (step_quay_truc);

}

else {

analogWrite(motorA1, 0);

analogWrite(motorA2, vSpeed);

analogWrite(motorB1, vSpeed);

Trang 31

}

}

30

Ngày đăng: 19/12/2024, 21:46

w