Tải bản đầy đủ (.docx) (29 trang)

Đồ án thiết kế: Xe tự hành Robot tự hành Robot dò đường

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.36 MB, 29 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN TỬ - VIỂN THÔNG
----------

BÁO CÁO

ĐỒ ÁN THIẾT KẾ 2
Đề tài:

XE TỰ HÀNH
GVHD: PGS.TS Nguyễn Văn Khang
SVTH: Nguyễn Minh
Lê Quang Hoàn

KSTN ĐTVT K58
KSTN ĐTVT K58

Hà Nội, tháng 01 năm 2017


MỤC LỤC
DANH MỤC HÌNH VẼ.......................................................................................2
DANH MỤC BẢNG BIỂU.................................................................................3
DANH MỤC THUẬT NGỮ................................................................................4
NỘI DUNG..........................................................................................................5
1. Lý do chọn đề tài.......................................................................................5
2. Yêu cầu chức năng và phi chức năng...........................................................5
2.1 Yêu cầu chức năng.................................................................................5
2.2 Yêu cầu phi chức năng...........................................................................6
3. Thiết kế hệ thống..........................................................................................6


3.1 Sơ đồ khối..............................................................................................6
3.2 Sơ đồ chi tiết từng khối..........................................................................7
3.3 Ước tính chi phí...................................................................................10
3.4 Phân tích nhân lực................................................................................11
3.5 Phân cơng cơng việc.............................................................................12
4. Thực hiện...................................................................................................12
4.1 Thực hiện phần cứng............................................................................12
4.2 Thực hiện phần mềm............................................................................17
4.3 Nạp code..............................................................................................20
5. Kiểm thử....................................................................................................23
5.1 Kiểm tra cảm biến hồng ngoại.............................................................23
5.2 Kiểm tra hoạt động của xe....................................................................25
KẾT LUẬN........................................................................................................26
HƯỚNG PHÁT TRIỂN.....................................................................................27
TÀI LIỆU THAM KHẢO..................................................................................28

1|Page


DANH MỤC HÌNH V

Hình 3-1: Sơ đồ khối tổng qt.........................................................................6
Hình 3-2: Khối cảm biến...................................................................................7
Hình 3-3: Khối điều khiển.................................................................................8
Hình 3-4: Khối điều khiển động cơ...................................................................9
Hình 3-5: Động cơ giảm tốc...............................................................................9
Hình 3-6: Khối nguồn......................................................................................10
Hình 4-1: Tổng thể sản phẩm..........................................................................13
Hình 4-2: Khối cảm biến.................................................................................14
Hình 4-3: Arduino UNO R3............................................................................14

Hình 4-4: Khối điều khiển động cơ.................................................................16
Hình 4-5: 2 quả pin 9V....................................................................................17
Hình 4-6: Mở sửa sổ Device Manager............................................................21
Hình 4-7: Giao diện cửa sổ Device Manager..................................................21
Hình 4-8: Chọn Board.....................................................................................22
Hình 4-0-9: Nạp chương trình.........................................................................22
Hình 5-1: Test cảm biến 1 trên nền đen, cịn lại trên nền trắng....................23
Hình 5-2: Test cảm biến 1 trên nền đen, còn lại trên nền trắng....................24
Hình 5-3: Test cảm biến 2 và 3 trên nền đen cịn lại trên nền trắng.............24
Hình 5-4: Test cảm biến 3 và 4 trên nền đen, còn lại trên nền trắng............25

DANH MỤC BẢNG BIỂ

2|Page


Bảng 3.1: Ước tính chi phí...............................................................................10
Bảng 3.2: Phân tích nhân lực..........................................................................11
Bảng 3.3: Phân công công việc........................................................................12

3|Page


DANH MỤC THUẬT NGỮ

EEPROM
GND
SRAM

Electrically Erasable Programmable Read Only Memory

Ground
Static Random Access Memory

4|Page


