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

báo cáo cuối kì học phần lập trình căn bản điện tử tên đề tài thiết kế và chế tạo xe tự hành

14 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

Bảng phân chia công việc1 PHẠM THANH TÙNGLập ý tưởng thực hiện project Nội dung 1: Lập trình thu thập dữ liệu cảm biến LM35Edit videoViết báo cáo nội dung 1Nội dung 3: Lập trình hiể

Trang 1

TRƯỜNG ĐẠI HỌC PHENIKAAKHOA ĐIỆN – ĐIỆN TỬ

BÁO CÁO CUỐI KÌ

Học phần Lập Trình Căn Bản – Điện Tử

Tên đề tài: Thiết kế và chế tạo xe tự hành

Sinh viên thực hiện:

Phạm Thanh Tùng MSSV: 22010907 Lớp: K16AI&RB

Trang 2

Mức độ đạt chuẩn quy định

Điểm 6.9)

(5.5-Điểm 8.4)

(7.0-Điểm 10)

(8.5-Ý tưởng(CĐR 1.1)

Không có ýtưởng cụ thể

Ý tưởngchưa rõ ràng

Có ý tưởngcụ thể

Ý tưởng cóđiểm mới

Ý tưởng cótính cải tiến

rõ ràng

Quyển báocáo (CĐR

Không đạt vềmặt hìnhthức theo

Đạt về hìnhthức và nộidung khôngcó tính logic

Nội dunglogic thểhiện được ýtưởng chung

Nội dung cụthể theo cácyêu cầu đặt ra

Báo cáo thểhiện tốt ý

tưởng vàmang phong

cách riêng

Bài thuyếttrình (CĐR

Không trìnhbày đượcvấn đề mộtcách rõ ràng

Trình bàyđược vấn đề

ở mức cơbản

Trình bàyđược vấn đề

một cáchlogic

Trình bày vàthể hiện được

sự hiểu biếtrõ ràng về

vấn đề

Trình bày tốtvấn đề, cóthể phân tíchmở rộng vấn

Thiết kếchươngtrình (CĐR

Chương trìnhthực hiệnđược mộtphần yêu cầu

đặt ra

Chương trìnhthực hiệnđược mộtphần yêu cầu

đặt ra

Chươngtrình thựchiện đượccác yêu cầu

Chương trìnhthực hiệnđược cácchức năng ýtưởng đưa ra

Chương trình

được tối ưu 20%

Tùy chỉnhđượcchươngtrình (CĐR

Chương trìnhthực hiệnđược mộtphần yêu cầu

đặt ra

Chương trìnhthực hiệnđược mộtphần yêu cầu

đặt ra

Chươngtrình thựchiện đượccác yêu cầu

Chương trìnhthực hiệnđược cácchức năng ýtưởng đưa ra

Trang 3

Bảng phân chia công việc

1 PHẠM THANH TÙNG

Lập ý tưởng thực hiện project

 Nội dung 1: Lập trình thu thập dữ liệu cảm biến LM35

Edit video

Viết báo cáo nội dung 1

Nội dung 3: Lập trình hiển thị kết quả trên giao diện chính

Chuẩn bị file báo cáo (ppt)Tổng hợp báo cáo cuối kỳ

Thành viên, tích cực thamgia

NGUYỄN QUANG TRUNG

Lập ý tưởng thực hiện project

Nội dung 2: Lập trình thu thập dữ liệu cảm biến đo khoảng cách

Viết báo cáo nội dung 2

Nội dung 3: Lập trình hiển thị kết quả trên giao diện chính

Thiết kế lắp đặt phần cứng

Nhóm trưởng, tích cực tham gia

Trang 4

Lời cam đoan

Em xin cam đoan đề tài “ Thiết kế và chế tạo xe tự hành ” được thực hiệnbởi Nhóm số 13, bao gồm các thành viên là PHẠM THANH TÙNG, NGUYỄN QUANG

TRUNG, là sự cố gắng, nỗ lực của bản thân em và các thành viên trong nhóm, dưới sựhướng dẫn của TS Nguyễn Viết Chiến Kết quả của báo cáo này là trung thực, khôngcó sự sao chép, lấy cắp, hay thuê mượn của người khác Báo cáo có tham khảo vàtrích dẫn một số tài liệu nguồn gốc rõ ràng Nếu phát hiện có sự sao chép kết quả của

người khác, em xin chịu hoàn toàn trách nhiệm

Hà Nội, ngày 24 tháng 6 năm 2024

Sinh viên thực hiện

(Ký và ghi rõ họ tên)

MỤC LỤC

Trang 5

PHIẾU ĐÁNH GIÁ BÁO CÁO CUỐI KÌ 2

Bảng phân chia công việc 3

Lời cam đoan………

3.2 code IDE Arduino,………

3.2.1 Hình ảnh code IDE Arduino………

3.2.2 Giải thích code IDE Arduino………9

3.3 Nội dụng của giao diện ……….12

3.4 Kết quả thực nghiệm của xe tự hành……….13

3.5 Tài liệu tham khảo……….14

CHƯƠNG 1: TỔNG QUAN VÀ CÁC GIẢI PHÁP THỰC HIỆN

( Bạn Phạm Thanh Tùng thực hiện)

Trang 6

CHƯƠNG 2: THIẾT KẾ HỆ THỐNG2.1 Sơ đồ tổng quát của hệ thống

(Phạm Thanh Tùng thực hiện)2.2 Nguyên lý hoạt động

Nguyên lý hoạt động của hệ thống như sau:

- Khi xe bắt đầu hoạt động, cả hai động cơ dẫn động hai bánh quay theo chiều thuận,đưa xe về phía trước, đồng thời, bộ vi xử lý ở đây là Arduino se liên tục tính toán khoảng cách từ cảm biến siêu âm trên robot đến bề mặt phản xạ Nếu khoảng cách tới bề mặt vật cản phản xạ là 15cm thì robot dừng lại, quétphía trái và phải, nếu phía nào trống thì 1 động cơ sẽ quay thuận trong khi 1 động cơ dừng cho phép robot đi về 1 hướng trái hoặc phải Cảm biến góc sẽ nhớ góc có vật cản và di chuyển theo hướng có khoảng trống và đi tiếp

Hình 2.2: Sơ đồ nguyên lý/ Sơ đồ thuật toán (ví dụ)

2.3 Linh kiện, thiết bị chuẩn bị

Bảng 2.1 Danh sách linh kiện, vật tư, thiết bị

(nếu có)

1 Động cơ giảm tốcvàng x2

– Điện áp: 3-12VDC, khuyếnnghị ở giải điện áp (6-8VDC)– Dòng: 70mA (250mA Max) ở3V

– Mô men xoắn: 800gfcm– Tỷ số truyền: 1:48– Tốc độ:

+ 125 rpm 3VDC (bánh 66mm:26rpm)

12.000đ /chiếc

Trang 7

+ 208 rpm 5VDC (bánh 66mm:44rpm)

2 Mô đun cảm biếnsiêu âm SR04

Điện áp: 5V DC

Dòng hoạt động: < 2mAMức cao: 5V

Mức thấp: 0VGóc tối đa: 15 độ

Khoảng cách: 2cm – 450cm(4.5m)

Độ chính xác: 3mm

3 Mạch Điều KhiểnĐộng Cơ DC L298N

Điện áp đầu vào: 5~30VDC,Dòng tối đa cho mỗi cầu H là:2A, Kích thước: 43x43x27mm

4 Cảm biến hồngngoại LM393 x3

- Điện áp làm việc: 3.3V – 5VDC.

- Lỗ vít 3 mm

- Kích thước: 3.2cm * 1.4cmCổng giao tiếp:

- VCC: điện áp chuyển đổi từ3.3V đến 5V (có thể được kết nốitrực tiếp đến vi điều khiển 5V và3.3V)

– Mạch Uno R3 kèm cáp

Arduino Uno R3 DIP (kèm cáp)Điện áp hoạt động: 5~12VDC,Dòng tiêu thụ: Khoảng 30mA,Khối lượng: 25 gram

CHƯƠNG 3: KẾT QUẢ THỰC HIỆN VÀ KẾT LUẬN3.1 Lập trình LABVIEW

Trang 8

3.2 Hình ảnh code Arduino

3.2.1 Giải thích code Arduino1 Định nghĩa các chân kết nối:

#define CAMBIEN_VACH_TRAI A0

Trang 9

#define CAMBIEN_VACH_PHAI A1#define CAMBIEN_VATCAN 2

#define DONGCO_TRAI_TIEN 3#define DONGCO_TRAI_LUI 4#define DONGCO_PHAI_TIEN 5#define DONGCO_PHAI_LUI 6

Đoạn mã này định nghĩa các chân kết nối trên Arduino:

o CAMBIEN_VACH_TRAI và CAMBIEN_VACH_PHAI là các chân analog để đọc giá trị từ cảm biến vạch kẻ đường bên trái và bên phải.

o CAMBIEN_VATCAN là chân digital để đọc giá trị từ cảm biến vật cản.

o DONGCO_TRAI_TIEN, DONGCO_TRAI_LUI,

DONGCO_PHAI_TIEN, và DONGCO_PHAI_LUI là các chân digital để điều khiển các động cơ tiến và lùi của bánh trái và bánh phải.

2 Các biến toàn cục:

int nguong_vach = 500; int co_vat_can = LOW;

o nguong_vach: giá trị ngưỡng để xác định có vạch kẻ hay không.o co_vat_can: biến lưu trạng thái của cảm biến vật cản.

3 Hàm setup():

void setup() {

pinMode(CAMBIEN_VACH_TRAI, INPUT); pinMode(CAMBIEN_VACH_PHAI, INPUT); pinMode(CAMBIEN_VATCAN, INPUT); pinMode(DONGCO_TRAI_TIEN, OUTPUT); pinMode(DONGCO_TRAI_LUI, OUTPUT); pinMode(DONGCO_PHAI_TIEN, OUTPUT); pinMode(DONGCO_PHAI_LUI, OUTPUT); Serial.begin(9600);

Hàm này thiết lập các chân kết nối:

o Các cảm biến được đặt làm đầu vào (INPUT).

Trang 10

o Serial communication được khởi động để in giá trị cảm biến ra o màn hình Serial Monitor.

4 Hàm loop():

void loop() {

int vach_trai = analogRead(CAMBIEN_VACH_TRAI); int vach_phai = analogRead(CAMBIEN_VACH_PHAI); int vat_can = digitalRead(CAMBIEN_VATCAN);

Serial.print("Vạch Trái: "); Serial.print(vach_trai);

Serial.print(" - Vạch Phải: "); Serial.print(vach_phai);

Serial.print(" - Vật Cản: "); Serial.println(vat_can);

if (vat_can == HIGH) { dungDongCo();

diThang(); }

}}

Hàm này được lặp đi lặp lại liên tục:

o Đọc giá trị từ các cảm biến vạch trái, vạch phải và vật cản.o In các giá trị này ra màn hình Serial Monitor.

o Nếu phát hiện vật cản (vat_can == HIGH), gọi hàm dungDongCo() để dừng robot.

o Nếu không có vật cản, kiểm tra giá trị cảm biến vạch kẻ: Nếu chỉ có cảm biến trái vượt ngưỡng, gọi hàm

queoTrai() để rẽ trái.

 Nếu chỉ có cảm biến phải vượt ngưỡng, gọi hàm queoPhai() để rẽ phải.

Trang 11

 Nếu cả hai cảm biến không vượt ngưỡng, gọi hàm diThang() để đi thẳng.

5 Các hàm điều khiển động cơ:

o Hàm diThang(): Điều khiển robot đi thẳng.

void diThang() {

digitalWrite(DONGCO_TRAI_TIEN, HIGH); digitalWrite(DONGCO_TRAI_LUI, LOW); digitalWrite(DONGCO_PHAI_TIEN, HIGH); digitalWrite(DONGCO_PHAI_LUI, LOW);}

o Hàm queoTrai(): Điều khiển robot rẽ trái.

void queoTrai() {

digitalWrite(DONGCO_TRAI_TIEN, LOW); digitalWrite(DONGCO_TRAI_LUI, HIGH); digitalWrite(DONGCO_PHAI_TIEN, HIGH); digitalWrite(DONGCO_PHAI_LUI, LOW);}

o Hàm queoPhai(): Điều khiển robot rẽ phải.

void queoPhai() {

digitalWrite(DONGCO_TRAI_TIEN, HIGH); digitalWrite(DONGCO_TRAI_LUI, LOW); digitalWrite(DONGCO_PHAI_TIEN, LOW); digitalWrite(DONGCO_PHAI_LUI, HIGH);}

o Hàm dungDongCo(): Dừng robot.

void dungDongCo() {

digitalWrite(DONGCO_TRAI_TIEN, LOW); digitalWrite(DONGCO_TRAI_LUI, LOW); digitalWrite(DONGCO_PHAI_TIEN, LOW); digitalWrite(DONGCO_PHAI_LUI, LOW);}

3.3 Nội dụng của giao diện

Trang 12

3.4 Kết quả thực nghiệm

Trang 13

Hình ảnh bên trái xe

Hình ảnh bên phải xe

Tài liệu tham khảo

Trang 14

ABC – Linh kiện và mạch điện tử - NXB GD VN – 2013 ABC – Linh kiện và mạch điện tử - NXB GD VN – 2013

Đỗ Xuân Thụ - Kỹ thuật điện tử - NXB GD – 2006 ABC – Linh kiện và mạch điện tử - NXB GD VN – 2013

Phạm Minh Hà – Kỹ thuật mạch điện tử - NXB KH&KT – 1997 ABC – Linh kiện và mạch điện tử - NXB GD VN – 2013

Ngày đăng: 29/06/2024, 06:22

Xem thêm:

w