Tải bản đầy đủ (.pdf) (95 trang)

Thiết Kế Hệ Thống Thông Tin Và Quản Lý Xe Cân Bằng Thông Qua Điện Thoại Thông Minh.pdf

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.43 MB, 95 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH

ĐỒ ÁN TỐT NGHIỆP
1*¬1+CNKT Ơ Tễ

7+,7.+7+1*7+é1*7,19ơ
481/ộ;(&ặ1%1*7+é1*48$
,17+2,7+é1*0,1+

GVHD: 7K69ẻ1++81
SVTH : /ầ91+27


9đ&é1*48ặ1


SKL007894

Tp. H Chớ Minh, thỏng 0 20


TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT TP HCM
KHOA CƠ KHÍ ĐỘNG LỰC
--------

ĐỒ ÁN TỐT NGHIỆP

THIẾT KẾ HỆ THỐNG THƠNG TIN VÀ QUẢN LÝ XE
CÂN BẰNG THÔNG QUA ĐIỆN THOẠI THÔNG MINH



SVTH :
MSSV :
SVTH :
MSSV :
GVHD :

LÊ VĂN HOẠT
13145095
VÕ CÔNG QN
13145208
ThS. VŨ ĐÌNH HUẤN

Tp. Hồ Chí Minh, tháng 7 năm 2017


TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT TP HCM
KHOA CƠ KHÍ ĐỘNG LỰC
--------

ĐỒ ÁN TỐT NGHIỆP
Chun ngành: Cơng nghệ kỹ thuật ơ tơ
Tên đề tài

THIẾT KẾ HỆ THỐNG THƠNG TIN VÀ QUẢN LÝ XE
CÂN BẰNG THÔNG QUA ĐIỆN THOẠI THÔNG MINH
SVTH :
MSSV :
SVTH :
MSSV :

GVHD :

LÊ VĂN HOẠT
13145095
VÕ CÔNG QUÂN
13145208
ThS. VŨ ĐÌNH HUẤN

Tp. Hồ Chí Minh, tháng 7 năm 2017


LỜI CẢM ƠN
Để hồn thành đố án này nhóm đã làm việc một cách tích cực liên tục và nỗ nực
khơng ngừng trong cơng việc nghiên cứu và tìm kiếm tài liệu liên quan đến nội dung của đề
tài. Tuy nhiên bên cạnh những cố gắng của bản thân, nhóm cũng đã gặp khơng ít những khó
khăn, vƣớng mắc và ngƣời đã giúp chúng em tìm ra hƣớng đi đúng đó là giáo viên hƣớng
dẫn, thầy Vũ Đình Huấn.
Với lƣợng kiến thức cịn hạn hẹp, thêm vào đó đây là lần đầu chúng em thực hiện đồ
án nên chắc chắn khơng tránh khỏi những thiếu sót , hạn chế vì thế chúng em rất mong có
đƣợc sự góp ý và nhắc nhờ từ thầy giáo để có thể hồn thiện đề tài của mình
Chúng em xin chân thành cảm ơn thầy cơ trƣờng sƣ phạm kĩ thuậy đã tận tình dạy dỗ
chúng em trong những năm qua, đặc biệt là các thầy cơ trong khoa cơ khí động lực đã giúp
chúng em rất nhiều trong vấn đề học tập để chúng em vƣợt qua những khó khăn của thời
sinh viên.
Chúng em xin chân thành cảm ơn sự hƣớng dẫn tận tình của giáo viên hƣớng dẫn,
thấy Vũ Đình Huấn đã cung cấp cho chúng em những kiến thức chuyên môn cũng nhƣ
những ý kiến đóng góp hết sức quý giá trong quá trình làm đề tài.
Cuối cùng, xin cảm ơn chân thành Ba Mẹ, Anh Chị, Bạn Bè cùng những ngƣời thân
đã nuôi nấng, giúp đỡ chúng em nên ngƣời và trở thành ngƣời có ích cho xã hội.


Tp. Hồ Chí Minh, tháng 7 năm 2017
Sinh viên thực hiện


TĨM TẮT
Trong đề tài Thiết kế hệ thống thơng tin và quản lý xe cân bằng thông qua điện
thoại thông minh, chúng em tập trung nghiên cứu thiết lập truyền dữ liệu, xử lí tín hiệu từ
Arduino, và cách đọc tín hiệu từ các cảm biến nhiệt độ, ánh sáng, cảm biển hall trong
encoder. Cùng với đó là cách hạn chế các vấn đề về mặt nhiễu sóng và khơng ổn định trong
thời gian truyền dữ liệu. Về phần android chúng em nghiên cứu về cách nhận tín hiệu và
điều khiển lại các thiết bị trên xe, cách hiển thị các thơng số theo các cách khác nhau.
Mục đích chính của chúng em là mang công nghệ truyền dữ liệu không dây tới ngƣời
dữ dụng, đặc biệt trong ngành nghề công nghệ kỹ thuật ô tô, một phƣơng pháp sữa chữa và
kiểm tra tình trạng xe ngay trên smartphonr, đối với ngƣời sử dụng xe, công nghệ này sẽ làm
mới lại chiếc xe, làm chiếc xe gọn gàng và tiện lời hơn với hệ điều hành thơng minh
Android.
Để có một đề tài hoàn chỉnh, chúng em phải chia ra các bài tốn nhỏ, xử lí các khó
khăn nhỏ, sau đó kết hợp và chỉnh sửa lại cả phần cứng và phần mềm sao cho kết quả đạt
đƣợc và tốt nhất và chính xác nhất. Khó khăn chúng em gặp phải là phƣơng pháp truyền đa
dữ liệu từ android mà vẫn khơng làm nhiễu sóng của các dữ liệu. Đây cũng là trở ngại lớn
nhất trong công nghệ truyền không dây, các tín hiệu có thể đè lên nhau, kết qur nhận đƣợc
sau cũng có thể khơng đƣợc chính xác.
Kết thúc đề tài, chúng em đã viết riêng một ứng dụng với hệ điều hành android, một
hộp điều khiển đƣợc kết nối với xe, mơ hình này rất hợp lí để có thể thƣơng mại hóa, đây là
một đề tài mới và rất mới vì đối với ngành cơng nghệ kỹ thuật ơ tơ, chúng em rất ít đƣợc
tiếp xúc với ngơn ngữ lập trình, ít có cơ hội để giao lƣa và học hỏi kinh nghiệm về lập trình.


MỤC LỤC
LỜI CẢM ƠN .......................................................................................................................... 2

TÓM TẮT ................................................................................................................................ 3
DANH MỤC CÁC CHỮ VIẾT TẮT VÀ KÝ HIỆU .............................................................. 6
Chƣơng 1. TỔNG QUAN ........................................................................................................ 1
1.2. Lý do chọn đề tài ........................................................................................................... 2
1.3. Mục tiêu đề tài............................................................................................................... 2
1.4. Đối tƣợng và phạm vi nghiên cứu................................................................................. 3
Chƣơng 2. CƠ SỞ LÝ THUYẾT ............................................................................................. 4
2.1. Tổng quan về arduino ................................................................................................... 4
2.1.1. Lý thuyết về board Arduino Uno R3 ..................................................................... 6
2.1.2. Lý thuyết về arduino IDE và ngơn ngữ lập trình. .................................................. 9
2. 2. Lý thuyết các cảm biến đƣợc sử dụng trong đề tài. ................................................... 10
2.2.1. Cảm biến nhiệt độ LM35. .................................................................................... 10
2.2.2. Cảm biến ánh sáng quang trở ............................................................................... 12
2.2.3. Module blutooth HC-05 ....................................................................................... 13
2.2.4. Cảm biến dòng điện ACS712 .............................................................................. 14
2.2.5. Cảm biến hall ....................................................................................................... 15
Chƣơng 3. THIẾT LẬP PHẦN CỨNG VÀ LẬP TRÌNH VỚI ARDUINO ......................... 17
3.1. Lập trình,lắp đặt cho mạch đo nhiệt độ với arduino ................................................... 17
3.2. Lập trình,lắp đặt cho mạch đo cƣờng độ sáng với arduino ......................................... 19
3.3. Lắp đặt mạch kết nối bluetooth HC05 với arduino. .................................................... 20
3.4. Lắp đặc đo điện áp accu .............................................................................................. 21
3.5. Lập trình,lắp đặt cho mạch hall với aruidno ............................................................... 23
3.6. Lập trình,lắp đặt cho mạch đo cƣờng độ dịng điện với arduino ................................ 25
Chƣơng 4. LẬP TRÌNH ANDROID MIT APP INVENTOR 2 ............................................ 28
4.1. Giới thiệu về Mit App Inventor .................................................................................. 28
4.2.1. Chế Độ Designer: chế độ dành cho thiết kế, tạo giao diện bên ngoài. ................ 30
4.2.2. Chế Độ Blocks: chế độ làm việc với các khối lệnh. ............................................ 42


Chƣơng 5. ỨNG DỤNG MIT APP INVENTOR 2 VÀO HIỂN THỊ THƠNG TIN VÀ

QUẢN LÍ NĂNG LƢỢNG XE ............................................................................................. 48
5.1. Thiết lập màn hình đăng nhập ..................................................................................... 48
5.1.2. Chế độ Block ........................................................................................................ 49
5.2. Thiết lập màn hình hiển thị thống số xe ...................................................................... 55
5.2.1. Chế độ designer .................................................................................................... 55
5.2.2. Chế độ block ........................................................................................................ 57
5.3. Thiết lập màn hình điều khiển và hiển thị công suất tiêu thụ ..................................... 60
5.3.1. Chế độ desinger .................................................................................................... 60
5.3.2. Chế độ Block ........................................................................................................ 61
Chƣơng 6. KẾT QUẢ NGHIÊN CỨU VÀ ỨNG DỤNG TRÊN XE CÂN BẰNG ............. 62
6.1. Thiết kế phần cứng cho hệ thống thông tin ................................................................. 62
6.2. kết quả hiển thị ............................................................................................................ 63
6.3. Code lập trình tham khảo ............................................................................................ 65
Chƣơng 7. KẾT LUẬNVÀ ĐỀ NGHỊ ................................................................................... 70
DANH MỤC TÀI LIỆUTHAM KHẢO ................................................................................ 72
PHỤ LỤC ............................................................................................................................... 73


Hƣớng dẫn sử dụng Arduino ..................................................................................... 73



Hƣớng dẫn lập trình androi mit app inventor 2 ......................................................... 77


DANH MỤC CÁC CHỮ VIẾT TẮT VÀ KÝ HIỆU
IDE

Intergrated Development Environment


Mơi trƣờng phát triển tích hợp

DIY

Do It by Yourself

là những ngƣời tự chế ra sản
phẩm của mình

WYSIWYG What you see is what you get

những gì bạn thấy là những gì
bạn có

IC

Integrated Circuit

Mạch tích hợp

PWM

Pulse Width Modulation

Điều chế độ rộng xung

USB

Universal Serial Bus


Một chuẩn kết nối tuần tự đa
dụng trong máy tính
Bộ nhớ truy cập ngẫu nhiên tĩnh

SRAM

Static Random Access Memory

EEPROM

Electrically Erasable Programmable Bộ nhớ không mất dữ liệu khi
Read-Only Memory

ngừng cung cấp điện

LED

Light Emitting Diode

Đèn phát sáng

SPI

Serial Peripheral Interface

Giao diện ngoại vi nối tiếp

IDII

Interaction Design Instistute Ivrea


Trƣờng

Interaction

Design

Instistute Ivrea
CAN

Control Area Network

Mạng điều khiển khu vực


DANH MỤC CÁC HÌNH
Hình 1.1 Multi Media Interfacexe trên xe AUDI ..................................................... 1
Hình 1.2 Sử dụng màn LCD để hiển thị và điều khiển trên xa VOLVO .................. 2
Hình 2.1 Các thành viên khởi xƣớng arduino ........................................................... 4
Hình 2.2 Boad mạch arduino Uno R3 ....................................................................... 6
Hình 2.3 Các cổng ra vào trên arduino Uno R3 ........................................................ 8
Hình 2.4 Giao diện màn hinh arduino IDE ............................................................. 10
Hình 2.5 Cảm biến nhiệt độ .................................................................................... 11
Hình 2.6 Cảm biến ánh sang quang trở ................................................................... 12
Hình 2.7 Module blutooth HC-05 ........................................................................... 13
Hình 2.8 Cảm biến dịng điện ACS712 .................................................................. 14
Hình 2.8 Ngun lý cảm biến Hall ......................................................................... 16
Hình 3.1 Mạch đo cảm nhiệt độ với arduino .......................................................... 17
Hình 3.2 Kết quả hiển thị đo nhiệt độ từ arduino ................................................... 18
Hình 3.3 Mạch đo cƣờng độ sáng với arduino........................................................ 19

Hinh 3.4 Kết quả Hiển thị đo cƣờng độ sang từ arduino ........................................ 20
Hình 3.5 Mạch kết nối bluetooth HC05 với arduino .............................................. 20
Hình 3.6 Mạch kết nối đo điện áp accu với arduino ............................................... 21
Hình 3.7 Kết quả hiển thị điện áp accu ................................................................... 22
Hình 3.8 Mạch kết đo tín hiệu xung của hall với arduino ..................................... 23
Hình 3.9 Kết quả hiển thị số quay quay động cơ cân bằng (rpm) .......................... 25
Hình 3.10 Lắp đặt cho mạch đo cƣờng độ dòng điện với arduino ......................... 26
Hinh 3.11 Kết quả Hiển thị đo cƣờng độ dịng điện từ arduino ............................. 27
Hình 4.1 Sơ đồ ngun truyền phiên bản mới nhất hiện nay là
MIT App Inventor 2…………………………………………………………
28
Hình 4.2 Giao diện quản lý Project ......................................................................... 29
Hình 4.3 Giao diện Start New Project .................................................................... 30
Hình 4.4 Giao diện các thành phần chính của chế độ designer .............................. 30
Hình 4.5 Giao diện User inteface (Giao diện ngƣời dùng) ..................................... 31
Hình 4.6 Giao diện Layout (Bố cục) ....................................................................... 32
Hình 4.7 Giao diện Media (Phƣơng tiện truyền thông) .......................................... 33


Hình 4.8 Giao diện Drawing and Animation (Vẽ và chuyển động) ....................... 35
Hình 4.10 Giao diện Social (Giao tiếp - Xã hội) .................................................... 36
Hình 4.11 Giao diện Storage (Lƣu trữ) ................................................................... 37
Hình 4.12 Giao diện Connectivity (Kết nối) ........................................................... 38
Hình 4.13 Giao diện LEGO® MINDSTORMS® .................................................. 39
Hình 4.14 Giao diện Thành phần - thuộc tính ........................................................ 40
Hình 4.15 Giao diện Lệnh tích hợp sẵn .................................................................. 42
Hình 4.16 Giao diện Lệnh Creen ............................................................................ 43
Hình 4.17 Giao diện Lệnh Any component ............................................................ 43
Hình 4.18 Giao diện vùng làm việc ........................................................................ 44
Hình 4.19 Giao diện hộp cảnh báo .......................................................................... 47

Hình 5.1 Giao diện của ứng dụng ........................................................................... 48
Hình 5.2 Giao diện cửa sổ components .................................................................. 49
Hình 5.3 khối code thiết lập kết nối bluetooth ........................................................ 50
Hình 5.4 khối code thiết lập kết nối Bluetooth khi phát hiện lỗi ............................ 51
Hình 5.5 khối code thiết lập mở screen2 ................................................................ 51
Hình 5.6 khối code thiết lập Reset password cho ứng dụng ................................... 52
Hình 5.7 khối code thiết lập thay đổi password cho ứng dụng ............................... 52
Hình 5.8 khối code thiết lập Tự định vị xe ............................................................. 53
Hình 5.9 khối code thiết lập Tìm xe bằng nút bấm. ................................................ 54
Hình 5.10 khối lệnh call bluetooth .......................................................................... 54
Hình 5.10 Màn hình hiển thị tốc độ động cơ và tích hợp tính năng điều khiển đèn57
Hình 5.11 khối code thiết lập điều khiển hiển thị thông số .................................... 58
Hình 5.12 khối code thiết lập điều khiển hiển điều khiển đèn cơ bản .................... 59
Hình 5.13 khối code thiết lập điều kiện để hoạt động là click vào button .............. 59
Hình 5.14 Màn hình hiển thị creen 3 ...................................................................... 60
Hình 5.15 khối code thiết lập truyền dữ liệu số từ arduino đến android ................ 61
Hình 6.1:Sơ đồ nguyên lý hệ thống quản lý thông tin và điều khiển ..................... 62
Hình 6.2:Sơ đồ mạch điện thực tế ........................................................................... 62
Hình 6.3 Sơ đồ mạch điện ....................................................................................... 63
Hình 6.4 Kết quả hiển thị khi xe hoạt động theo dạng đồng hồ kim ...................... 63
Hình 6.5 Hiển thị kết quả theo đồng hồ số ............................................................. 64


Hình 6.6 kết quả điều khiển đèn chiếu sáng ........................................................... 64


DANH MỤC CÁC BẢNG
Bảng 2.1 Một vài thông số của Arduino UNO R3................................................... 6
Bảng 2.2 Thông số kỹ thuật cảm biến dịng điện ACS712 .................................... 15
Bảng 4.1 Nhóm những đối tƣợng dùng để thiết kế giao diện cho screen mà ngƣời

dùng nhìn thấy đƣợc............................................................................................... 31
Bảng 4.2 Nhóm lệnh sắp xếp các đối tƣợng theo một bố cục ............................... 33
Bảng 4.3:Nhóm lệnh liên quan đến đa phƣơng tiện nhƣ âm thanh, video, máy ảnh,
ghi âm. .................................................................................................................... 34
Bảng 4.4: Nhóm lệnh tạo ra những chuyển động hay tƣơng tác ........................... 35
Bảng 4.6 Nhóm Các đối tƣợng này giúp bạn thao tác về liên lạc, giao tiếp và
mạng xã hội. ........................................................................................................... 37
Bảng 4.7 Nhóm chức năng này giúp bạn lƣu trữ thơng tin, dữ liệu, ... theo nhiều
cách khác nhau ....................................................................................................... 38
Bảng 4.8 Nhóm giúp bạn hồn tồn có thể dùng chúng để kết nối bluetooth, giao
thức web, ... ............................................................................................................ 39
Bảng 4.9 Nhóm giúp cho bạn những đối tƣợng có thể làm việc với Lego
Mindstorm .............................................................................................................. 40


Chƣơng 1. TỔNG QUAN
1.1. Tình hình hiện nay
Ngày nay khoa học công nghệ ngày càng phát triển, vi điều khiển AVR và vi điều
khiển PIC ngày càng thông dụng và hồn thiện hơn, nhƣng có thể nói sự xuất hiện của
Arduino vào năm 2005 tại Italia đã mở ra một hƣớng đi mới cho vi điều khiển. Sự xuất hiện
của Arduino đã hỗ trợ cho con ngƣời rất nhiều trong lập trình và thiết kế, nhất là đối với
những ngƣời bắt đầu tìm tịi về vi điều khiển mà khơng có quá nhiều kiến thức, hiểu biết sâu
sắc về vật lý và điện tử . Phần cứng của thiết bị đã đƣợc tích hợp nhiều chức năng cơ bản và
là mã nguồn mở. Ngơn ngữ lập trình trên nền Java lại vơ cùng dễ sử dụng tƣơng thích với
ngơn ngữ C và hệ thƣ viện rất phong phú và đƣợc chia sẻ miễn phí. Chính vì những lý do
nhƣ vậy nên Arduino hiện đang dần phổ biến và đƣợc phát triển ngày càng mạnh mẽ trên
tồn thế giới.
Cơng nghệ hiển thị đƣợc tùy biến nhiều hơn trên màn hình LED, chiếc xe trở nên
hiện đại, sang trọng nên đã thu hút rất nhiều ngƣời tiêu dùng lựa chọn chiếc xe có màn hình
hiển thị thơng số và màn hình điều khiển các option, từ đó xu hƣớng thiết kế các xe hiện đại

hiện nay không thế thiếu đƣợc 2 màn hình quan trọng này.

Hình 1.1 Multi Media Interfacexe trên xe AUDI
1


1.2. Lý do chọn đề tài
Trên cơ sở kiến thức đã học trong mơn học: lập trình Visual basic, hệ thống điều
khiển động cơ... và các thiết bị điện tử, chúng em đã quyết định thực hiện đề tài Thiết kế hệ
thống thông tin và quản lý xe cân bằng thơng qua điện thoại thơng minh với mục đích
để tìm hiểu thêm về Arduino, làm quen với các thiết bị điện tử, thực hành lại với các kiến
thức về cảm biến và nâng cao hiểu biết cho bản thân.
Dựa vào những lợi ích thực tế và khả năng phát triển trong tƣơng lai, truyền dữ liệu
không dây đang là xu thế phát triển trong ngành kỹ thuật ơ tơ nói riêngvà các ngành kỹ thuật
điều khiển nói chung, các cơng ty ơ tơ lớn đã tích hợp rất nhiều tính năng điều khiển lên
màn hình cảm ứng LCD và sử dụng màn hình thứ 2 để hiển thị đa nhiệm các thơng số của xe
ơ tơ.

Hình 1.2 Sử dụng màn LCD để hiển thị và điều khiển trên xa VOLVO.
1.3. Mục tiêu đề tài
Với sự phát triển của khoa học kỹ thuật điện tử, truyền thông tin và dữ liệu không
dây. Đề tài của chúng em là một phần bé trong sự ứng dụng của công nghệ bluetooth và

2


phần mềm di động mở Android kết hợp với sự xử lí tín hiệu và điều khiển mạnh mẽ
của Arduino. Đây là hƣớng phát triển trong tƣơng lai của nền cơng nghệ nói chung và ngành
cơng nghệ ơ tơ nói chung, thay vì sử dụng mạng LAN, CAN, tại sao chúng ta không sử dụng
truyền dữ liệu không dây với những ƣu điểm vƣợt trội về mặt không gian và thẫm mỹ.

1.4. Đối tƣợng và phạm vi nghiên cứu
 Đối tƣợng nghiên cứu:
Đề tài là một phƣơng thức truyền thông tin và dữ liệu khơng dây, có sự kết hợp giữa
vi mạch điện tử và điện thoại thông minh… Do đó, để tạo ra một sản phẩm hồn thiện nhƣ
mục đích đặt ra thì nhóm cần phải tập trung nghiên cứu chủ yếu đến các đối tƣợng:
 Vi mạch điện tử bao gồm 1 boad mạch arduino,1 moduel Bluetooth và các
cảm biến.
 Phần mềm tạo ứng dụng trên Android.Mọi tín hiệu từ arduino sẽ truyền đến
điện thoại nhờ vào Bluetooth.
 Phạm vi nghiên cứu:
 Tập trung nghiên cứu cách xử lí tín hiệu truyền từ Arduino đến Android.
 Giải quyết các vƣớng bận về mặt sóng tín hiệu, giảm nhiễu.

3


Chƣơng 2. CƠ SỞ LÝ THUYẾT
2.1. Tổng quan về arduino
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 tồn thế giới trong vài năm gần đây.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.

Hình 2.1 Các thành viên khởi xƣớng arduino
Arduino là gì mà có thể khiến ngay cả những sinh viên và nhà nghiên cứu tại các
trƣờng đại học danh tiếng nhƣ MIT, Stanford, Carnegie Mellon phải sử dụng; hoặc ngay cả
Google cũng muốn hỗ trợ khi cho ra đời bộ kit Arduino Mega ADK dùng để phát triển các
ứng dụng Android tƣơng tác với cảm biến và các thiết bị khác?
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à

4


đ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.
Một mạch Arduino bao gồm một vi điều khiển AVR với nhiều linh kiện bổ sung giúp
dễ dàng lập trình và có thể mở rộng với các mạch khác. Một khía cạnh quan trọng của
Arduino là các kết nối tiêu chuẩn của nó, cho phép ngƣời dùng kết nối với CPU của board
với các module thêm vào có thể dễ dàng chuyển đổi, đƣợc gọi là shield. Vài shield truyền
thông với board Arduino trực tiếp thông qua các chân khách nhau, nhƣng nhiều shield đƣợc
định địa chỉ thông qua serial bus I²C-nhiều shield có thể đƣợc xếp chồng và sử dụng dƣới
dạng song song. Arduino chính thức thƣờng sử dụng các dòng chip megaAVR, đặc biệt là
ATmega8, ATmega168, ATmega328, ATmega1280, và ATmega2560. Một vài các bộ vi xử
lý khác cũng đƣợc sử dụng bởi các mạch Aquino tƣơng thích. Hầu hết các mạch gồm một bộ
điều chỉnh tuyến tính 5V và một thạch anh dao động 16 MHz (hoặc bộ cộng hƣởng ceramic
trong một vài biến thể), mặc dù một vài thiết kế nhƣ LilyPad chạy tại 8 MHz và bỏ qua bộ
điều chỉnh điện áp onboard do hạn chế về kích cỡ thiết bị. Một vi điều khiển Arduino cũng
có thể đƣợc lập trình sẵn với một boot loader cho phép đơn giản là upload chƣơng trình vào
bộ nhớ flash on-chip, so với các thiết bị khác thƣờng phải cần một bộ nạp bên ngoài. Điều
này giúp cho việc sử dụng Arduino đƣợc trực tiếp hơn bằng cách cho phép sử dụng 1 máy
tính gốc nhƣ là một bộ nạp chƣơng trình.
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 dùng đầ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 chỉ để tham quan nơi đã sản sinh ra Arduino.

5


2.1.1. Lý thuyết về board Arduino Uno R3
Nhắc tới dòng mạch Arduino dùng để lập trình, cái đầu tiên mà ngƣời ta thƣờng nói
tới chính là dịng Arduino UNO. Hiện dòng mạch này đã phát triển tới thế hệ thứ 3 (R3).là
một bo mạch thiết kế bộ xử lý trung tâm điều khiển AVR Atmega328.

Hình 2.2 Boad mạch arduino Uno R3
Bảng 2.1 Một vài thông số của Arduino UNO R3
Vi điều khiển
ATmega328 họ 8bit
Điện áp hoạt động

5V DC (chỉ đƣợc cấp qua cổng USB)

Tần số hoạt động

16 MHz

Dòng tiêu thụ

khoảng 30mA

Điện áp vào khuyên dùng

7-12V DC


Điện áp vào giới hạn

6-20V DC

Số chân Digital I/O

14 (trong đó 6 chân pin có khả năng điều khiển
xung PWM)
6 (độ phân giải 10bit)

Số chân Analog

6


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

30 mA

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

500 mA

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

50 mA

Bộ nhớ flash
SRAM


32 KB (ATmega328) với 0.5KB dùng bởi
bootloader
2 KB (ATmega328)

EEPROM

1 KB (ATmega328)

*Các chân năng lƣợng
-GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO. Khi bạn dùng các
thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải đƣợc nối với nhau.
-5V: cấp điện áp 5V đầu ra. Dòng tối đa cho phép ở chân này là 500mA.
-3.3V: cấp điện áp 3.3V đầu ra. Dòng tối đa cho phép ở chân này là 50mA.
-Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối cực dƣơng của
nguồn với chân này và cực âm của nguồn với chân GND.
-IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể đƣợc đo ở
chân này. Và dĩ nhiên nó ln là 5V. Mặc dù vậy bạn khơng đƣợc lấy nguồn 5V từ chân này
để sử dụng bởi chức năng của nó khơng phải là cấp nguồn.
-RESET: việc nhấn nút Reset trên board để reset vi điều khiển tƣơng đƣơng với việc
chân RESET đƣợc nối với GND qua 1 điện trở 10KΩ..

7


*Các cổng vào/ra trên Arduino Board

Hình 2.3 Các cổng ra vào trên arduino Uno R3
Mạch Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu. Chúng chỉ
có 2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA. Ở mỗi chân
đều có các điện trở pull-up từ đƣợc cài đặt ngay trong vi điều khiển ATmega328 (mặc định

thì các điện trở này khơng đƣợc kết nối).
Một số chân digital có các chức năng đặc biệt nhƣ sau:
- 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive –
RX) dữ liệu TTL Serial. Arduino Uno có thể giao tiếp với thiết bị khác thơng qua 2 chân
này. Kết nối bluetooth thƣờng thấy nói nơm na chính là kết nối Serial khơng dây. Nếu khơng
cần giao tiếp Serial, bạn không nên sử dụng 2 chân này nếu không cần thiết.
- Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ phân
giải 8 bit (giá trị từ 0 → 28-1 tƣơng ứng với 0V → 5V) bằng hàm analogWrite(). Nói một