NỘI DUNG
1. Lý do chọn đề tài
Xe tự hành hay còn gọi là Robot tự hành “là một thành phần có vai trị quan
trọng trong ngành Robot học. Cùng với sự phát triển mạnh mẽ của các hệ thống tự
động hóa, robot tự hành ngày một được hồn thiện và càng cho thấy lợi ích của nó
trong cơng nghiệp và sinh hoạt.”[1]. Với yêu cầu của môn Đồ Án Thiết Kế 2, nhóm
chúng em nhận thấy xe tự hành là một đề tài thú vị, giúp chúng em có thêm kiến
thức về các lĩnh vực khác như cơ khí, điện, điện tử… và chúng em có thể thực hiện
thành cơng đề tài này. Do đó, xe tự hành đã được lựa chọn để chúng em nghiên cứu
cho môn Đồ Án Thiết Kế 2 này.
Đề tài tập trung tìm hiểu về nguyên lý hoạt động và cách thức thực hiện xe tự
hành (cụ thể là xe dò đường). Điểm khác biệt của xe tự hành này với các loại xe
khác (ô tô, xe nâng…) là khả năng tự động đi theo một đường đã vạch sẵn mà
không cần sự điều khiển của con người trong quá trình di chuyển.
Trong quá trình thực hiện, chúng em không thể tránh khỏi những thiếu sót.
Chúng em mong nhận được sự đóng góp của thầy cơ và các bạn để đồ án được hồn
thiện hơn.
Chúng em xin chân thành cảm ơn PGS.TS Nguyễn Văn Khang, người đã trực
tiếp hướng dẫn chúng em thực hiện đồ án này. Thầy đã giúp đỡ, tận tình chỉ bảo
chúng em trong suốt quá trình học tập và nghiên cứu.

2. Yêu cầu chức năng và phi chức năng
2.1 Yêu cầu chức năng
-


Xe chạy cheo 1 đường đi màu đen đã vạch sẵn trên nền trắng.

-

Khi xe không thể nhận diện được đường đi, quay trái để tìm đường

-

Xe có nút nhấn cho phép hoạt động hoặc không hoạt động.
5|Page


2.2 Yêu cầu phi chức năng
-

Số bánh xe: 3 bánh. Hai bánh sau truyền động (mỗi bánh được điều khiển
bởi một động cơ), bánh trước dẫn động.

-

Số cảm biến: 4 cặp cảm biến hồng ngoại chia làm 2 bên đối xứng với nhau
so với mặt phẳng trung trực của xe và ở trước bánh dẫn động. Đặt tên các
cảm biến (tính từ trái qua phải của xe: A1, A2, B1, B2). Khoảng cách giữa
hai cảm biến cạnh nhau: 2 cm

-

Đường đi:
o Màu: Màu đen

o Chiều rộng: 3,5 cm

-

Nguồn: 18V
o Nguồn cho mạch điều khiển trung tâm: 9V
o Nguồn cho động cơ: 9V

-

Chất liệu sàn xe: nhựa mica

-

Kích thước: 25cm x 12cm x 8cm (chiều dài x chiều rộng x chiều cao).

-

Chi phí sản xuất: 700.000 đồng

-

Ngày hồn thành: 12/01/2017

6|Page


3. Thiết kế hệ thống
3.1 Sơ đồ khối


Hình 3-1: Sơ đồ khối tổng quát
-

Khối cảm biến: xác định xe đi đúng đường, lệch phải hay lệch trái.

-

Khối điều khiển trung tâm: Nhận tín hiệu từ khối cảm biến, từ đó đưa ra
quyết định điều khiển khối điều khiển động cơ

-

Khối điều khiển động cơ: điều khiển các động cơ của xe quay hay dừng.

-

Khối nguồn: Cung cấp nguồn điện cho các khối còn lại hoạt động

