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

Đồ Án Điều Khiến Xe Bằng Bluetooth Dùng Arduino

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 (7.14 MB, 40 trang )

MỤC LỤC
Lời nói đầu...........................................................................................................4
CẤU TRÚC ĐIỀU KHIỂN.................................................................................5
PHẦN I. GIỚI THIỆU CHUNG VỀ CÁC THIẾT BỊ CẦN THIẾT..............6
I. GIỚI THIỆU VỀ ARDUINO NANO............................................................6
1. Chức năng của các chân:...........................................................................7
2. Lập trình cho arduino................................................................................8
II. GIỚI THIỆU CHUNG VỀ MẠCH BLUETOOTH HC-05 VÀ MIT APP
INVENTOR2...................................................................................................10
1.

Module bluetooth HC-05.....................................................................10

2.

App Inventor........................................................................................12

III. Cảm biến siêu âm HC – SR05...................................................................14
1.

Các thơng số chính..............................................................................14

2.

Sơ đồ chân của HC-SR05 gồm 4 chân:...............................................14

3.

Nguyên lý hoạt động............................................................................15

IV. Động cơ servo SG40 Tower Pro................................................................15


Thông số kỹ thuật:.......................................................................................16
V. Cảm biến hồng ngoại..................................................................................16
Thông số kỹ thuật:.......................................................................................17
VI. Động cơ DC..............................................................................................17
VII. Modul điều khiển động cơ L298..............................................................18
Thông số kỹ thuật:.......................................................................................18
PHẦN II. GIỚI THIỆU KHÁI QUÁI VỀ ĐỀ TÀI XE DỊ LINE................19
I. Một số hình ảnh về robot.............................................................................19
II. Thuật tốn điều khiển.................................................................................22
1. Phần chương trình dị đường + tránh vật cản..........................................22
2.

Phần chương trình điều khiển bằng bluetooth.....................................26

3.

Các thuật tốn điều khiển....................................................................29

a)

Thuật tốn chính (điều khiển bằng bluetooth).....................................29

b)

Thuật tốn của chương trình kiểm tra vật cản....................................30
2


c)


Thuật tốn của chương trình tự động..................................................31

d)

Thuật tốn chương trình dị đường......................................................31

PHẦN III. CHƯƠNG TRÌNH ĐIỀU KHIỂN................................................32
PHẦN IV. KẾT LUẬN......................................................................................41

3


Lời nói đầu
Trong cuộc sống ngày nay cùng với sự tiến bộ vượt bậc của con người đòi
hỏi nền Khoa học - Kỹ thuật đã phải không ngừng nâng cao hoàn thiện và phát
triển để đáp ứng nhu cầu cuộc sống của con người. Công nghiệp phát triển vượt
trội, kéo theo đó là ảnh hưởng của mơi trường làm việc, tính chất cơng việc ngày
càng khó khăn nguy hiểm hơn, khả năng lao động của con người có giới hạn. Để
giải quyết vấn đề này, robot đã ra đời để giúp đỡ con người trong phục vụ sản
xuất, làm việc trong những điều kiện nguy hiểm, khó khăn. Ngồi ra robot còn
dùng trong lĩnh vực thám hiểm quân sự. Lĩnh vực robot di động ngày càng được
sự quan tâm của các nhà nghiên cứu và xã hội. Đặc biệt robot dò đường là vấn
đề thiết yếu của robot di động.
Song, việc nghiên cứu, tìm hiểu và thiết kế robot dị đường cũng là đề tài
chính của Đồ Án 1 mà nhóm chúng em sẽ giới thiệu trong báo cáo này.
Với yêu cầu đòi hỏi sự tự giác học tập, nghiên cứu, tìm hiểu của Đồ Án 1 đã
giúp chúng em hiểu rõ được giá trị thiết thực của môn học, giúp nâng cao khả
năng làm việc nhóm. Đồng thời trang bị thêm cho bản thân kiến thức về lập
trình Arduino, thiết kế mạch in trên Atium,... Tạo nền tảng kinh nghiệm cơ bản
cho việc thực hiện báo cáo đồ án tốt nghiệp sau này.