8


cách đơn giản, bạn có thể điều chỉnh đƣợc điện áp ra ở chân này từ mức 0V đến 5V thay vì
chỉ cố định ở mức 0V và 5V nhƣ những chân khác.
- Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ngồi các chức
năng thơng thƣờng, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPI với các
thiết bị khác.
- LED 13: Trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L). Khi bấm nút
Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu. Nó đƣợc nối với chân số 13. Khi chân
này đƣợc ngƣời dùng sử dụng, LED sẽ sáng.
- Arduino UNO Broad: có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu
10bit (0 → 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V. Với chân AREF trên board,
bạn có thể để đƣa vào điện áp tham chiếu khi sử dụng các chân analog. Tức là nếu bạn cấp
điện áp 2.5V vào chân này thì bạn có thể dùng các chân analog để đo điện áp trong khoảng
từ 0V → 2.5V với độ phân giải vẫn là 10bit.
Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI
với các thiết bị khác.
2.1.2. Lý thuyết về arduino IDE và ngơn ngữ lập trình.
Thiết kế bo mạch nhỏ gọn, trang bị 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 tính năng thực sự 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.
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 hồn tồ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 hồn tồn có thể
nhúng thêm code viết bằng AVR, C vào chƣơng trình nếu muốn.
9


Hình 2.4 Giao diện màn hinh arduino IDE
2. 2. Lý thuyết các cảm biến đƣợc sử dụng trong đề tài.
2.2.1. Cảm biến nhiệt độ LM35.
Cảm biến nhiệt LM35 là một bộ cảm biến nhiệt mang tích hợp chính xác cao mà điện
áp của nó tỷ lệ với nhiệt độ thang Celsius.chúng khơng u cầu cân chỉnh ngồi vì chúng đã
đƣợc cân chỉnh.
Cảm biến LM35 có 3 chân:
+ Chân nguồnVCC
+Chân đầu ra Vout
+Chân nối đất GND

10


Hình 2.5 Cảm biến nhiệt độ
 Đặc điểm chính của LM35
-


Điện áp đầu vào từ 4V đến 30V

-

Điện áp ra: -1V đến 6V

-

Công suất tiêu thụ là 60uA

-

Độ phân giải điện áp đầu ra là 10mV/oC

-

Độ chính xác cao ở 25 C là 0.5 C

-

Trở kháng đầu ra thấp 0.1 cho 1mA tải

-

Độ chính xác thực tế: 1/4°C ở nhiệt độ phịng và 3/4°C ngồi khoảng -55°C tới

150°C
11



2.2.2. Cảm biến ánh sáng quang trở
Cảm Biến Ánh Sáng Quang Trở nhạy cảm nhất với cƣờng độ ánh sáng môi trƣờng
thƣờng đƣợc sử dụng để phát hiện độ sáng môi trƣờng xung quanh và cƣờng độ ánh sáng.
Khi cƣờng độ ánh sáng mơi trƣờng xung quanh bên ngồi vƣợt quá một ngƣỡng quy định,
ngõ ra của module D0 là mức logic thấp.

Hình 2.6 Cảm biến ánh sang quang trở

Đặc tính nổi bậc:
- Nhỏ gọn.
- Độ chính xác cao.
- Các thành phần phụ nhƣ điện trở, tụ điện... cần thiết cho mạch đã đƣợc gắn đầy đủ.
- Sử dụng điện áp chuẩn 5V tƣơng thích với nền tảng Arduino.
Xuất tín hiệu ra cả hai dạng là Digital (có biến trở chỉnh mức và led báo hiệu) và
Analog.

12


Cảm biến có 4 chân:
+ AO

Ngõ ra tín hiệu Analog

+ DO

Ngõ ra tín hiệu Digital

+ VCC


Nguồn

+ GND

Mass

2.2.3. Module blutooth HC-05
Dùng để thu phát sóng Bluetooth từ Mạch điều khiển trung tâm kết nối qua điện thoại
Android, sử dụng Modul HC-05.
Thông số kỹ thuật:
+ Điện thế hoạt động 3.3 - 5V.
+ Dòng điện khi hoạt động: khi Pairing 30 mA, sau khi pairing hoạt động truyền
nhận bình thƣờng 8 mA.
+ Tốc độ truyền có thể chọn đƣợc: 1200, 2400, 4800, 9600, 19200, 38400, 57600,
115200
+ Kích thƣớc của module chính: 28 mm x 15 mm x 2.35 mm
+ Dải tần sóng hoạt động: 2.4GHz
+ Bluetooth protocol: Bluetooth Specification v2.0+EDRo

Hình 2.7 Module blutooth HC-05
Module này có 6 chân : VCC, GND, RX, TX, STATE, EN. Trong đó, VCC và GND
là 2 chân cấp nguồn, đất cho module. RX, TX dùng để nhận gửi dữ liệu với Arduino. Chân
13


×