3.2 Sơ đồ chi tiết từng khối
3.2.1 Khối cảm biến
Khối cảm biến bao gồm 1 module hồng ngoại và các cảm biến hồng ngoại. Các
cảm biến hồng ngoại sẽ nằm ở 2 bên so với mặt phảng trung trực của xe. Module
hồng ngoại sẽ nhận tín hiệu từ các cảm biến hồng ngoại thơng qua các chân IN1,
IN2, IN3, IN4. Giá trị của chân OUT của cảm biến hồng ngoại sẽ trả về giá trị
anolog. Module hồng ngoại sẽ nhận tín hiêụ, sau đó dùng triết áp để quyết định
ngưỡng trả về tại các chân OUT là 0 hay 1. Các chân OUT1, OUT2, OUT3, OUT4
nối với các chân tương ứng của khối điều khiển.

7|Page



Hình 3-2: Khối cảm biến

3.2.2 Khối điều khiển trung tâm
Ta dùng module Arduino làm trung tâm điều khiển. Lý do: Arduino có hệ
thống thư viện phong phú, lập trình dễ dàng, dễ kết nối với các khối khác

Hình 3-3: Khối điều khiển

8|Page


3.2.3 Khối điều khiển động cơ
Khối điều khiển động cơ gồm module L298 và 2 động cơ điều khiển 2 bánh trái,
phải của xe. Module L298 là một IC tích hợp gồm hai mạch cầu H bên trong. Điện
áp làm tăng cơng suất đầu ra từ 5V đến 47V,dịng có thể lên đến 4A.Các chân IN1,
IN2, IN3, IN4 là các chân tín hiệu điều khiển, được nối với các chân tương ứng của
khối điều khiển, quyết định xem các motor sẽ quay như thế nào. Các chân OUT1,
OUT2, OUT3, OUT4 sẽ được nối với động cơ. Hai chân ENA và ENB để điều
khiển các mạch cầu H trong L298. Nếu ở mức logic “1” thì cho phép mạch cầu H
hoạt đơng, cịn nếu ở mức logic “0” thì mạch cầu H khơng hoạt động.

Hình 3-4: Khối điều khiển động cơ

Mỗi động cơ được gắn với 1 bánh xe truyền động cho xe. Khi xe muốn rẽ trái,
động cơ bên phải sẽ quay, động cơ bên trái không quay và ngược lại, khi xe muốn rẽ
phải thì động cơ bên trái quay, động cơ bên phải không quay. Ở đây, chúng em dùng
động cơ giảm tốc để đảm bảo khả năng chịu tải của xe, có thể kéo theo các vật khác.

9|Page



Hình 3-5: Động cơ giảm tốc
Thơng số kỹ thuật của động cơ:[2]
-

Điện áp hoạt động: 3V ~ 9V DC
Momen xoắc cực đại: 800gf cm min 1:48 (3V)
Tốc độ không tải:
o 125 vòng/phút (3V)
o 208 vòng/phút (5V)

3.2.4 Khối nguồn
Để cung cấp nguồn cho khối điều khiển động cơ, ta dùng một nguồn 9V (có
cơng tắc ngắt nguồn). Để cấp nguồn cho khối điều khiển trung tâm, ta dùng một
nguồn 9V khác. Sở dĩ có sự khác nhau về nguồn pin mặc dù các pin có giá trị như
nhau vì động cơ tiêu hao năng lượng lớn hơn khi quay nên cần một nguồn ni
riêng.

Hình 3-6: Khối nguồn

10 | P a g e


3.3 Ước tính chi phí
Bảng 3.1: Ước tính chi phí
ST

Nội dung


T

Số lượng

Đơn giá
(VNĐ)

Thành tiền

1

Pin 9V

2

7.000

14.000

2

Kit Arduino

1

250.000

250.000

3


Module L298

1

70.000

70.000

4

Động cơ

2

40.000

80.000

5

Bánh xe truyền động

2

45.000

90.000

6


Bánh dẫn hướng[3]

1

15.000

15.000

7

Đế pin

1

3.000

3.000

1

130.000

130.000