Sau cùng, chúng em xin chân thành cảm ơn sự giúp đỡ, chỉ bảo tận tình của
thầy Trần Tiến Lương trong suốt quá trình học tập, cảm ơn thầy đã cho chúng
em những gợi ý để phát triển đề tài, đồng thời bổ sung những giải pháp để khắc
phục khó khăn.
Do kiến thức và kinh nghiệm cịn hạn hẹp nên trong quá trình báo cáo kết
quả học tập cịn nhiều điều sai sót, mong thầy cơ tận tình chỉ bảo để chúng em
sửa chữa rút kinh nghiệm, hoàn thiện hơn ở những báo cáo sau. Chúng em xin
chân thành cảm ơn.

4


CẤU TRÚC ĐIỀU KHIỂN

Module Bluetooth HC-05

Smartphone

Module siêu âm

Servo 2

Module hồng
ngoại

Servo 3

Arduino Nano

Servo 4


Còi
Module điều khiển động
cơ L298N

M1

M2

5


PHẦN I. GIỚI THIỆU CHUNG VỀ CÁC THIẾT BỊ CẦN THIẾT
I. GIỚI THIỆU VỀ ARDUINO NANO
Arduino Nano là một bảng vi điều khiển thân thiện, nhỏ gọn, đầy
đủ. Arduino Nano nặng khoảng 7g với kích thước từ 1,8cm - 4,5cm. Bài viết này
trình bày về các thơng số kỹ thuật quan trọng, nhất là sơ đồ chân và chức năng
của mỗi chân trong bảng Arduino Nano.
Vi điều khiển
Điện áp hoạt động
Tần số hoạt động
Dòng tiêu thụ
Điện áp vào khuyên dùng
Điện áp vào giới hạn
Số chân Digital I/O
Số chân Analog
Dòng tối đa trên mỗi chân I/O
Dòng ra tối đa (5V)
Dòng ra tối đa (3.3V)
Bộ nhớ flash

SRAM
EEPROM
Kích thước

ATmega328 (họ 8bit)
5V – DC
16 MHz
30mA
7-12V – DC
6-20V – DC
14 (6 chân PWM)
8 (độ phân giải 10bit)
40 mA
500 mA
50 mA
32 KB (ATmega328) với 2KB dùng bởi
bootloader
2 KB (ATmega328)
1 KB (ATmega328)
1.85cm x 4.3cm

Bảng 1 Thông số của KIT Arduino

6


1. Chức năng của các chân:
Thứ tự chân

Tên Pin


Kiểu

D1 / TX

I/O

2

D0 / RX

I/O

3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

20
21
22
23
24
25
26

RESET
GND
D2
D3
D4
D5
D6
D7
D8
D9
D10
D11
D12
D13
3V3
AREF
A0
A1
A2
A3
A4
A5

A6
A7

Đầu vào
Nguồn
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
Đầu ra
Đầu vào
Đầu vào
Đầu vào
Đầu vào
Đầu vào
Đầu vào
Đầu vào
Đầu vào
Đầu vào

27


+ 5V

1

Đầu ra hoặc
đầu vào

28

RESET

Đầu vào

29
30

GND
VIN

Nguồn
Nguồn

Chức năng
Ngõ vào/ra số
Chân TX-truyền dữ liệu
Ngõ vào/ra số
Chân Rx-nhận dữ liệu
Chân reset, hoạt động ở mức thấp
Chân nối mass
Ngõ vào/ra digital

Ngõ vào/ra digital
Ngõ vào/ra digital
Ngõ vào/ra digital
Ngõ vào/ra digital
Ngõ vào/ra digital
Ngõ vào/ra digital
Ngõ vào/ra digital
Ngõ vào/ra digital
Ngõ vào/ra digital
Ngõ vào/ra digital
Ngõ vào/ra digital
Đầu ra 3.3V (từ FTDI)
Tham chiếu ADC
Kênh đầu vào tương tự kênh 0
Kênh đầu vào tương tự kênh 1
Kênh đầu vào tương tự kênh 2
Kênh đầu vào tương tự kênh 3
Kênh đầu vào tương tự kênh 4
Kênh đầu vào tương tự kênh 5
Kênh đầu vào tương tự kênh 6
Kênh đầu vào tương tự kênh 7
+ Đầu ra 5V (từ bộ điều chỉnh Onboard) hoặc + 5V (đầu vào từ nguồn
điện bên ngoài)
Chân đặt lại, hoạt động ở mức thấp
Chân nối mass
Chân nối với nguồn vào

Bảng 2 Thống kê các chân chức năng của KIT Arduino

7



