Download as pdf or txt
Download as pdf or txt
You are on page 1of 25

ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ

VINH UNIVERSITY ROBOT DÒ LINE – SINH VIÊN K59 KT ĐK & TDH

BỘ GIÁO DỤC VÀ ĐÀO TẠO


TRƯỜNG ĐẠI HỌC VINH - VINH UNIVERSITY
VIỆN KĨ THUẬT VÀ CÔNG NGHỆ

Báo áo đồ án: ĐỒ ÁN NHẬP MÔN NGÀNH KỸ THUẬT


Đề tài: ROBOT DÒ LINE
GVHD: Phan Văn Dư
SVTH: K59-KT ĐK & TDH

ROBOT DÒ LINE ARDUINO UNO R3

1
Đồ án nhập môn ngành kỹ thuật
ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ
VINH UNIVERSITY ROBOT DÒ LINE – SINH VIÊN K59 KT ĐK & TDH

DANH SÁCH SINH VIÊN THỰC HIỆN


STT HỌ VÀ TÊN MSSV NHẬN XÉT ĐIỂM
1 PHẠM VĂN LƯƠNG 18575202160019
2 PHAN XUÂN HIẾU 18575202160049
3 NGUYỄN TRUNG HIẾU 18575202160020

DANH SÁCH LINH KIỆN


STT TÊN LINH KIỆN SỐ LƯỢNG
1 Arduino Uno R3 1
2 L298N 1
3 Cảm biến dò line 1
4 Động cơ DC 3-9V 2
5 Cụm bánh xe 1
6 Hệ thống dây cắm 1
7 Nguồn 1

2
Đồ án nhập môn ngành kỹ thuật
ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ
VINH UNIVERSITY ROBOT DÒ LINE – SINH VIÊN K59 KT ĐK & TDH

LỜI NÓI ĐẦU


Như chúng ta đã biết, trong giai đoạn hiện nay, với sự phát triển của khoa học công
nghệ cùng với thời đại 4.0, phương thức lao động của con người ngày càng được
thay thế bởi nó yêu cầu phải có một tốc độ cao, xử lý nhanh chóng. Robot là một
trong những giải pháp tối ưu và thiết thực nhất. Một điều chắc chắn nhất là robot sẽ
ngày càng đóng vai trò quan trọng trong cuộc sống của con người.
Nhóm 1 thầy Phan Văn Dư xin được trình bảy đồ án nhập môn: “Robot dò line”

3
Đồ án nhập môn ngành kỹ thuật
ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ
VINH UNIVERSITY ROBOT DÒ LINE – SINH VIÊN K59 KT ĐK & TDH

PHẦN I: PHẦN CỨNG ROBOT DÒ LINE


A. Tổng quan về robot.
1. Robot dò đường là gì?
Robot dò đường là loại robot có thể di chuyển theo một quĩ đạo định sẵn được
gọi là Robot dò đường ( Robot tự động bám đường). Robot dò đường có thể di
chuyển theo một đường, đường đi có thể được nhìn nhận như một dòng màu
đen trên một bề mặt trắng (hoặc ngược lại) hoặc nó có thể là đường vô hình như
một từ trường.

Hình 1. Hình ảnh về một con robot dò đường đơn giản

2. Cấu tạo chung của Robot dò đường


Với những chỉ tiêu về công nghệ và thống nhất các chức năng chính của robot
ta tiến hành thiết kế và đưa ra sơ đồ khối chức năng và cấu tạo, hoạt động chi
tiết của từng khối như mô tả dưới đây:

Hình 2. Cấu trúc cơ bản của robot dò đường

4
Đồ án nhập môn ngành kỹ thuật
ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ
VINH UNIVERSITY ROBOT DÒ LINE – SINH VIÊN K59 KT ĐK & TDH

Trong đó, gồm các khối sau:

* Khối nguồn:
- Có nhiệm vụ cấp nguồn cho động cơ và toàn bộ mạch điện trên Robot. Do đó
tiêu chí của khối nguồn là phải tạo được công suất đủ lớn và có độ ổn định cao.