8

Module hồng ngoại
dị đường V2[4]


652.00

Tổng

0

3.4 Phân tích nhân lực
Để có thể làm việc nhóm hiệu quả và phân chia cơng việc hợp lý, chúng em đã
tìm hiểu ưu nhược điểm của chính các thành viên trong nhóm và thu được kết quả
như sau:
Bảng 3.2: Phân tích nhân lực
ST
T

Thành
viên

Ưu điểm

1

Nguyễn
Minh

- Đúng giờ.
- Nhiệt huyết,
tinh thần trách
nhiệm cao.
- Có khả năng
lập trình, thuyết

trình tốt.

2



- Đúng giờ.

Nhược điểm

Thời gian

Phương tiện

- Bảo thủ
trong cơng
việc, đơi khi
khơng tơn
trọng ý kiến
thành viên
trong nhóm.

- Các buổi
chiều trong
tuần và
ngày nghỉ
cuối tuần.

- Xe máy.
- Laptop

- Arduino Uno
R3
- Module
L298

- Nhà xa

- Các ngày

- Xe máy.
11 | P a g e


Quang
Hồn

- Tinh thần trách
nhiệm trong
cơng việc.
-Có khả năng
gắn kết các
thành viên trong
nhóm

- Chưa có kỹ trong tuần
năng lập trình trừ cuối
cho Arduino
tuần.

- Laptop.

- Mỏ hàn.

3.5 Phân công công việc
Từ bảng đánh giá phân tích nhân lực và các cơng việc cần thực hiện, nhóm đã
phân chia cơng việc cho từng thành viên như sau:
Bảng 3.3: Phân công công việc
ST
T

Thành viên

1

Nguyễn Minh

2

Lê Quang Hồn

Cơng việc
- Lập kế hoạch.
- u cầu chức năng, phi chức năng.
- Tìm hiểu giá thành sản phẩm.
- Viết và test code.
- Mua linh kiện.
- Test động cơ.
- Sơ đồ khối và chi tiết các khối.
- Mô phỏng trên proteus.
- Phân tích nhân lực và phân cơng cơng việc.
- Mua linh kiện.

- Làm đường cho xe chạy.

4. Thực hiện
4.1 Thực hiện phần cứng
Dưới đây là sản phẩm sau khi hoàn thành:

12 | P a g e


Hình 4-7: Tổng thể sản phẩm
Chiếc xe có 3 bánh, sàn xe được làm bằng nhựa mica. Đặt trên sàn xe là
module L298N, module Arduino Uno R3 và module cảm biến hồng ngoại. Bên
cạnh module Arduino là 1 nút bấm màu đỏ cho phép bật/tắt thiết bị. Hai bên của
module cảm biến hồng ngoại là 2 quả pin 9V. Lý dó khơng đặt nguồn pin cạnh
module L298N vì khi hoạt động, vi điều khiển L298 có thể bị nóng, làm ảnh hưởng
đến nguồn pin. Bốn cảm biến hồng ngoại được đặt ở đầu xe.
4.1.1 Khối cảm biến
Khối cảm biến có hình dạng như sau:

13 | P a g e


Hình 4-8: Khối cảm biến
Khối cảm biến gồm module cảm biến hồng ngoại và 4 cảm biến hồng ngoại. 4
con cảm biến được lắp thẳng hàng nhau ở đầu của xe. Khoảng cách của 2 cảm biến
ở giữa đúng bằng độ rộng của đường xe chạy (đường màu đen). Các cảm biến được
đặt ở khoảng cách phù hợp (tức không ảnh hưởng lẫn nhau)
4.1.2 Khối điều khiển trung tâm
Khối điều khiển trung tâm chúng em sử dụng là Arduino uno R3 có hình dạng
sau:


Hình 4-9: Arduino UNO R3
-

Một vài thơng số của Arduino UNO R3
14 | P a g e


Bảng 4.1: Thông số của Arduino UNO R3[5]

