BỘ GIÁO DỤC VÀ ĐÀO TẠO
BỘ GIAO THÔNG VẬN TẢI
TRƢỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM
NGUYỄN NGỌC HUY
ĐỒ ÁNTỐT NGHIỆP ĐẠI HỌC
ĐIỀU KHIỂN CÁC THIẾT BỊ ĐIỆN TRONG NHÀ TỪ XA QUA
BLUETOOTH TRÊN THIẾT BI ̣ ANDROID
NGÀNH: ĐIỆN TỬ –ĐIỆN TỬ TÀU BIỂN
;
MÃ SỐ: D52027
CHUYÊN NGÀNH: ĐIỆN TỬ - VIỄN THÔNG
Người hướng dẫn: ThS. VŨ VĂN RỰC
HẢI PHÒNG – 2015
i
LỜI CẢM ƠN
Để có được một đề tài như mình mong muốn, có thể hoàn thành được đề tài
đó trong thơi gian quy định và đạt được một kết quả đề ra. Việc đó không chỉ là
sự nỗ lực của bản thân mà còn có sự giúp đỡ , sự chỉ bảo nhiệt tình của các thầy
cô cùng những tham gia đó góp ý kiến của bạn bè. Em xin chân thành cảm ơn :
Sự chỉ dẫn và góp ý chân thành của thầy ... Cám ơn thầy đã nhiệt tình cung cấp
tài liệu, thông tin hướng dẫn và hỗ trợ kiểm tra, khắc phục các thông tin chưa
chuẩn xác. Các bạn sinh viên trong lớp đã giúp đỡ rất nhiều về mặt phương tiện,
sách vở, ý kiến . . .Do chư có nhiều kinh nghiêm và kiến thức chuyên môn còn
kém nên trong quá trình làm đề tài sẽ có những sai sót nhất định. Rất mong nhận
được sự phê bình, góp ý, của quý thầy cô và các bạn sinh viên.
ii
LỜI CAM ĐOAN
Em xin cam đoan :
1. Nhưng nội dung của đề tài trên là do em thực hiện dưới sự hướng dẫn
trực tiếp của thầy Vũ Văn Rực.
2. Mọi tài liệu tham khảo đề là có các trang web.
3. Mọi sự sao chép không hợp lệ, vi phạm quy chế đào tạo hay giam tra em
xin tự chụi hoàn toàn trách nhiệm.
Sinh viện
Nguyễn Ngọc Huy
iii
DANH MỤC BẢNG
Bảng 2.1: mô tả chức năng các chân của module:............................................... 8
Bảng 2.2: một số lệnh AT cho module Bluetooth HC-05 ................................. 10
Bảng 2.3. Một số thông số của Arduino UNO .................................................. 15
Bảng 2.4. Một số câu lệnh thường gặp ............................................................. 20
iv
DANH MỤC HÌNH
Hình 2.1: Modul Bluetooth HC-05 ..................................................................... 6
Hình 2.2: Sơ đồ chân modul Bluetooth HC-05 ................................................... 7
Hình 2.3:. Các chân vào ra của Arduino Uno ................................................... 15
Hình 2.4: File chạy phần mềm .......................................................................... 17
Hình 2.5:Bố n lớp chin
́ h của hê ̣ điề u hành Android . .......................................... 22
Hình 2.6: Activity Satck ................................................................................... 24
Hình 2.7: Chu kỳ sống của Activity.................................................................. 25
Hình 2.8: Giao diê ̣n My Projects. ..................................................................... 28
Hình 2.9: Giao diện bên trong Projects. ............................................................ 29
Hình 2.10: Các thành phần của thanh công cụ .................................................. 29
Hình 3.1: Sơ đồ tổng quát hệ thống .................................................................. 32
Hình 3.2: Giao diê ̣n phầ n mề m điề u khiể n ....................................................... 34
Hình 3.3: Giao diê ̣n Hercules Setup Untility Serial . ......................................... 37
Hình 3.4: Kit ma ̣ch Arduino . ............................................................................ 38
Hình 3.5: Giao diê ̣n Disigner của đồ án . ........................................................... 44
v
MỤC LỤC
LỜI CẢM ƠN .................................................................................................... i
LỜI CAM ĐOAN ............................................................................................ iii
DANH MỤC HÌNH ........................................................................................... i
LỜI NÓI ĐẦU .................................................................................................. 1
CHƢƠNG 1 : GIỚI THIỆU ............................................................................ 2
1.1.
LÝ DO CHỌN ĐỀ TÀI..................................................................... 2
1.2.
MỤC ĐÍCH CỦA ĐỀ TÀI................................................................ 2
1.3.
ĐỐI TƢỢNG VÀ PH ẠM VI NGHIÊN CỨU ................................. 2
1.4.
HƢỚNG NGHIÊN CỨU VÀ PHÁT TRIỂN................................... 2
1.5.
TỔNG QUAN VỀ ĐỒ ÁN ................................................................ 3
CHƢƠNG 2 :TÌM HIỂU VỀ HỆ ĐIỀU HÀNH VÀ GIAO TIẾP NGOẠI VI
2.1.
CÔNG NGHỆ KHÔNG DÂY BLUETOOTH ................................ 4
2.1.1.
Khái niệm .................................................................................... 4
2.1.2.
Đặc điểm của công nghệ Bluetooth ............................................ 4
2.1.3.
Hoạt động Bluetooth HC 05. ...................................................... 5
2.1.4.
Vấn đề bảo mật trong công nghệ Bluetooth. ............................. 5
2.1.5.
Module Bluetooth HC-05 ............................................................ 6
2.2.
KIT MẠCH ARDUINO .................................................................. 11
2.2.1.
Giới thiệu về Arduino. .............................................................. 11
2.2.2.
Phần cứng của Arduino UNO R3 ............................................. 12
2.2.3.Phần mềm lập trình cho Arduino ......................................................... 15
2.3.
HỆ ĐIỀU HÀNH ANDROID ......................................................... 22
2.3.1.
Giới thiệu về android ................................................................ 22
1
2.3.2.
Chu kỳ ứng dụng trên andorid. ............................................... 23
CHƢƠNG 3 : THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN ............................... 32
3.1.
TỔNG QUÁT VỀ HỆ THỐNG. ..................................................... 32
3.2.
CÁC KHỐI TRONG HỆ THỐNG ................................................ 33
3.2.1.
Khố i phát tín hiêụ . .................................................................... 33
3.2.2.
Khố i thu tín hiêụ . ...................................................................... 36
3.2.3.
Khố i xỷ lý tín hiêụ . .................................................................... 38
3.2.4.
Khố i thƣ̣c hiêṇ lênh
̣ ................................................................... 39
3.3.
CHƢƠNG TRÌNH CHO ARDUINO VÀ ANDROID ................... 42
3.3.1.
Chƣơng trình code Arduino ..................................................... 42
3.3.2.
Chƣơng trình cho Android ....................................................... 44
CHƢƠNG 4: KẾT QUẢ VÀ HƢƠNG PHÁT TRIỂN CỦA ĐỀ TÀI ......... 46
4.1.
ĐÁNH GIÁ KẾT QUẢ THỰC HIỆN ĐỒ ÁN .............................. 46
4.2.
KẾT QUẢ ĐẠT ĐƢỢC .................................................................. 46
4.3.
NHƢỢC ĐIỂM ............................................................................... 46
TÀI LIỆU THAM KHẢO.............................................................................. 47
2
LỜI NÓI ĐẦU
Ngày nay việc ứng dụng cho các hệ thống điề u khiể n tự đô ̣ng ngày càng
trở nên phổ biến, từ những ứ ng dụng đơn giản như điều khiển một chốt đền giao
thông định thời, đếm sản phẩm trong dây chuyền sản xuất, điều khiển động cơ
điện một chiều, xoay chiều, … đến những ứng dụng phức tạp như điều khiển
robot, hệ thống kiểm soát, các hệ thống tự động, các thiết bị máy móc tự
động,..Với mong muốn giới thiệu những ứng dụng cơ bản của hệ thống điề u
khiể n tự đô ̣ng trong đời sống hiện đại và để mọi người biết đến ứng dụng cũng
như tầm quan trọng của các hệ thố ng điề u khiể n tự đô ̣ng . Em đã tìm hiểu và thực
hiện đề tài “ĐIỀU KHIỂN CÁC THIẾT BỊ ĐIỆN TRONG NHÀ TỪ XA QUA
BLUETOOTH TRÊN THIẾT BI ̣ ANDROID”.
1
CHƢƠNG 1 :GIỚI THIỆU
1.1. LÝ DO CHỌN ĐỀ TÀI
Trong những năm qua, khoa học máy tính và xử lý thông tin có những
bước tiến vượt bậc và ngày càng phát triển mạnh. Đặc biệt sự ra đời và phát
triển nhanh chóng của kỹ thuật số đã làm cho ngành điện tử trở nên phong phú
và đa dạng hơn. Đã góp phần rất lớn trong việc đưa kỹ thuật hiện đại vào mọi
lĩnh vực của hoạt động sản xuất, kinh tế và đời sống xã hội.Từ những hệ thống
máy tính lớn đến những hệ thống máy tính cá nhân, từ những việc điều khiển
các máy công nghiệp đến các thiết bị phục vụ đời sống hằng ngày của con
người. Công nghệ số thực sự là một bước tiến lớn cho công nghệ hiện nay.Với
mong muốn áp dụng công nghệ số vào thực tiễn. Vì vậy em đã chọn đề tài :
“ĐIỀU KHIỂN CÁC THIẾT BỊ ĐIỆN TRONG NHÀ
TỪ XA QUA
BLUETOOTH TRÊN THIẾT BI ̣ ANDROID”.
1.2. MỤC ĐÍCH CỦA ĐỀ TÀI
Mục đích nghiên cứu của đề tài này là nghiên cứu họ vi điều khiển họ 8 bít
AVR cụ thể là Atmega328 , phương pháp lập trình cho AVR bằng ngôn ngữ C
trên trình biên dịch Codevison AVR, lập trình ứng dụng android dùng SDK,
giao tiếp không dây Bluetooth…
1.3. ĐỐI TƢỢNG VÀ PH ẠM VI NGHIÊN CỨU
- Vi điều khiển sử dụng là AVR Atmega328, để nắm được cấu trúc phần
cứng, lập trình phần mềm và ứng dụng vào thực tế.
- Phần mềm điều khiển trên android.
- Modul bluetooth HC-05
1.4. HƢỚNG NGHIÊN CỨU VÀ PHÁT TRIỂN
- Hiện nay trong thời kỳ kinh tế đang phát triển, đời sống được nâng cao.
Mọi người gần như ai cũng được sở hữu một chiếc điện thoại thông minh. Mà
điện thoại luôn ở bên cạnh chúng ta. Vì vậy e có ý tưởng dùng chính chiếc điện
2
thoại đó để có thể điều khiển các thiết bị điện trong nhà khi ta ngồi ở bất kì vị trí
nào trong ngôi nhà.
- Nắm bắt được cấu trúc phần cứng, sơ đồ khối, bố trí chân, tập lệnh điều
khiển cho AVR ATMega328.
- Tìm hiểu về lập trình phần mềm android giao tiếp Bluetooth.
- Kết quả cuối cùng là điều khiển tắt mở bóng đèn và điều khiển tốc độ
động cơ cũng như điều khiển độ sáng của đèn một các ổn định. Bằng phần mềm
Android trên điện thoại.
1.5. TỔNG QUAN VỀ ĐỒ ÁN
Nội dung của đồ án được chia làm 4 phần chính
- Tìm hiểu về hệ điều hành và giao tiếp ngoại vi.
- Tìm hiểu về kit Arduino.
- Tìm hiểu về các lập trình Ardroid.
- Thiết kế bộ điều khiển android và trên Kit arduino thông qua module
Bluetooth HC05.
- Kết quả và hướng phát triển
3
CHƢƠNG 2 :TÌM HIỂU VỀ HỆ ĐIỀU HÀNH VÀ GIAO TIẾP NGOẠI VI
2.1.
CÔNG NGHỆ KHÔNG DÂY BLUETOOTH
2.1.1. Khái niệm
Bluetooth là một công nghệ cho phép truyền thông giữa các thiết bị với
nhau mà không cần cáp và dây dẫn. Nó là một chuẩn điện tử, điều đó có nghĩa là
các hãng sản xuất muốn có đặc tính này trong sản phẩm thì họ phải tuân theo
các yêu cầu của chuẩn này đối cho sản phẩm của mình. Những chỉ tiêu kỹ thuật
này bảo đảm cho các thiết bị có thể nhận ra và tương tác với nhau khi sử dụng
công nghệ Bluetooth. Ngày nay phần lớn các nhà máy đều sản xuất các thiết bị
có sử dụng công nghệ Bluetooth. Các thiết bị này gồm có điện thoại di động,
máy tính và thiết bị hỗ trợ khác. Công nghệ Bluetooth là một công nghệ dựa trên
tần số vô tuyến và bất cứ một thiết bị nào có tích hợp bên trong công nghệ này
đều có thể truyền thông với các thiết bị khác với một khoảng cách nhất định về
cự ly để đảm bảo công suất cho việc phát và nhận sóng. Công nghệ này thường
được sử dụng để truyền thông giữa hai loại thiết bị khác nhau.
2.1.2. Đặc điểm của công nghệ Bluetooth
a. Ƣu điểm.
- Tiêu thụ năng lượng thấp, cho phép ứng dụng được nhiều loại thiết bị bao
gồm các thiết bị cầm tay và điện thoại di động.
- Giá thành ngày một giảm .
- Khoảng cách giao tiếp cho phép giữa hai thiết bị đầu cuối có thể lên đến
10m, khoảng cách giữa thiết bị đầu cuối có thể lên tới 100m.
- Bluetooth sử dụng băng tần 2.4GHz. Tốc độ truyền dữ liệu có thể đạt tới
mức tới đa 1Mbps mà các thiết bị không cần phải trực tiếp thấy nhau .
- Dễ dàng trong việc phát triển ứng dụng: Bluetooth kết nối một ứng dụng
này với một ứng dụng khác thông qua chuẩn Bluetooth profiles, do đó có thể
độc lập về phần cứng cững như hệ điều hành sử dụng. - Tính tương thích cao,
được nhiều nhà sản xuất phần cứng cũng như phần mềm hỗ trợ.
4
b. Khuyết điểm.
- Khoảng cách kết nối còn ngắn so với công nghệ mạng không dây khác.
- Tốc độ truyền không cao.
2.1.3. Hoạt động Bluetooth HC 05.
Bluetooth là thiế t bi ̣không dây cho phép các thiế t bi ̣điê ̣n và thiế t bi ̣điê ̣n
tử, có thể giao tiếp với nhau băng sóng
vô tuyế n trong pha ̣m vi ngắ n và
trong
băng tầ n từ 2,4 Ghz đế n 2,485Ghz. Bluetôth đươ ̣c thiế t kế để hoa ̣t đô ̣ng trên
79tầ n số đơ lẻ khác nhau . Sau khi đã kế t nố i , bluetooth sẽ tự tìm ra tầ n số tương
thích với nó , sau đó nó sẽ di chuyể n tới các thiế t bi ̣bluet ooth đó trong khoảng
cách nhất định để việc kết nối không bị gián đoạn
Về khoảng cách giữ a các thiế t bi ̣có Bluetooth thì còn phu ̣ thuô ̣c và công
suấ t . Gồ m ba loa ̣i : Loại thứ nhất công suất 100mW thì sẽ phủ sóng đươ ̣c trong
khoảng 100met. Loai thứ hai với công suấ t 2.5mW thì tâm phủ sóng chỉ khoảng
10met. Và loại cuối cùng 1mW chỉ có thế kế t nố i trong pha ̣m vi 5met.
2.1.4. Vấn đề bảo mật trong công nghệ Bluetooth.
a. Bảo mật .
Về tin
́ h bảo mâ ̣t thì bluetooth cũn g rấ t là quan tâm , vì nó cũng là một thiết
bị để truyền thông tin . Để có thể an toàn thì khi các thiế t bi ̣bluetooth kế t nố i với
nhau phải có mâ ̣t khẩ u riêng , mà chỉ có các thiết bị được trao đổi biết mật khẩu
này.
Tùy thuô ̣c vào cấ u mà công nghê ̣ Bluetooth
bảo mật ngắn hay là dài .
b. Các phƣơng pháp bảo vệ .
- Tắ t bluetooth khi không dù ng.
- Để chế đô ̣ bluetooth trong chế đô ̣ ẩ n .
- Sử dụng Bluetooth trong chế độ ẩn.
5
, mà có thể có có chuỗi ký tự
2.1.5. Module Bluetooth HC-05
a. Giới thiệu Module Bluetooth HC-05
Hình 2.1: Modul Bluetooth HC-05
Module Bluetooth HC-05 được thiết kế đễ sử dụng giao giao tiếp Bluetooth
qua Serial Port, truyền dữ liệu nối tiếp qua wireless.
Đặc điểm kỹ thuật:
- Chuẩn Bluetooth : V2.0+EDR - Điện áp hoạt động : 3,3VDC/ 30mA
- Chế độ hoạt động : Master , Slave, Loopback
- Kích thước 28mm x 15mm x 2.35mm
- Tần số: 2.4GHz ISM band
- Tốc độ: Asynchronous : 2.1 Mbs (Max)/160kbps Synchronous :
1Mbps/1Mbps - Bảo mật : Authentication and encryption - Giao tiếp : Bluetooth
serial port
- Baud Rate mặc định : 38400, databits : 8, Stopbit : 1, Parity : No. Hỗ trợ
tốc độ baud : 9600,19200,38400,57600,115200,230400,460800.
- Nhiệt độ làm việc : -20 ~ 75 độ C - Độ nhạy : -80dBm
- Công suất truyền : +4dBm
- Tự động kết nối với pincode mặc định “1234” or “1111”
6
- Tự động reconnect trong 30 phút nếu bị đứt kết nối Module có 2 chế độ
làm việc (có thể chọn chế độ làm việc bằng cahcs thay đổ i tr ạng thái chân KEY34:
- Tự động kết nối
- Đáp ứng theo lệnh: khi làm việc ở chế độ này, chúng ta có thể gửi các
lệnh AT để giao tiếp với module
Gaio tiếp với module bằng giao tiếp nối tiếp không đồng bộ qua hai đường
RX và TX Bằng cách thay đổ i tr ạng thái chân KEY chúng ta có thể cấu hình chế
độ hoạt động cho modue
- Để module làm việc ở chế độ tự động kết nối: KEY phải ở trạng thái
Floating ( trạng thái không kết nối )
- Để module làm việc ở chế độ đáp ứng theo lệnh : KEY=‟0‟, cấp nguồn
cho module, chuyển KEY = „1‟, lúc này có thể giao tiếp với modul bằng tập lệnh
AT
Ở chế độ SLAVE: chúng ta cần thiết lập kết nối từ smartphone, laptop, usb
bluetooth để dò tìm module và ghép nối với pincode mặc định ”1234”
Ở chế độ MASTER : modul sẽ tự động dò tìm thiết bị Bluetooth khác và
tiến hành ghép nối chủ động mà không cần thiết lập gì. Module tương thích với
các vi diều khiển 5V mà không cần chuyển đổ i m ức giao tiếp 5V về 3.3V như
nhiều loại module khác
b. Phần cứng Bluetooth HC 05
Sơ đồ chân :
Hình 2. 2: Sơ đồ chân modul Bluetooth HC-05
7
Bảng 2.0.1: mô tả chức năng các chân của module:
Tên chân
STT Chân
Loại chân
Mô tả chân
GND
13,21,22
VSS
Chân đất
3.3v VCC
12
Chân 3.3v
Chân nguồn
AIO0
9
2 hướng
Lập trình I/O
AIO1
10
2 hướng
Lập trình I/O
Lập trình I/O, điều
PIO0
23
2 hướng RX EN
khiển output cho
LNA nếu được
trang bị.
Lập trình I/O, điều
PIO1
24
2 hướng TX EN
khiển LA nếu
được trang bị.
PIO2
25
2 hướng
Lập trình I/O
PIO3
26
2 hướng
Lập trình I/O
PIO4
27
2 hướng
Lập trình I/O
PIO5
28
2 hướng
Lập trình I/O
PIO6
29
2 hướng
Lập trình I/O
PIO7
30
2 hướng
Lập trình I/O
PIO8
31
2 hướng
Lập trình I/O
PIO9
32
2 hướng
Lập trình I/O
PIO10
33
2 hướng
Lập trình I/O
PIO11
34
2 hướng
Lập trình I/O
ResetB_RST
11
Cmos input with weak
Reset nếu LOW
internal pull-up
UART
UART_CTS
3
Cmos input with weak
internal pull-down
8
UART xóa khi
gửi, hoạt động
LOW.
UART_RX
2
Cmos input with weak
Dữ liệu vào
internal pull-down
UART
Cmos output, tri-stable
UART_TX
1
with weak internal pull-
Dữ liệu ra UART
up.
SPI_MOSI
17
Cmos input with weak
internal pull-down.
Serial peripheral
interface data
input
Chip select for
SPI_CSB
16
Cmos input with weak
serial peripheral
internal pull-up.
interface, active
low.
SPI_CLK
SPI_MISO
19
18
Cmos input with weak
Serial peripheral
internal pull-down.
interface clock
Cmos input with weak
internal pull-down
USB-
15
2 hướng
USB+
20
2 hướng
NC
14
PCM CLK
5
2 hướng
PCM_OUT
6
Cmos output
PCM_IN
7
Cmos input
PCM_ SYNC
8
2 hướng
9
Serial peripheral
interface data
output
Synchronous
PCM data clock
Synchronous
PCM data output
Synchronous
PCM data input
Synchronous
PCM data strobe
c. Tập lệnh AT cho module Bluetooth HC-05
Bảng 2.2: một số lệnh AT cho module Bluetooth HC-05
Lệnh
Trả về
Tham số
Chức năng
AT
OK
None
Test
AT+RESET
OK
None
Reset
Version number
Kiểm tra phiên bản
AT+VERSION?
+VERSION: <Param>
OK
AT+ORGL
OK
None
Khôi phục trạng
thái mặc định
AT+ADDR?
+ADDR:<Param>OK
Bluetooth address
Địa chỉ bluetooth
AT+NAME=
aram>
OK
Đặt tên cho
Module
1. +NAME:<Param >
AT+NAME?
OK---success 2. FAIL--failure
AT+RNAME?<
param 1>
AT+ROLE?
AT+PSWD
=
AT+PSWD?
AT+UART
=<Param>,
<Param2>,
<Param3>
AT+UART?
1. +NAME:<Param 2>
OK---success 2. FAIL--failure
Bluetooth device
Tên thiết bị (mặc
name
định HC05)
Tên thiết bị
Bluetooth
0---Slave role 1--+ROLE:<Param> OK Master role 2--Slaver-Loop role
OK
Pincode
+PSWD:<Param>
Pincode
Param1: Baud
rate Param2: stop
OK
bit Param: parity
bit
UART=<Param>,
a m2>,<Param3> OK
10
Param1: Baud
rate Param2: stop
bit Param: parity
bit
Đồ trên Module
Truy vấn chức
năng modul Mặc
định :0
Đặt mã Pin Mặc
định:”1234”
Cấu hình cho cổng
UART
Truy vấn thông tin
cổng UART
2.2.
KIT MẠCH ARDUINO
2.2.1. Giới thiệu về Arduino.
ArduinolàmộtbomạchviđiềukhiểndomộtnhómgiáosưvàsinhviênÝthiếtkếvàđ
ưara
đầutiênvàonăm2005.MạchArduinođượcsử
vàđiềukhiểnnhiềuđốitượng
đểcảmnhận
dụng
khácnhau.Nócóthểthựchiệnnhiềunhiệmvụtừlấy
tínhiệutừcảmbiếnđếnđiềukhiểnđèn,
độngcơ,vànhiềuđốitượngkhác.Ngoàiramạchcòncókhảnăngliênkếtvớinhiềumodul
e
khácnhau
như
module
đọcthẻtừ,
ethernetshield,sim900A,
….đểtăngkhảứngdụngcủamạch.
Phầncứng
baogồmmộtboardmạchnguồnmởđượcthiếtkếtrênnềntảngvixửlýAVRAtmel8bit,h
oặcARM,Atmel32-bit,….HiệnphầncứngcủaArduinocótấtcả6phiênbản,Tuy nhiên
phiênbảnthườngđượcsửdụngnhiều
nhấtlàArduinoUnovàArduinoMega.ArduinoUno
rãitrênthếgiới,rấtnhiềuvídụtrênyoutubehoặccáctrang
đượcsửdụng
rấtrộng
hướng
dẫnvề
Arduinosửdụngmạchnày.Vìvậy
đốivớicácbạnmớihọcArduino,việcchọnArduinoUnosẽ
giúp
cácbạncó
thểtự
họcdễdàng.
Phần mềm đểlập trình cho mạch Arduino làphầnmềmIDE. Đâylà phầnmềm
mãnguồn
mở,
và
cóthểđượcdownload
từtrang
webcủaArduino:arduino.cc.Việchướng dẫndownloadvà sử dụngphần mềm
nàysẽđượcđềcập đến trongnhữngphần sau.
11
2.2.2. Phần cứng của Arduino UNO R3
2: Chân ICSP
atemega 16 U2
3:Giác cấp nguồn
cho mạch
1 Cáp
USB
4:Cổng USB
5:Nút Reset
1a:Giác cắm USB
đầu của Arduino
6:Chân ICSP của
Atemega 16U2
7:Chân xuất tín
hiệu ra
1b:Giác cắm USB
đầu của máy tính
8: IC Atemega
328
11:Chân cấp
nguồn cho cảm
biến
10:Chân lấy tín
hiệu Analog
9:Chân ICSP của
Atemega 328
1. Cáp USB
Đâylàdâycápthườngđượcbánkèmtheo bo,dây cápdùngđểcắm vàomáytính
đểnạpchương
trìnhchobovàdây
đồngthờicũnglấy
nguồntừnguồnusbcủamáy
tínhđểchobohoạtđộng.
NgoàiracápUSBcònđượcdùngđểtruyềndữliệutừboArduinolênmáytính.Dây
cápcó2 đầu,đầu1ađượcdùngđểcắmvàocổng USBtrênboArduino, đầu1b dùng
đểcắmvàocổng USBtrên máytính.
2. Chân ICSP atemega 16 U2
ICnàyđượclậptrìnhnhưmộtbộchuyểnđổiUSB–toSerialdùngđểgiaotiếpvớimáytính thôngquagiao thứcSerial (dùng cổngCOM).
3. Giác cấp nguồn cho mạch
12
Cổng nguồnngoàinhằmsửdụng nguồnđiệnbênngoàinhưpin,bìnhacquyhay
cácadapterchoboArduinohoạtđộng.NguồnđiệncấpvàocổngnàylànguồnDCcóhiệu
điệnthếtừ6Vđến20V, tuynhiên hiệu điệnthếtốt nhất mànhàsản xuất
4. Cổng USB
CổngUSBtrên bo Arduino dùngđểkết nối với cáp USB.
5. Nút Reset
Nútresetđượcsửdụngđểresetlạichươngtrìnhđangchạy.Đôikhichươngtrìnhchạ
ygặplỗi,người dùngcó thểreset lại chươngtrình..
6. Chân ICSP của Atemega 16U2
ICSPlàchữviếttắtcủaInCircuitSerialProgramming.ĐâylàcácchângiaotiếpSPIcủachip
Atmega16U2.
Cácchânnàythườngítđượcsử trongcácdựán vềArduino.
7. Chân xuất tín hiệu ra
Cótấtcả14chân xuấttínhiệuratrong ArduinoUno,những châncódấu~lànhững
châncóthể
bămxung(PWM),tứccóthểđiềukhiểntốcđộđộngcơhoặcđộsángcủađèn.Hình2thểhiệ
n rất rõ nhữngchân đểbăm xungnày.
8. IC Atmega 328
ICAtmega328làlinhhồncủabomạchArduinoUno,ICnày
đượcsửdụngtrongviệcthuthập dữ liệu từ cảm biến, xử lýdữ liệu, xuất tín hiệu
ra,…
9. Chân ICSP của Atmega 328
Các chân ICSP của ATmega 328 được sử dụng cho các giao tiếp SPI
(Serial
Peripheral
Interface),mộtsốứng
dụng
củaArduinocósử
dụng
chânnày,vídụnhưsửdụng moduleRFID RC522 với Arduino hayEthernet Shield
với Arduino.
10. Các chân lấy tín hiệu Analog
13
CácchânnàylấytínhiệuAnalog(tínhiệutương
tự)từcảmbiếnđểICAtmega328xửlý.Có tất cả6 chân lấytín hiệu Analog, từ A0
đến A5.
11. Chân cấp nguồn cho cảm biến
Cácchânnày
dùngđểcấpnguồnchocácthiếtbịbênngoàinhưrole,cảmbiến,RCservo,…trên
khuvựcnày
cósẵncácchânGND(chânnốiđất,chânâm),chân5V,chân3.3Vnhưđượcthể
hiệnởhình2.Nhờnhữngchânnày
màngườisửdụngkhôngcầnthiếtbịbiếnđổiđiệnkhicấp
nguồnchocảmbiến,role,rcservo,…Ngoàiratrênkhuvựcnày
còncóchânVinvàchânreset,
chânIOREF.Tuynhiêncácchân
nàythường
ítđượcsửdụng nêntrongtàiliệunàyxinkhông đi sâu vềnó.
12. Các linh kiện khác trên board mạch Arduino
Ngoài cáclinh kiện đãliệt kê bên trên, ArduinoUno còn 1 số linh kiện đáng
chúýkhác. Trên bo có tất cả4đènled,baogồm1lednguồn(ledONnhằmchobiếtboa
đãđược
cấpnguồn),2led
TxvàRx,1ledL.CácledTxvàRxsẽnhấpnháykhicódữliệutruyềntừboardlênmáy tính
hoặcngượclạithôngquacổngUSB.LedL
đượcđượckếtnốivớichânsố13.Lednàyđượcgọi làledonboard(tứcledtrênbo),lednày
giúpngườidùngcóthểthựchànhcácbàiđơngiảnmà không phải dùng thêm led bên
ngoài.
Trong14chânracủabocòncó2chân0và1cóthểtruyềnnhậndữliệunốitiếpTTL.C
ómột
sốứng
dụngcầndùng
đếntínhnăng
này,vídụnhưứng
dụng
điềukhiểnmạchArduinoUnoqua điện thoại sử dụngbluetooth HC05.Thêm vàođó,
chân 2vàchân 3cũngđượcsửdụng cho lậptrình ngắt (interrupt), đồngthờicòn 1
vàichânkháccóthểđượcsửdụng chocácchứcnăng khác,nhưđượcthểhiệnởhình3.
Bảng 1 thểhiện thêm cácthôngsố cho bo Arduino Uno R3.
14
Hình 2.3:. Các chân vào ra của Arduino Uno
Bảng 2.3. Một số thông số của Arduino UNO
Vi điều khiển
ATmega328 (họ 8bit)
Điện áp hoạt động
5V – DC (chỉ đượccấp qua cổngUSB)
Tần số hoạt động
16 MHz
Dòngtiêu thụ
30mA
Điện áp vào khuyên dùng
7-12V – DC
Điện áp vàogiới hạn
6-20V – DC
Số chân DigitalI/O
14 (6 chân PWM)
Số chân Analog
6 (độphângiải 10bit)
Dòngtốiđatrên mỗichân I/O
30 mA
Dòng ratốiđa (5V)
500 mA
Dòngratốiđa (3.3V)
Bộ nhớ flash
50 mA
32
KB(ATmega328)với0.5KBdùng
bootloader
SRAM
EEPROM
2 KB(ATmega328)
1 KB(ATmega328)
2.2.3. Phần mềm lập trình cho Arduino
1. Vào trang chủcủa Arduino:arduino.cc
15
bởi
2. Nhấn vào nút Download
3. Chọn hện điều hành
Có2tùy
chọnchohệ
điềuhànhWindowslàWindowsinstallervàWindowszipfilefornon admininstall.Tùy
chọnthứnhấtdùngchongườilàadmincủamáy,tùychọnthứ2chongười
khôngphảiadmin củamáy. Thông thườngđasố chọn tùychọn thứ nhất,
tứcWindows installer.
4. Download chƣơng trình về để cài đặt
16
5. Cài đặt
Phiênbảnđượcviếttrongbàinày
làphiênbảnIDE1.6.4.Đây
làphiênbảnmớinhấtcủaphần mềmIDE.Saunàycóthểsẽcónhữngphiênbảnkếtiếp,tuy
nhiênvềcơbảnthìcáchcàiđặt
giốngnhau.Saukhidownloadvềthìngườidùngsẽđược1file.exenhưhình7bêndưới.Để
càiđặt,người dùngnhấp đúp vào fileđó, phần mềm sẽbắt đầucài đặt.
Hình 2..4: File chạy phần mềm
Mộtthôngbáocóthểsẽđượchiệnlênvớihàngchữ:“doyouwanttorunthisfile?”,tứ
clàbạn có muốn chạyfilenàykhông?Người dùngclick và run (chạy) đểcài
chươngtrình.
6. Giao diện phần mềm
PhầnnàynóivềgiaodiệncủaphầnmềnIDE,hìnhbêndướithểhiệnnhữngphầncơb
ảncủa
giaodiện.Ngườidùngcóthểtìmhiểusâuhơnvềgiaodiệnnày,tuy
nhiênđây
làphầncơbản nhấtvàthường dùng nhấtđểcóthểhọcnhanhArduino,khicóthời gian
cácbạncóthểtìmhiểu
thêmcácbàiviếtvềnótrênarduino.cchoặcgoogle,…Cácchứcnăng
cơbảncủa
cácbiểutượng trên phần mềm đượctrình bàychi tiết ở cácphầnbên dưới.
a
c
b
d
e
17
GiaodiệncủaphầnmềmIDEcónhiềuphần,tuynhiênchúngtachúýđếnnhữngphầ
nquan trọngnhư đượcnêu ratronghìnhtrên. Chứcnăng củatừngphần như sau:
a. Vùng kiểm tra
Dùngđểkiểmtraxemchươngtrìnhđượcviếtcólỗikhông.Nếuchươngtrìnhbịlỗith
ìphần mềm sẽhiển thị thôngtin lỗi ở vùng(e).
b. Vùng nạp chương trình cho bo mạch Arduino
DùngđểnạpchươngtrìnhđượcviếtxuốngmạchArduino.Trongquátrìnhnạp,chư
ơngtrìnhsẽ đượckiểm tralỗi trướcsau đó mới thựchiện nạp xuốngmạch Arduino
c. Vùng hiển thị màn hình giao tiếp với máy tính
Khinhấpvàobiểutượngcáikínhlúpthìphầngiaotiếpvớimáytính
mởra.Phầnnàysẽ
sẽđược
hiểnthịcácthôngsốmàngườidùng
muốnđưalênmànhình.Muốnđưalênmànhìnhphảicó
lệnh
Serial.print()mới
cóthểđưathôngsố cần hiển thị lên màn hình
d. Vùng lập trình
Vùng này để người lập trình thực hiện việc lập trình cho chương trình của
mình.
e. Vùng thông báo thông tin
Cóchứcnăngthôngbáocácthôngtinlỗicủachươngtrìnhhoặccácvấnđềliênquanđ
ến chươngtrình đượclập.
f. Sử dụng một số menu thông dụng trong phần mềm
Có vài menu trong phần mềm IDE, tuy nhiên thông dụng nhất vẫn là menu
File, ngoài những tính năng như mở một file mới hay lưu một file, phần menu này
có một mục đáng chú ý là Example. Phần Example (ví dụ) đưa ra các ví dụ sẵn để
người lập trình có thể tham khảo, giảm bớt thời gian lập trình. Hình bên dưới thể
hiện việc chọn một ví dụ cho led chớp tắt (blink) để nạp cho mạch Arduino. Ví dụ
về led chớp tắt này thường được dùng để kiểm tra bo khi mới mua về.
MộtmenuthườngđượcsửdụngkháclàmenuTools.KhimớikếtnốiboArduinovới
máytính
taclickvàoTools-
18