2. Lập trình cho arduino
Cũng tương tự như bên ARDUINO N3, Arduino Nano sử dụng chương
trình Arduino IDE để lập trình, và ngơn ngữ lập trình cho Arduino cũng tên là
Arduino (được xây dựng trên ngôn ngữ C).
Đầu tiên, ta cần cài Driver của Arduino Nano và tải về bản Arduino IDE mới
nhất cho máy tính, các bước cài đặt hoàn toàn tương tự như Arduino Uno R3.
Sau khi cài đặt, ta sẽ thấy một thông báo dạng "Cổng COMx đã được cài đặt
thành công" (chữ "x" này sẽ được thay bằng một số nguyên dương,hãy nhớ lấy
số này, vì sau này ta sẽ dùng cổng COMx này để lập trình cho Arduino Nano)
Sau đó, ta tìm loại board và cổng Serial mới như hình sau là được. Lưu ý, cổng
COM trong hình dưới đây là chỉ là hình minh họa trong máy tính.

8


Hình 1.1. Hướng dẫn chọn loại kit Arduino trong phần mềm Arduino IDE

Hình 1. 2. Hướng dẫn chọn cổng kết nối giữa PC và kit Arduino

Sau khi hoàn thành quá trình cài đặt, nếu muốn quay lại lập trình cho
Arduino Uno, thì chỉ cần chỉnh tên board là Arduino Uno và "Serial Port" thành
cổng Serial mà con Uno đang kết nối.

9


Với kích thước cực kì nhỏ gọn và khả năng tương tự như Arduino Uno, ta
có thể ứng dụng nó trong các dự án yêu cầu kích thước nhỏ và khối lượng nhẹ,

chẳng hạn như:
Xe dò đường …
II. GIỚI THIỆU CHUNG VỀ MẠCH BLUETOOTH HC-05 VÀ MIT APP
INVENTOR2
1. Module bluetooth HC-05

Hình 1. 3. Module bluetooth HC-05

Module thu phát bluetooth HC-05 dùng để thiết lập kết nối Serial giữa
2 thiết bị bằng sóng bluetooth. Điểm đặc biệt của module bluetooth HC-05 là
module có thể hoạt động được ở 2 chế độ: MASTER hoặc SLAVE.
+ Ở chê độ SLAVE: bạn cần thiết lập kết nối từ smartphone, laptop, usb
bluetooth để dị tìm module sau đó pair với mã PIN là 1234. Sau khi pair thành
cơng, bạn đã có 1 cổng serial từ xa hoạt động ở baud rate 9600.
+ Ở chế độ MASTER: module sẽ tự động dị tìm thiết bị bluetooth khác (1
module bluetooth HC-06, usb bluetooth, bluetooth của laptop...) và tiến hành
pair chủ động mà khơng cần thiết lập gì từ máy tính hoặc smartphone.
Thơng số kỹ thuật:
- Điện áp hoạt động: 3.3 ~ 5VDC
- Mức điện áp chân giao tiếp: 3.3VDC và 5VDC.
10


- Dòng điện khi hoạt động: khi ghép nối 30 mA, sau khi ghép nối hoạt
động truyền nhận bình thường 8 mA.
- Tốc độ truyền UART có thể chọn được: 1200, 2400, 4800, 9600, 19200,
38400, 57600, 115200
- Tần số: 2.4 GHz
- Tính năng bảo mật: xác thực và mã hóa
- Kích thước: 15.2 x 35.7 x 5.6mm


Hình 1. 4. Sơ đồ chân IC của module HC-05

Hình 1. 5. Sơ đồ kết nối của module HC-05 với Arduino.

11


2. App Inventor
App Inventor là một ứng dụng web của Google, chạy bởi trình duyệt trên
máy tính cá nhân, tạo điều kiện để mọi người có thể tự xây dựng phần mềm ứng
dụng cho thiết bị di động dùng hệ điều hành Android

Hình 1. 6 MIT App Inventor2