Ví dụ một nguồn cụ thể, nguồn được lấy từ ắc quy 12V hoặc 5V sau đó đưa qua
IC ổn áp 7805 để lấy nguồn nuôi cấp cho vi điều khiển. Với những người mới bắt
đầu học làm Robot, ta nên lựa chọn động cơ có công suất nhỏ. Ở đây,ta lựa chọn
nguồn 9V cấp cho động cơ, sử dụng nguồn 5V nuôi mạch.Cụ thể ở đây ta sử dụng
loại PIN 9V.

* Khối điều khiển:


Khối điều khiển trung tâm có nhiệm vụ lấy dữ liệu từ khối sensor để có được
trạng thái hiện tại của hệ thống và xử lý dữ liệu thu được từ đó đưa ra các tín hiệu
điều khiển cho khối động cơ, đồng thời đưa tín hiệu thông báo ra khối hiển thị cho
người quan sát thấy trạng thái đang hoạt động của hệ thống. Việc hệ thống hoạt
động có nhịp nhàng hay không, tốt hay không phụ thuộc rất nhiều vào khối điều
khiển này. Việc xây dựng khối điều khiển cho hệ thống, ta đưa ra là lựa chọn vi
điều khiển .

Đối với robot dò đường không cần tốc độ xử lý quá cao, vì thế nên có thể sử
dụng Vdk PIC, AVR, ARM ... đều được tùy thuộc vào người dùng thành thạo
loại vi điều khiển nào. Trong các bài viết này mình sẽ dùng adruno, do đơn giản
dễ sử dụng cho tất cả mọi người, mọi lứa tuổi, tài liệu phong phú....

5
Đồ án nhập môn ngành kỹ thuật
ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ
VINH UNIVERSITY ROBOT DÒ LINE – SINH VIÊN K59 KT ĐK & TDH

* Khối sensor (khối cảm biến) :


Cảm biến thường được định nghĩa theo nghĩa rộng là thiết bị cảm nhận và đáp
ứng lại với những kích thích và các tín hiệu .Đây là thiết bị vô cùng quan trọng
để robot có thể nhận biết được chính mình và thế giới bên ngoài. Đối với Robot
dò line thường sử dụng các cặp Led thu phát hồng ngoại làm bộ phận cảm biến.

* Khối điều khiển động cơ:


Thực hiện chức năng điều khiển, thay đổi tốc độ cũng như chiều quay của động
cơ. Tín hiệu điều khiển được lấy từ khối điều khiển để điều khiển động cơ.

* Khối hiển thị:


Khối hiển thị có chức năng thông báo cho người quan sát từ mọi hướng có thể
biết được trạng thái của hệ thống hiện thời. Tùy từng người thiết kế mà có thể
hiển thị các thông tin như: mức ADC, phím bấm, trạng thái di chuyển,...

3. Nguyên tắc hoạt động của Robot dò đường:


Robot chuyển động theo một quỹ đạo được định trước nhờ vạch dẫn, hệ thống hai
bánh xe được dẫn động bởi 2 động cơ điện một chiều thông qua mạch điều khiển
và mạch công suất. Thường thì các vạch dẫn sẽ có màu khác với màu nền của quỹ
đạo chuyển động. Để Robot chuyển động đúng theo quỹ đạo cần có bộ phận cảm
biến, bộ phần này có nhiệm vụ phân biệt vạch dẫn và màu nền, đưa tín hiệu điện
tương ứng về mạch điều khiển. Mạch điều khiển có nhiệm vụ thu nhận thông tin
phản hồi từ bộ phận cảm biến từ đó điều khiển tốc độ và chiều quay của hai động
cơ điện một chiều sao cho xe luôn bám và chuyển động theo vạch dẫn. Nhìn
chung, về mặt cấu tạo thì Robot dò line được thể hiện theo sơ đồ sau đây:

Hình 3. Cấu tạo chung của Robot dò đường tự động

4. Ứng dụng của Robot dò đường

6
Đồ án nhập môn ngành kỹ thuật
ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ
VINH UNIVERSITY ROBOT DÒ LINE – SINH VIÊN K59 KT ĐK & TDH