-

-

Vi điều khiển

ATmega328 họ 8bit

Điện áp hoạt động

5V DC

Tần số hoạt động

16MHz

Dòng tiêu thụ

30 mA


Điện áp giới hạn

6 – 20V DC

Điện áp khuyên dùng

7 – 12V DC

Số chân Digital I/O

14 (6 chân cho phép sử dụng PWM)

Số chân Analog

6 (độ phân giản 10bit)

Dòng tối đa trên mỗi chân I/O

30 mA

Dòng ra tối đa (5V)

500mA

Bộ nhớ flash

32KB

SRAM


2KB

EEPROM

1KB

Các chân chức năng:
o GND: cực âm của nguồn điện cấp cho UNO
o 5V: Điện áp 5V đầu ra với dòng tối đa là 500 mA
o 3.3V: Điện áp 3.3V đầu ra với dòng tối đa 50 mA.
o Vin: Cấp nguồn ngoài cho Arduino UNO
Bộ nhớ:
o Bộ nhớ Flash (32KB): những đoạn lệnh lập trình sẽ được lưu trữ trong
bộ nhớ Flash của vi điều khiển
o Bộ nhớ SRAM (2KB): giá trị các biến được khai báo khi lập trình sẽ
lưu ở đây. Khi mất điện, dữ liệu trêu SRAM sẽ bị mất
o EEPROM (1KB): đây giống như ổ cứng mini – nơi có thể đọc và ghi
dữ liệu và không bị mất khi mất điện

4.1.3 Khối điều khiển động cơ
Khối điều khiển động cơ là module L298 có hình dạng sau:
15 | P a g e


Hình 4-10: Khối điều khiển động cơ
Hai nguồn 5V và 9V đều nối cực âm với chân GND của module. Nguồn 5V
(lấy từ chân ra 5V của Kit Arduino UNO R3) để ni module, nguồn 9V để cấp
dịng cho 2 động cơ A và B.

4.1.4 Khối nguồn

Vì đây là thiết kế xe nên không thể dùng nguồn cắm dây được. Chính vì thế,
chúng em quyết định dùng nguồn là 2 pin 9V. Một pin dùng để cấp nguồn cho
Arduino, một pin dùng để cấp nguồn cho động cơ.

16 | P a g e


Hình 4-11: 2 quả pin 9V

4.2 Thực hiện phần mềm
Chúng em sử dụng phầm mềm Arduino 1.6.12 để viết chương trình cho xe
chạy. Code bao gồm các phần:
4.2.1 Khai báo chân
Đầu tiên, ta cần khai báo các chân tín hiệu của các khối khác sẽ được nối với các
chân nào của Arduino UNO
#define
#define
#define
#define
#define
#define
#define
#define

inA1 6 //Định nghĩa chân inA1 của động cơ A nối với chân 6 của Arduino
inA2 7 //Định nghĩa chân inA2 của động cơ A nối với chân 7 của Arduino
inB1 8 //Định nghĩa chân inB1 của động cơ A nối với chân 8 của Arduino
inB2 9 //Định nghĩa chân inB2 của động cơ A nối với chân 9 của Arduino
sensor1 10 //Định nghĩa cảm biến 1 nối với chân 10 của Arduino UNO
sensor2 11 //Định nghĩa cảm biến 1 nối với chân 11 của Arduino UNO

sensor3 12 //Định nghĩa cảm biến 1 nối với chân 12 của Arduino UNO
sensor4 13 //Định nghĩa cảm biến 1 nối với chân 13 của Arduino UNO

UNO
UNO
UNO
UNO

4.2.2 Khai báo chân input, ouput
Sau khi khai báo các chân tín hiệu, ta xác định chân nào sẽ nhận tín hiệu đầu
vào, chân nào sẽ cho tín hiệu đầu ra. Để kiểm tra hoạt động của hệ thống sau này, ta
dùng lệnh Serial.begin() để gửi tín hiệu về máy tính
void setup() {

17 | P a g e


Serial.begin(9600); // thiet lap su dung serial gui tin hieu ve may tinh
pinMode(sensor1, INPUT); //Set chân sensor của module hồng ngoại là input
pinMode(sensor2, INPUT);
pinMode(sensor3, INPUT);
pinMode(sensor4, INPUT);

}