App Inventor khơng địi hỏi bạn phải có kiến thức về lập trình. Thay vì
viết các câu lệnh, bạn có thể thiết kế bộ mặt ứng dụng theo ý mình một cách trực
quan và lắp ráp các thẻ lệnh để diễn đạt chức năng của phần mềm.
App Inventor có sẵn đủ loại thẻ lệnh giúp làm mọi việc với điện
thoại Android : thẻ lưu giữ thông tin, thẻ lặp lại thao tác nào đó nhiều lần, thẻ
thực hiện thao tác với điều kiện định trước. Thậm chí có cả thẻ lệnh giúp bạn
liên lạc với các dịch vụ trên mạng như Twitter. Ngoài ra còn cho phép truy xuất
bộ định vị GPS, nên người dùng có thể tạo ra các ứng dụng để xác định vị trí…
Và cuối cùng để sử dụng được App Inventor,truy cập vào địa
chỉ ai2.appinventor.mit.edu. Sau đó tiến hành đăng nhập bằng tài khoản Google
của bạn để mở trang quản lí các project.

12



Ứng dụng sẽ có 2 khơng gian:
● Designer
Đây là khơng gian để người dùng tạo đồ họa và các nút tác vụ hiện ngay
trên nền ứng dụng.

Hình 1. 7. Khơng gian Designer của App Inventer 2

● Blocks
Đây là không gian lập trình. Với các khối lệnh có sẵn, ngươi dùng có thể
dễ dàng thao tác kéo thả hoặc ghép các khối lại với nhau để tạo lệnh hồn
chỉnh thay vì lập trình bằng các dịng code phức tạp.

Hình 1. 8. Không gian Block của App Inventer 2

13


III. Cảm biến siêu âm HC – SR05
Cảm biến siêu âm HC-SR05 (cảm biến đo khoảng cách) sử dụng rất phổ
biến để xác định khoảng cách. HC-SR05 sử dụng sóng siêu âm và có thể đo
khoảng cách trong khoảng từ 2 -> 300 cm, với độ chính xác gần như chỉ phụ
thuộc vào cách lập trình.
1. Các thơng số chính


Nguồn làm việc: 3.3V – 5V (chuẩn 5V)



Dòng tiêu thụ : 2mA




Tín hiệu đầu ra xung: HIGH (5V) và LOW (0V)



Khoảng cách đo: 2cm – 300cm



Độ chính xác: 0.5cm

2. Sơ đồ chân của HC-SR05 gồm 4 chân:


VCC Pin 5V Arduino.



Trig Chân digital (OUTPUT), đây là chân sẽ phát sóng siêu âm từ
cảm biến.



Echo Chân digital (INPUT), đây là chân sẽ nhận lại tín hiệu được
phản xạ từ vật cản




GND GND Arduino.

14


Hình 1. 9. Module siêu âm

3. Nguyên lý hoạt động
Để đo khoảng cách, ta sẽ phát 1 xung rất ngắn (5 microSeconds) từ chân
trig. Sau đó, cảm biến sẽ tạo ra 1 xung HIGH ở chân echo cho đến khi nhận lại
được sóng phản xạ ở pin này. Chiều rộng của xung sẽ bằng với thời gian sóng
siêu âm được phát từ cảm biển và quay trở lại.
Tốc độ của âm thanh trong khơng khí là 340 m/s (hằng số vật lý), tương
đương với 29,412 microSeconds/cm (106 / (340*100)). Khi đã tính được thời
gian, ta sẽ chia cho 29,412 để nhận được khoảng cách.

Hình 1. 10. Nguyên lý hoạt động của Module siêu âm

15


IV. Động cơ servo SG40 Tower Pro
Động cơ servo SG40 có kích thước nhỏ, là loại được sử dụng nhiều nhất
để làm các mơ hình nhỏ hoặc các cơ cấu kéo không cần đến lực nặng.
Động cơ servo SG90 Tower Pro có tốc độ phản ứng nhanh, các bánh răng
được làm bằng nhựa nên cần lưu ý khi nâng tải nặng vì có thể làm hư bánh răng,
động cơ RC Servo 9G có tích hợp sẵn Driver điều khiển động cơ bên trong nên
có thể dễ dàng điều khiển góc quay bằng phương pháp điều chỉnh độ rộng xung
PWM.


Hình 1. . Động cơ servo SG40

Hình 1. 11. Động cơ servo sg90
Thông số kỹ thuật:


Điện áp hoạt động: 4.8 ~ 5VDC



Tốc độ: 0.12 sec/ 60 deg (4.8VDC)



Lực kéo: 1.6 Kg.cm



Kích thước: 21x12x22mm



Trọng lượng: 9g.
16


V. Cảm biến hồng ngoại

Hình 1. 12. Cảm biến hồng ngoại 4 kênh