Robot dò đường được ứng dụng vào công nghệ dò đường như di chuyển tự động
trong vận chuyển hàng hóa. Tuy còn sơ khai về nguyên tắc điều khiển nhưng robot
dò đường đã tạo một bước ngoặt quan trọng trong công nghệ thiết kế và chế tạo
robot, mở ra một kỷ nguyên mới về ngành công nghệ kỹ thuật tự động hóa và đưa
tự động hóa vào sản xuất. Robot dò đường là cơ sở quan trọng để thiết kế và chế
tạo Robot trong các lĩnh vực khác nhau. Với học sinh, sinh viên yêu thích công
nghệ Robot có thể bắt đầu với việc làm những con Robot dò đường đơn giản, chi
phí thấp nhưng lại là cơ hội thực hành bổ ích, làm nền tảng cho sự nghiên cứu và
chế tạo Robot của mình.

B. Cấu tạo, chức năng của từng bộ phận của robot (không màn hình LCD)
1. Bộ Kit Arduino Uno R3
Arduino thực sự đã gây sóng gió trên thị trường người dùng DIY (là những người tự chế
ra sản phẩm của mình) trên toàn thế giới trong vài năm gần đây, gần giống với những gì
Apple đã làm được trên thị trường thiết bị di động. Số lượng người dùng cực lớn và đa
dạng với trình độ trải rộng từ bậc phổ thông lên đến đại học đã làm cho ngay cả những
người tạo ra chúng phải ngạc nhiên về mức độ phổ biến.
Arduino thật ra là một bo mạch vi xử lý được dùng để lập trình tương tác với các thiết bị
phần cứng như cảm biến, động cơ, đèn hoặc các thiết bị
khác. Đặc điểm nổi bật của Arduino là môi trường phát
triển ứng dụng cực kỳ dễ sử dụng, với một ngôn ngữ lập
trình có thể học một cách nhanh chóng ngay cả với người
ít am hiểu về điện tử và lập trình. Và điều làm nên hiện
tượng Arduino chính là mức giá rất thấp và tính chất
nguồn mở từ phần cứng tới phần mềm. Chỉ với khoảng
$30, người dùng đã có thể sở hữu một board Arduino có
20 ngõ I/O có thể tương tác và điều khiển chừng ấy thiết
bị.
Arduino ra đời tại thị trấn Ivrea thuộc nước Ý và được đặt theo tên một vị vua vào thế kỷ
thứ 9 là King Arduin. Arduino chính thức được đưa ra giới thiệu vào năm 2005 như là
một công cụ khiêm tốn dành cho các sinh viên của giáo sư Massimo Banzi, là một trong
những người phát triển Arduino, tại trường Interaction Design Instistute Ivrea (IDII).
Mặc dù hầu như không được tiếp thị gì cả, tin tức về Arduino vẫn lan truyền với tốc độ
chóng mặt nhờ những lời truyền miệng tốt đẹp của những người đầu tiên, Hiện nay
Arduino nổi tiếng tới nỗi có người tìm đến thị trấn Ivrea chie để tham quan nơi đã sinh ra
Arduino.
Arduino uno r3 là 1 bo mạch điều khiển có chức năng cho phép người dung lập
trình chương trình vào. Từ đó truyền tín hiệu cho toàn bộ hệ thống của xe thực hiện
tác vụ của mình. Arduino gồm cổng ngồn 5v, cổng cấp dữ liệu USB, và bảng
mạch….

7
Đồ án nhập môn ngành kỹ thuật
ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ
VINH UNIVERSITY ROBOT DÒ LINE – SINH VIÊN K59 KT ĐK & TDH

2. L298

IC L298 là một IC tích hợp nguyên khối gồm 2 mạch cầu


H bên trong. Với điện áp làm tăng công suất đầu ra từ 5V –
47V , dòng lên đến 4A, L298 rất thích hợp trong những
ứng dụng công suất nhỏ như động cơ DC loại vừa …

Tóm tắt qua chức năng các chân của L298:


- 4 chân INPUT: IN1, IN2, IN3, IN4 được nối lần lượt với
các chân 5, 7, 10, 12 của L298. Đây là các chân nhận tín
hiệu điều khiển.
- 4 chân OUTPUT: OUT1, OUT2, OUT3, OUT4 (tương
ứng với các chân INPUT) được nối với các chân 2, 3, 13,
14 của L298. Các chân này sẽ được nối với động cơ.
- Hai chân ENA và ENB dung để điều khiển các mạch cầu H trong L298. Nếu ở mức logic “1”
(nối với nguồn 5V) thì cho phép mạch cầu H hoạt động, nếu ở mức logic “0” thì mạch cầu H
không hoạt động.

Điều khiển chiều quay với L298:


-Khi ENA = 0: Động cơ không quay với mọi đầu vào .
-Khi ENA = 1:
+ INT1 = 1; INT2 = 0: động cơ quay thuân.
+ INT1 = 0; INT2 = 1: động cơ quay nghịch.
+ INT1 = INT2: động cơ dừng ngay tức thì.

3. Cảm biến dò line

Thanh cảm biến dò đường BFD-1000 được thiết kế


dùng để phát hiện line đen và line trắng. Trên
thanh cảm biến có 5 cảm biến hồng ngoại hướng
xuống đất nhằm phát hiện line, một cảm biến hồng
ngoại đặt phía trước và đi cùng với nó là một công
tắc hành trình báo hiệu đã đụng vật. Tín hiệu ngõ
ra dạng số dễ dàng cho việc xử lý.
Thông số kỹ thuật:
• Điện áp hoạt động: 3.3 ~ 5V.
• Khoảng cách phát hiện: 0.5 ~ 40mm.
• Ngõ ra dạng tín hiệu số dễ dàng cho vi điều khiển.
• Có LED hiện thị ngõ ra cho từng cảm biến.

8
Đồ án nhập môn ngành kỹ thuật
ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ
VINH UNIVERSITY ROBOT DÒ LINE – SINH VIÊN K59 KT ĐK & TDH

• Tích hợp 5 cảm biến dò line, 1 cảm biến tránh vật cản và một công tắc hành
trình báo chạm vật.
• Ngõ ra gồm 7 chân tín hiệu của cảm biến dạng số và 2 ngõ vào cấp nguồn cho
thiết bị.
• Kích thước: 128 x 45 x 12mm.

4. Động cơ

Thông số kỹ thuật của động cơ giảm tốc


Vàng

• Điện áp hoạt động:3V~ 9V DC (Hoạt


động tốt nhất từ 6 - 8V)
• Mômen xoắn cực đại: 800gf cm min
1:48 (3V)
• Tốc độ không tải: 125 Vòng/ 1 Phút
(3V)
o (Với bánh 66mm: 26m/1p)
• 208 Vòng/ 1 Phút (5V)
o (Với bánh 66mm: 44m/1p)
• Dòng không tải: 70mA (250mA MAX)

Chức năng
Khi có dòng điện chạy qua, động cơ sẽ quay làm bánh xe chuyển động theo
chương trình điều khiển
5. Cụm bánh xe

9
Đồ án nhập môn ngành kỹ thuật
ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ
VINH UNIVERSITY ROBOT DÒ LINE – SINH VIÊN K59 KT ĐK & TDH

Robot gồm 3 bánh xe: hai bánh sau có chức năng chuyển động cho xe chạy; 1 bánh
trước có khản năng xoay 360 độ giúp điểu chỉnh hướng chuyển động của xe

6. Dây cắm, cấp nguồn

Cụm dây cắm gồm dây đực- cái: nối dòng cho Arduino-L298, L298-DC, Arduino-
Cảm biến dò line
Dây nguồn: cấp nguồn cho Arduino hoạt động.
7. Nguồn:
– Loại pin : Pin Lithium/ Li-Ion
– Dung lượng : 2600mAh
– Volts : 3.7V
– Mã SP : ICR 18650
– Kích thước : 18mm x65mm

Cấp nguồn cho toàn bộ hệ thống của


xe

10
Đồ án nhập môn ngành kỹ thuật
ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ
VINH UNIVERSITY ROBOT DÒ LINE – SINH VIÊN K59 KT ĐK & TDH