pinMode(inA1,
pinMode(inA2,
pinMode(inB1,
pinMode(inB2,


OUTPUT); //Set chân inA1 của dc A là output
OUTPUT);
OUTPUT); //Set chân inB1 của dc B là output
OUTPUT);

4.2.3 Hàm điều khiển chiều quay của một động cơ
void motorControlNoSpeed(byte in1, byte in2, byte direct)
{
// in1, in2 là 2 tín hiệu điều khiển chiều quayd dộng cơ
switch (direct)
{
case 0:// Dừng không quay
digitalWrite(in1, LOW);
//Thiết lập in1 ở mức thấp (LOW)
digitalWrite(in2, LOW);
break;
case 1:// Quay chiều thứ 1
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
break;
case 2:// Quay chiều thứ 2
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
break;
//default:
}
}

4.2.4 Hàm điều khiển hướng di chuyển của xe
void robotMover(byte inR1, byte inR2, byte inL1, byte inL2, byte action)

{
/*
inR1 inR2 là 2 chân tín hiệu động cơ bên phải
inL1 inL2 là 2 chân tín hiệu động cơ bên trái
*/
switch (action)
{
case 0:// không di chuyển
motorControlNoSpeed(inR1, inR2, 0);
motorControlNoSpeed(inL1, inL2, 0);
break;
case 1://đi thẳng
motorControlNoSpeed(inR1, inR2, 1);
motorControlNoSpeed(inL1, inL2, 1);
break;
case 2:// lùi lại
motorControlNoSpeed(inR1, inR2, 2);
motorControlNoSpeed(inL1, inL2, 2);

18 | P a g e


break;
case 3:// quay trái
motorControlNoSpeed(inR1, inR2, 1);
motorControlNoSpeed(inL1, inL2, 2);
break;
case 4:// quay phải
motorControlNoSpeed(inR1, inR2, 2);
motorControlNoSpeed(inL1, inL2, 1);

break;
case 5:// rẽ trái
motorControlNoSpeed(inR1, inR2, 1);
motorControlNoSpeed(inL1, inL2, 0);
break;
case 6:// rẽ phải
motorControlNoSpeed(inR1, inR2, 0);
motorControlNoSpeed(inL1, inL2, 1);
break;
default:
action = 0;
}
}

4.2.5 Các hàm kiểm tra vị trí cảm biến hồng ngoại
int deviationDarkLine4Sensor(int PinNumb1, int PinNumb2, int PinNumb3, int PinNumb4)
{
int left = 0;
//biến kiểm tra lệch trái
int right = 0; // biến kiểm tra lệch phải
left = IRSensor(PinNumb1) + IRSensor(PinNumb2); //kiểm tra mấy cảm biến trái ở
trong màu đen
right = IRSensor(PinNumb3) + IRSensor(PinNumb4); //kiểm tra mấy cảm biến phải ở
trong màu đen
Serial.print("left="); // In lên màn hình máy tính (nếu kết nối máy tính)
Serial.println(left);
Serial.print("right=");
Serial.println(right);
if ((left != 0) || (right != 0))return left - right;
else return 3;

}
boolean IRSensor(byte PinNumb)
{
//0 sáng
//1 tối
return(digitalRead(PinNumb));
}