Module thu phát hồng ngoại với 4 kênh riêng biệt, có thể tách rời thành
từng đầu dị khác nhau với dây nối dài cho từng đầu, dễ dàng trong q trình sắp
xếp theo mục đích của từng ứng dụng.
Có thể điều chỉnh độ nhạy của từng cảm biế mn qua mỗi biến trở đi kèm.
Tín hiệu ngõ ra dạng số thuận tiện cho quá trình xử lý cùng với đèn báo cho mỗi
kênh cảm biến
Thông số kỹ thuật:


Điện áp hoạt động: 3.3V - 5V.



Dòng hoạt động:1A.



Nhiệt độ hoạt động: -10℃ ~ 50℃.



Khoảng cách nhận biết: 1mm ~ 6cm



Kích thước board: 42×38×12 (mm)



Kích thước của mạch cảm biến: 25×12×12 (mm)




Các ngõ ra của mạch: gồm có 6 cổng ra, 1234 là tín hiệu của 4 mạch
cảm biến, 5 là VCC, 6 là GND.

17


VI. Động cơ DC

Hình 1.13 . Động cơ DC V1

Thơng số kỹ thuật:


Điện áp hoạt động : 3 ~ 6 VDC



Dòng điện tiêu thụ: 110-200mA



6V - 200mA: 200 ± 10% vòng / phút



3V - 150mA: 90 ± 10% vòng / phút


18


VII. Modul điều khiển động cơ L298
Mạch điều khiển động cơ DC L298 V2 sử dụng IC Driver điều khiển
động cơ L298 chính hãng ST, mạch có chất lượng tốt, khả năng hoạt động bền bỉ
và thiết kế tiện lợi với trở kéo tích hợp, diod bảo vệ, led hiển thị trạng thái,
Domino và chân cắm dễ dàng sử dụng.Mạch điều khiển động cơ DC L298 V2
có khả năng điều khiển 2 động cơ DC với dòng cấp lên đến 2A, trên mạch có IC
nguồn 7805 giúp cấp nguồn 5VDC cho các module khác.

Hình 1. 14. Module điều khiển động cơ

Thơng số kỹ thuật:


IC chính: L298 - Dual Full Bridge Driver



Cơng suất tối đa: 25W 1 cầu



Dịng tối đa cho mỗi cầu H là: 2A



Mức điện áp logic: Low -0.3V~1.5V, High: 2.3V~Vss




Điện áp đầu vào: 5~46VDC



Kích thước: 60mm*54mm



Trọng lượng: ~48g

19


PHẦN II. GIỚI THIỆU KHÁI QUÁI VỀ ĐỀ TÀI XE DỊ LINE
I. Một số hình ảnh về robot
+ Phần chuyển động:

Hình 2. 1. Bánh xe; động cơ DC; module động cơ L298N
+ Phần cảm biến:

Hình 2. 2. Cảm biến siêu âm
20


Hình 2. 4. Module Bluetooth HC-05

Hình 2. 3. Cảm biến hồng ngoại


+ Tay robot:

21

Hình 2. 5. Cánh tay robot với động cơ servo SG90


II. Thuật tốn điều khiển
1. Phần chương trình dị đường + tránh vật cản
Các chân tín hiệu, điều khiển được nối với các chân Arduino như sau:
● Module cảm biến hồng ngoại
Module
Arduino

Ss1
12

Ss2
4

Ss3
A4

Ss4
A5

Bảng 3. Chân ghép nối sensor với Arduino

● Module L298N
Module


In1

In2

In3

In4

enA

enB

Arduino

A0

A1

A2

A3

3

11

Bảng 4 Chân ghép nối Module L298N với Arduino

Ta có sơ đồ mơ phỏng trên Proteus:


Đ.cơt
rái

Đ.cơ
phải

Hình 2.6. Sơ đồ đấu dây của mạch điều khiển tự động

*Note: Do trong proteus khơng có module dị đường nên kết quả trả về
được thay thế bằng các logicstate.

22