PHẦN II: NẠP CHƯƠNG TRÌNH CHO HỆ THỐNG CỦA ROBOT


* Giới thiệu về Arduino IDE và ngôn ngữ lập trình cho Arduino
Thiết kế bo mạch nhỏ gọn, trang bị nhiều tính năng thông dụng mang lại nhiều lợi
thế cho Arduino, tuy nhiên sức mạnh thực sự của Arduino nằm ở phần mềm. Môi
trường lập trình đơn giản dễ sử dụng, ngôn ngữ lập trình Wiring dễ hiểu và dựa
trên nền tảng C/C++ rất quen thuộc với người làm kỹ thuật. Và quan trọng là số
lượng thư viện code được viết sẵn và chia sẻ bởi cộng đồng nguồn mở là cực kỳ
lớn.
Arduino IDE là phần mềm dùng để lập trình cho Arduino. Môi trường lập trình
Arduino IDE có thể chạy trên ba nền tảng phổ biến nhất hiện nay là Windows,
Macintosh OSX và Linux. Do có tính chất nguồn mở nên môi trường lập trình này
hoàn toàn miễn phí và có thể mở rộng thêm bởi người dùng có kinh nghiệm.
Ngôn ngữ lập trình có thể được mở rộng thông qua các thư viện C++. Và do ngôn
ngữ lập trình này dựa trên nền tảng ngôn ngữ C của AVR nên người dùng hoàn
toàn có thể nhúng thêm code viết bằng AVR vào chương trình nếu muốn.
* Các bước nạp chương trình cho Arduino Uno R3
Bước 1: Kết nối Arduino UNO R3 vào máy tính

11
Đồ án nhập môn ngành kỹ thuật
ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ
VINH UNIVERSITY ROBOT DÒ LINE – SINH VIÊN K59 KT ĐK & TDH

Bước 2: Tìm cổng kết nối của Arduino Uno R3 với máy tính

Khi Arduino Uno R3 kết nối với máy tính, nó sẽ sử dụng một cổng COM
(Communication port - cổng dữ liệu ảo) để máy tính và bo mạch có thể truyền tải
dữ liệu qua lại thông qua cổng này. Windows có thể quản lí đến 256 cổng COM.
Để tìm được cổng COM đang được sử dụng để máy tính và mạch Arduino UNO
R3 giao tiếp với nhau, bạn phải mở chức năng Device Manager của Windows.

Bạn mở cửa sổ Run và gõ lệnh mmc devmgmt.msc.

Sau đó bấm Enter, cửa sổ Device Manager sẽ hiện lên.

12
Đồ án nhập môn ngành kỹ thuật
ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ
VINH UNIVERSITY ROBOT DÒ LINE – SINH VIÊN K59 KT ĐK & TDH

Mở mục Ports (COM & LPT), bạn sẽ thấy cổng COM Arduino Uno R3 đang kết
nối

Cổng kết nối ở đây là COM3.

Thông thường, trong những lần kết nối tiếp theo, Windows sẽ sử dụng lại cổng
COM3 để kết nối nên bạn không cần thực hiện thêm thao tác tìm cổng COM này
nữa.

Bước 3: Khởi động Arduino IDE

Bước 4: Cấu hình phiên làm việc cho Arduino IDE

Vào menu Tools -> Board -> chọn Arduino Uno

13
Đồ án nhập môn ngành kỹ thuật
ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ
VINH UNIVERSITY ROBOT DÒ LINE – SINH VIÊN K59 KT ĐK & TDH

Vào menu Tools -> Serial Port -> chọn cổng Arduino đang kết nối với máy tính. Ở
máy của mình là COM3.

Xác nhận cổng COM của Arduino IDE ở góc dưới cùng bên phải cửa sổ làm việc

Vào menu Tools -> Programmer -> chọn AVR ISP

14
Đồ án nhập môn ngành kỹ thuật
ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ
VINH UNIVERSITY ROBOT DÒ LINE – SINH VIÊN K59 KT ĐK & TDH

Bước 5: Mở và nạp mã nguồn chương trình mẫu

Nạp một chương trình mẫu bằng cách vào menu File -> Examples -> 01.Basics ->
chọn Blink.