4.2.6 Hàm điều khiển động cơ dựa theo cảm biến hồng ngoại
void darkLineFollower(byte inR1, byte inR2, byte inL1, byte inL2, byte sen1, byte sen2, byte
sen3, byte sen4)
{
//Hàm điều khiển robot bám line màu tối
//inR1, inR2 và inL1, inL2 là các chân tín hiệu lần lượt điều khiển động cơ di chuyển
bên phải và trái

19 | P a g e


//sen1 đến sen4 là chân nhận tín hiệu từ cảm biến hồng ngoại
switch (deviationDarkLine4Sensor(sen1, sen2, sen3, sen4))
{
case -1:
robotMover(inR1, inR2, inL1, inL2, 1);// rẽ phải
delay(10);
// dừng 10 ms
break;
case -2:
robotMover(inR1, inR2, inL1, inL2, 1);
delay(10);

break;
case 1:
robotMover(inR1, inR2, inL1, inL2, 2);// rẽ trái
delay(10);
break;
case 2:
robotMover(inR1, inR2, inL1, inL2, 2);
delay(10);
break;
case 0:
robotMover(inR1, inR2, inL1, inL2, 3);// tiến thẳng
delay(10);
break;
default:
robotMover(inR1, inR2, inL1, inL2, 0);// đứng yên
delay(10);
break;
}
}

4.2.7 Hàm chính
void loop() {
darkLineFollower(inA1, inA2, inB1, inB2, sensor1, sensor2, sensor3, sensor4);
delayMicroseconds(1);
}

4.3 Nạp code
- Bước 1: Kết nối Arduino Kết nối với máy tính
- Bước 2: Tìm cổng kết nối của Arduino UNO với máy tính[6]
Mở cử sổ Run và gõ lệnh “mmc devmgmt.msc”


20 | P a g e


Hình 4-12: Mở sửa sổ Device Manager
Sau đó bấn Enter, cửa sổ Device Manager sẽ hiện lên

Hình 4-13: Giao diện cửa sổ Device Manager
21 | P a g e


Chọn mục Ports (COM & LPT), ta sẽ thấy cổng COM Arduino UNO R3
- Bước 3: Khởi động Arduino IDE
- Bước 4: Cấu hình làm việc cho Arduino IDE
Vào menu Tools -> Board -> chọn Arduino Uno

Hình 4-14: Chọn Board
-

Bước 5: Mở file code và nạp chương trình

Hình 4-0-15: Nạp chương trình
22 | P a g e


5. Kiểm thử
5.1 Kiểm tra cảm biến hồng ngoại
Trong phần báo cáo này, chúng em kiểm thử các cảm biến. Chúng em kiểm thử
bằng cách viết một chương trình riêng để kiểm tra hoạt động của cảm biến. Chương
trình có ghi nếu cảm biến nhận màu đen thì màn hình máy tính hiện lên chữ “black”

cịn nếu cảm biến nhận màu trắng thì màn hình máy tính hiện lên 1 nét liền. Chúng
em thực hiện kiểm tra tất cả 4 con cảm biến bằng 4 trường hợp và ghi lại trong các
bức ảnh.
if (digitalRead (sensor1) == 0) Serial.print("_______");
else Serial.print ("black ");
if (digitalRead (sensor2) == 0) Serial.print ("_______");
else Serial.print ("black ");
if (digitalRead (sensor3) == 0) Serial.print ("_______");
else Serial.print ("black ");
if (digitalRead (sensor4) == 0) Serial.print ("_______\n");
else Serial.print ("black \n");
delay (100);



Trường hợp 1: test cảm biến 1 trên nền đen; cảm biến 2, 3, 4 trên nền trắng.
Kết quả như sau:

Hình 5-16: Test cảm biến 1 trên nền đen, còn lại trên nền trắng
23 | P a g e




Trường hợp 2: test cảm biến 2 trên nền đen cịn lại trắng. Kết quả được ghi

lại như sau:

Hình 5-17: Test cảm biến 1 trên nền đen, còn lại trên nền trắng



Trường hợp 3: test cảm biến 2 và 3 trên nền đen còn lại trắng. Kết quả thu
được như sau:

Hình 5-18: Test cảm biến 2 và 3 trên nền đen còn lại trên nền trắng

24 | P a g e


×