Phân tích ngun lý dị line của robot :
Khi hoạt động, tín hiệu phản xạ hồng ngoại khi gặp nền đen (trắng)
trên các mắt thu được đưa qua IC so sánh, trả về kết quả là 0 (line trắng) hoặc
1 (line đen) về Arduino, Arduino đọc tín hiệu trả về bằng lệnh digitalRead()
và đưa ra một giá trị lỗi vị trí (e) của Robot (giá trị của e được ghi trong
bảng phân tích độ lệch).
Lấy robot làm chuẩn, ta quy ước, nếu Robot bị lệch trái (line lệch về
bên trái robot) thì e nhỏ hơn 0, ngược lại, nếu Robot bị lệch phải (line lệch
về bên phải robot) thì e lớn hơn 0. Nếu robot đi đúng vạch (2 mắt thu ở giữa
có tín hiệu 1) thì e bẳng 0.
Lưu giá trị e vào biến pre_e ( sử dụng trong trường hợp cua gấp bị lệch
hoàn toàn khỏi line, giả sử trước đó robot đang lệch trái thì bị mất line, nó
vẫn biết được là đang lệch trái để thực hiện điều chỉnh quay về phía line.
Ta có bảng phân tích độ lệch của robot như sau:
Sensor1


Sensor2

Sensor3

Sensor 4

Pre_e

e

3

3

-3

-3

0

0

0

0

1

0


0

0

-3

1

1

0

0

-2

0

1

0

0

-1

0

1


1

0

0

0

0

1

0

1

0

0

1

1

2

0

0


0

1

3

Bảng 5 Bảng phân tích sai lệch

23


Mắt thu

ENB

ENA
Robot bị lệch
trái (e < 0)

ENB

ENA
Robot bị lệch
phải (e > 0)

Điều khiển robot bám line
Để thay đổi tốc độ động cơ, module L298 thay đổi điện áp đặt vào
động cơ bằng cách băm xung (PWM) trên các chân ENA, ENB. Các chân
băm xung Arduino có độ phân giải 0-2^8bit (0-255) tương ứng với điện

áp ra ( cấp vào các chân (ENA, ENB) là 0-5V và cũng tương ứng với tốc
độ động cơ từ 0-max. Ban đầu cho robot chạy thẳng (IN1 = 1, IN2 = 0,
IN3 = 0, IN4 = 1), đồng thời giá trị đặt tại các chân băm xung điều khiển
động cơ là 55.
Nếu robot chạy đúng vạch, e = 0, robot chạy thẳng không cần điều
chỉnh.
Nếu robot lệch trái, nhứ hình minh họa ta thấy động cơ trái cần
giảm tốc, còn động cơ phải cần phải tăng tốc, tương ứng với việc giảm số
xung cấp cho ENB và tăng số xung cấp cho ENA để robot quay về đúng
line. Lúc này e đang nhỏ hơn 0 nên ta lấy ENA = 55 – e và ENB = 55 + e.
Nếu robot lệch phải, nhứ hình minh họa ta thấy động cơ trái cần
tăng tốc, còn động cơ phải cần phải giảm tốc, tương ứng với việc tăng số
xung cấp cho ENB và giảm số xung cấp cho ENA để robot quay về đúng
line. Lúc này e đang lớn hơn 0 nên ta lấy ENA = 55 - e và ENB = 55 + e.
24


Như vậy ta thấy trong cả hai trường hợp lệch tría và lệch phải số
xung cấp cho các chân ENA, ENB đều theo công thức xác định
ENA = 55 - e và ENB = 55 + e.
Tuy nhiên, giá trị e từ (-5 – 5) tương đối nhỏ, dẫn đến độ nhạy của
robot khi bắt line là không cao, robot bị lệch line nhiều. Do đó ta cần
khuếch đại e lên bằng hệ số k nào đó, hệ số k được xác định bằng thực
nghiệm. Sau nhiều lần thử nhóm đã tìm ra hệ số k tương đối phù hợp là k
= 20.
Như vậy, công thức để điều chỉnh tốc độ 2 động cơ là
ENA = 55 - 15e và ENB = 55 + 15e.
Nguyên lý hoạt động của cảm biến siêu âm được nêu trong
phần giới thiệu chung


25


2. Phần chương trình điều khiển bằng bluetooth
Module bluetooth HC05 giao tiếp với arduino qua cổng truyền thông nối
tiếp. Dữ liệu nhận được từ smart phone được HC05 lưu tại bộ nhớ flash rồi
truyền tới Arduino và được Arduino lưu trong bộ nhớ đệm Serial. Để lấy được
dữ liệu từ bộ nhớ đệm của Arduino, ta sử dụng lệnh Serial.read().
Giao diện điều khiển:

Hình 2.7. Giao diện App điều khiển Bluetooth

26


×