Bạn sẽ thấy Arduino IDE mở một cửa sổ mới chứa mã nguồn Blink. Mã này có
chức năng là điều khiển đèn LED màu cam trên mạch Arduino Uno R3 nhấp nháy
với chu kì 1 giây.

15
Đồ án nhập môn ngành kỹ thuật
ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ
VINH UNIVERSITY ROBOT DÒ LINE – SINH VIÊN K59 KT ĐK & TDH

Bấm tổ hợp phím Ctrl + U để tải chương trình lên mạch Arduino Uno R3. Bạn sẽ
thấy IDE xác nhận đã lập trình thành công như hình dưới.

16
Đồ án nhập môn ngành kỹ thuật
ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ
VINH UNIVERSITY ROBOT DÒ LINE – SINH VIÊN K59 KT ĐK & TDH

PHẦN III: MÃ CODE XE DÒ LINE


const int EnA = 6; // dieu khien xung
const int EnB = 11; // dieu khien xung
const int InA = 7;
const int InB = 8;
const int InC = 9;
const int InD = 10;

const int Pin_ss1 = A0; // Analog output


const int Pin_ss2 = A1;
const int Pin_ss3 = A2;
const int Pin_ss4 = A3;
const int Pin_ss5 = A4;

int sensorValue = 0; // đọc giá trị


int outputValue = 0; // giá trị đầu ra

int IN_line,In_line_last,mode;
int ss1,ss2,ss3,ss4,ss5; // gán

void setup()
{

pinMode(InA, OUTPUT);
pinMode(InB, OUTPUT);
pinMode(InC, OUTPUT);
pinMode(InD, OUTPUT);

17
Đồ án nhập môn ngành kỹ thuật
ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ
VINH UNIVERSITY ROBOT DÒ LINE – SINH VIÊN K59 KT ĐK & TDH
pinMode(13, OUTPUT);
digitalWrite(InA, LOW);
digitalWrite(InB, HIGH);
digitalWrite(InC, LOW);
digitalWrite(InD, HIGH);
digitalWrite(13, LOW);
analogWrite(EnA,250);
analogWrite(EnB,250);
pinMode(Pin_ss1, INPUT);//Set chân cảm biến 1 là input
pinMode(Pin_ss2, INPUT);//Set chân cảm biến 2 là input
pinMode(Pin_ss3, INPUT);//Set chân cảm biến 3 là input
pinMode(Pin_ss4, INPUT);//Set chân cảm biến 4 là input
pinMode(Pin_ss5, INPUT);//Set chân cảm biến 5 là input
Serial.begin(9600);
}

void loop() {
Serial.println(EnB);
In_line_last = IN_line;
IN_line = In_SenSor();
if(IN_line!=In_line_last)
{
if(In_line_last!=5)
{
robotMover(IN_line);
}
}
}

18
Đồ án nhập môn ngành kỹ thuật
ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ
VINH UNIVERSITY ROBOT DÒ LINE – SINH VIÊN K59 KT ĐK & TDH
void robotMover (int line)
{
switch (line)
{
case -4:// sang trai
{
analogWrite(EnA,60);//banh phai
analogWrite(EnB,10);//banh trai
break;
}
case -3://sang trai
{
analogWrite(EnA,50);//banh phai
analogWrite(EnB,30);//banh trai
break;
}
case -2:// sang trai
{
analogWrite(EnA,70);//banh phai
analogWrite(EnB,50);//banh trai
break;
};
case -1:// sang trai
{
analogWrite(EnA,100);//banh phai
analogWrite(EnB,70);//banh trai
break;
}

19
Đồ án nhập môn ngành kỹ thuật
ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ
VINH UNIVERSITY ROBOT DÒ LINE – SINH VIÊN K59 KT ĐK & TDH
case 0:// di thang
{
analogWrite(EnA,80);//banh phai
analogWrite(EnB,80);//banh trai
break;
}
case 1:// rẽ phai
{
analogWrite(EnA,70);//banh phai
analogWrite(EnB,100);//banh trai
break;
};
case 2:// rẽ phai
{
analogWrite(EnA,50);//banh phai
analogWrite(EnB,70);//banh trai
break;
}
case 3:// rẽ phai
{
analogWrite(EnA,30);//banh phai
analogWrite(EnB,50);//banh trai
break;
}
case 4:// rẽ phai
{
analogWrite(EnA,10);//banh phai
analogWrite(EnB,60);//banh tra

20
Đồ án nhập môn ngành kỹ thuật
ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ
VINH UNIVERSITY ROBOT DÒ LINE – SINH VIÊN K59 KT ĐK & TDH
break;
}
case 5:// QUAY
{
Serial.print(mode);
if(mode==0)
{
analogWrite(EnA,70);//banh phai
analogWrite(EnB,20);//banh tra
}
else
{
analogWrite(EnA,20);//banh phai
analogWrite(EnB,70);//banh tra
}
break;
}
case 6:{
analogWrite(EnA,80);//banh phai
analogWrite(EnB,10);//banh tra
break;
}
case 7:{
analogWrite(EnA,10);//banh phai
analogWrite(EnB,80);//banh tra
break;
}
}

21
Đồ án nhập môn ngành kỹ thuật
ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ
VINH UNIVERSITY ROBOT DÒ LINE – SINH VIÊN K59 KT ĐK & TDH
}

int In_SenSor() //tín hiệu từ cảm biến trả về


{
ss1 = digitalRead(Pin_ss1);
ss2 = digitalRead(Pin_ss2);
ss3 = digitalRead(Pin_ss3);
ss4 = digitalRead(Pin_ss4);
ss5 = digitalRead(Pin_ss5);

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


{
return 0;
}
else if((ss1==1)&&(ss2==1)&&(ss3==0)&&(ss4==0)&&(ss5==1))//lech trai cap 1
{
mode=1;
return 1;
}
else if((ss1==1)&&(ss2==1)&&(ss3==1)&&(ss4==0)&&(ss5==1))//lech trai cap 2
{
mode=1;
return 2;
}
else if((ss1==1)&&(ss2==1)&&(ss3==1)&&(ss4==0)&&(ss5==0))//lech trai cap 3
{
mode=1;

22
Đồ án nhập môn ngành kỹ thuật
ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ
VINH UNIVERSITY ROBOT DÒ LINE – SINH VIÊN K59 KT ĐK & TDH
return 3;
}
else if((ss1==1)&&(ss2==1)&&(ss3==1)&&(ss4==1)&&(ss5==0))//lech trai cap 4
{
mode=1;
return 4;
}
else if((ss1==1)&&(ss2==0)&&(ss3==0)&&(ss4==1)&&(ss5==1))//lech phai cap 1
{
mode=0;
return -1;
}
else if((ss1==1)&&(ss2==0)&&(ss3==1)&&(ss4==1)&&(ss5==1))//lech phai cap 2
{
mode=0;
return -2;
}
else if((ss1==0)&&(ss2==0)&&(ss3==1)&&(ss4==1)&&(ss5==1))//lech phai cap 3
{
mode=0;
return -3;
}
else if((ss1==0)&&(ss2==1)&&(ss3==1)&&(ss4==1)&&(ss5==1))//lech phai cap 4
{
mode=0;
return -4;
}
else if((ss1==1)&&(ss2==1)&&(ss3==1)&&(ss4==1)&&(ss5==1))//lech hoàn toàn

23
Đồ án nhập môn ngành kỹ thuật
ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ
VINH UNIVERSITY ROBOT DÒ LINE – SINH VIÊN K59 KT ĐK & TDH
{
return 5;
}
else if((ss1==0)&&(ss2==0)&&(ss3==0)&&(ss4==1)&& (ss5==1))//góc vuong sang trai
{
mode=0;
return 6;
}
else if((ss1==1)&&(ss2==1)&&(ss3==0)&&(ss4==0)&&(ss5==0))//góc vuong sang phai
{
mode=1;
return 7;
}
}

24
Đồ án nhập môn ngành kỹ thuật
ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ
VINH UNIVERSITY ROBOT DÒ LINE – SINH VIÊN K59 KT ĐK & TDH

THE END

25
Đồ án nhập môn ngành kỹ thuật

You might also like