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

Thiết kế và điều khiển thiết bị điện mô hình căn hộ sử dụng esp8266 kết hợp với ardunino

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 (2.89 MB, 63 trang )

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

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Đề tài:

THIẾT KẾ VÀ ĐIỀU KHIỂN THIẾT BỊ ĐIỆN
MƠ HÌNH CĂN HỘ SỬ DỤNG ESP8266 KẾT
HỢP VỚI ARDUINO

Giảng viên hƣớng dẫn : ThS. Đinh Văn Nam
Cán bộ phản biện

: ThS. Phạm Mạnh Toàn

Sinh viên thực hiện

:Nguyễn Anh Tuấn

MSSV

: 135D5103010057

Lớp

: 54K1 - CNKT Điện, Điện tử

Vinh, tháng 05 năm 2018



LỜI NÓI ĐẦU
Ngày nay, cùng với sự phát triển mạnh mẽ của ngành khoa học kĩ thuật, công
nghệ kĩ thuật điện, điện tử đóng vai trị quan trọng trong mọi lĩnh vực khoa học kĩ
thuật, quản lí, cơng nghiệp, cung cấp thơng tin...do đó lá một sinh viên chun
ngành điện, điện tử chúng ta phải biết nắm bắt và vận dụng nó một cách có hiêu quả
nhằm góp phần vào sự phát triển nền khoa học kĩ thuật thế giới và trong kĩ thuật
điện tử nói riêng. Bên cạnh đó còn là sự thúc đẩy sự phát triển của nền kinh tế nƣớc
nhà.
Nhƣ chúng ta đã biết, nhu cầu cuộc sống ngày càng đƣợc nâng cao, nên nhu
cầu về sự tiện nghi trong căn hộ cũng khơng nằm ngồi xu thế đó. Ngồi ra các vụ
việc đột nhập căn hộ không những gây thiệt hại lớn về tài sản của các gia đình mà
cịn tạo sự lo lắng cho nhiều ngƣời, ảnh hƣởng đến an toàn trật tự của toàn xã hội.
Theo khảo sát thì tồn bộ phần lớn vụ trộm cắp tài sản của các gia đình chủ yếu xảy
ra khi tất cả mọi ngƣời trong gia đình đều đã đi làm hoặc ngủ say. Nên có một hệ
thống cảnh báo sẽ giảm đƣợc phần lớn thiệt hại. Các thiết bị trong căn hộ đƣợc điều
khiển một cách tự động cũng nhƣ giám sát từ xa sẽ đem lại một cuộc sống thoải mái
cho mọi thành viên trong gia đình.
Do đó, em đã lựa chọn đề tài “thiết kế và điều khiển thiết bị điện mơ hình
căn hộ sử dụng ESP8266 kết hợp với Arduino‟‟ dƣới sự hƣớng dẫn của Thầy Đinh
Văn Nam làm đề tài tốt nghiệp của mình.
Mặc dù, em đã cố gắng hồn thành đề tài đặt ra nhƣng chắc chắn sẽ không
tránh khỏi những thiếu sót, mong các Thầy và các bạn thơng cảm. Em mong nhận
đƣợc những ý kiến đóng góp từ Thầy vá các bạn.
Sinh viên thực hiện

Nguyễn Anh Tuấn


NHẬN XÉT
(của giảng viên hướng dẫn)

………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
…………………………………


NHẬN XÉT
(của giảng viên phản biện)
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………

………………………………………………………………………………………
…………………………………


MỤC LỤC
LỜI NÓI ĐẦU ................................................................................................................ 1
CHƢƠNG 1: GIỚI THIỆU VỀ ĐỀ TÀI ........................................................................ 1
1.1.Đặt vấn đề ................................................................................................................. 1
1.2. Giới thiệu về đề tài ................................................................................................... 1
1.2.1. Tiện ích của các thiết bị điện ................................................................................ 2
1.2.2. Mặt trái của các thiết bị điện ................................................................................. 2
1.3. Mục đích chính của đề tài ........................................................................................ 3
1.4. Mục tiêu và phạm vi nghiên cứu .............................................................................. 3
CHƢƠNG 2. GIỚI THIỆU VỀ CÔNG NGHỆ WIFI, CƠ SỞ LÝ THUYẾT .............. 5
2.1. Giới thiệu về công nghệ Wifi ................................................................................... 5
2.1.1. Khái niệm .............................................................................................................. 5
2.1.2. Nguyên tắc hoạt động............................................................................................ 5
2.1.3. Các chuẩn kết nối ................................................................................................. 6
2.2. Giới thiệu về board Arduino .................................................................................... 7
2.2.1. Khái niệm .............................................................................................................. 7
2.2.2. Cấu tạo phần cứng ................................................................................................. 8
2.2.3. Ứng dụng Arduino trong thực tế ........................................................................... 9
2.2.4. Mơi trƣờng lập trình board mạch Arduino .......................................................... 11
2.2.5. Phân loại board mạch Arduino ............................................................................ 12
2.2.6. Khả năng ghép nối của Arduino ......................................................................... 16
2.2.7. Sơ đồ chân board Arduino uno ........................................................................... 16
2.2.8. Các thông số của board Arduino Uno ................................................................. 17
2.2.8.1. Thông số kĩ thuật .............................................................................................. 17
2.2.8.2 I/0 PINs ............................................................................................................ 18
2.2.8.3 Bộ nhớ ............................................................................................................... 18

2.2.8.4. Các cổng vào ra ................................................................................................ 18
2.2.8.5. Cấp nguồn cho bo mạch Arduino Uno............................................................. 19
2.2.9. Sử dụng phần mềm Arduino IDE để lập trình cho Arduino ............................... 20
2.2.10. Môi trƣờng làm việc Arduino ........................................................................... 22
2.3. Giới thiệu về module ESP8266 .............................................................................. 24
2.3.1. Khái niệm ............................................................................................................ 24
2.3.2. Chức năng của module ESP8266 ........................................................................ 25


2.3.3. Sơ đồ chân ........................................................................................................... 25
2.3.4. Phân loại module ESP8266 ................................................................................. 26
2.3.5. Tập lệnh AT giao tiếp với module ESP8266 ...................................................... 29
2.3.6. Các phƣơng pháp kết nối thiết bị với ESP8266. ................................................. 32
2.3.6.1. Truyền dữ liệu với web server ......................................................................... 32
2.3.6.2 Giao tiếp smartphone dùng ESP8266 ............................................................... 33
2.4. Tổng quan về phần mềm Blynk ............................................................................. 34
2.4.1. Khái niệm ............................................................................................................ 34
2.4.2. Cách hoạt động .................................................................................................... 34
2.4.3. Ƣu điểm của phần mềm Blynk ........................................................................... 34
2.4.4. Cài đặt phần mềm Blynk ..................................................................................... 35
CHƢƠNG 3: THIẾT KẾ MƠ HÌNH CĂN HỘ ............................................................ 37
3.1. Xây dựng sơ đồ khối tổng quát của hệ thống ......................................................... 37
3.2. Chức năng của từng khối ....................................................................................... 37
3.2.1. Khối giao tiếp module ESP8266 ......................................................................... 37
3.2.2. Khối xử lý trung tâm ........................................................................................... 38
3.2.3. Khối nguồn .......................................................................................................... 39
3.2.4. Khối cơ cấu chấp hành ........................................................................................ 40
3.2.4.1. Module relay .................................................................................................... 41
3.2.4.2. Động cơ servo .................................................................................................. 41
3.2.5. Khối cảm biến ..................................................................................................... 43

3.2.5.1. Cảm biến nhiệt độ Lm35 .................................................................................. 43
3.2.5.2. Cảm biến chuyển động và hồng ngoại HC-SR501 .......................................... 44
3.3. Thiết kế giao diện điều khiển trên điện thoại ......................................................... 45
CHƢƠNG 4. KIỂM TRA ĐÁNH GIÁ MƠ HÌNH ...................................................... 49
4.1. Kiểm tra mơ hình ................................................................................................... 49
4.2. Kết quả ................................................................................................................... 49
KẾT LUẬN ................................................................................................................... 52
PHỤ LỤC ...................................................................................................................... 54
I. Chƣơng trình điều khiển Arduino .............................................................................. 54
TÀI LIỆU THAM KHẢO ............................................................................................. 57


CHƢƠNG 1. GIỚI THIỆU VỀ ĐỀ TÀI
1.1. Đặt vấn đề
Ngành kỹ thuật điện (Kỹ thuật điện, điện tử) là ngành học nghiên cứu và áp
dụng các vấn đề liên quan đến điện, điện tử và điện từ với nhiều chuyên ngành nhỏ
nhƣ năng lƣợng, điện tử học, hệ thống điều khiển, xử lý tín hiệu, viễn thơng. Có thể
thấy, tất cả các thiết bị hệ thống từ đơn giản đến phức tạp trong mọi ngành nghề,
lĩnh vực đều có sự hiện diện không thể thiếu của ngành Kỹ thuật điện (Kỹ thuật
Điện, điện tử).
Ngày nay khi nhu cầu và thị hiếu của con ngƣời ngày càng cao, yêu cầu về số
lƣợng và chất lƣợng của các sản phẩm xã hội cũng khơng ngừng tăng, điều đó địi
hỏi dây chuyền sản xuất trong cơng nghiệp ngày càng hiện đại , có mức độ tự động
hóa ngày càng cao với việc sử dụng các kĩ thuật điều khiển hiện đại có sự trợ giúp
của máy tính. Hệ thống điều khiển về điện, điện tử có mặt trong mọi dây chuyền sản
xuất của các ngành kinh tế khác nhau nhƣ : công nghiệp, nơng nghiệp, giao thơng
vận tải...
Vì vậy một hệ thống điều khiển thiết bịvà hoàn toàn tự động là một xu thế tất
yếu . Ứng dụng hệ thống thông minh vào điều khiển các thiết bị trong căn hộ và sân
vƣờn vẫn còn khá mới mẻ ở Việt Nam. Em đã chọn đề tài thiết kế và điều khiển

thiết bị điện mơ hình căn hộđể làm đề tài nghiên cứu của mình để đón đầu xu thế
đó.
1.2. Giới thiệu về đề tài
Theo khái niệm dễ hiểu, điều khiển các thiết bị trong căn hộ đƣợc lắp đặt các
thiết bị điện, điện tử có khả năng bán tự động hoặc tự động hồn tồn. Khi đó, con
ngƣời có thể quản lý, giám sát và điều khiển tất cả các thiết bị điện từ xa vào bất kỳ
thời gian nào trong ngày thông qua điện thoại, máy tính, máy tính bảng, một cách
đơn giản và dễ dàng.Điều khiển hệ thống ánhsáng, hệ thống rèm cửa, cảm biến an
ninh chống trộm, cảm biến phát hiện chuyển động, cảm biến hồng ngoại.Ngoài ra,
con ngƣời cũng có thể thiết lập các thiết bị ở nhà hoạt động theo kịch bản đã cài đặt
sẵn. Tất cả các ứng dụng nhằm mục đích mang lại cho con ngƣời sự tiện nghi, an

1


ninh và tiết kiệm điện kết hợp điều khiển một cách đồng bộ các thiết bị điện mà một
căn hộ tại Việt Nam cần có.

Hình 1.1. Hình ảnh các thiết bị điện trong căn hộ
1.2.1.Tiện ích của các thiết bị điện
Một hệ thống kiểm soát mức độ chiếu sáng của hệ thống đèn giúp tiết kiệm
điện và phù hợp với khung cảnh, chẳng hạn nhƣ cài đặt đèn ánh sáng nhẹ cho các
bữa tiệc tối. Hệ thống cũng có thể điều chỉnh rèm cửa theo yêu cầu, kiểm soát nhiệt
độ, hệ thống camera giám sát, hệ thống khóa cửa tự động, hệ thống phịng ngừa
trộm.
Ngồi ra cịn có một số ứng dụng sáng tạo hơn, gồm hệ thống điều khiển giải
trí tại gia – loa cơng suất khác nhau, hệ thống điện thoại, liên lạc nội bộ, hệ thống
tƣới nƣớc...
Các chức năng này có thể đƣợc thực hiện nhờ các thiết bị trong căn hộ đƣợc
kết nối với nhau để hệ thống máy tính trung tâm có thể theo dõi các trạng thái và ra

các quyết định điều khiển phù hợp.giúp cuộc sống trở nên dễ chịu và tốt đẹp hơn.
1.2.2. Mặt trái của các thiết bị điện
Căn hộ giúp cuộc sống tiện nghi, thoải mái hơn, nhƣng đi đôi với đó là những
tốn kém và phiền tối mà khơng hẳn ai cũng biết.
-

Vi phạm an ninh là không thể tránh khỏi.

2


Về cơ bản, những thiết bị điện liên kết với nhau để tạo ra một căn hộ kỹ thuật
số trong tƣơng lai.Thiết bị điện cho căn hộ đã đƣợc đƣa ra trong thời gian hiện tại.
Chúng có thể làm những việc nhƣ thực hiện giám sát căn hộ có bị rị rỉ khí ga hoặc
độ ẩm cao, gây cháy nổ cho căn hộ, chung cƣ. Nhƣng bạn đang đặt tất cả quyền lực
này vào các thiết bị kỹ thuật số, cũng giống nhƣ việc bạn đang đặt niềm tin vào sự
an tồn của các thiết bị.
Thật khơng may, an ninh kỹ thuật số không ngừng phát triển. Một phần mềm có thể
gặp lỗ hổng, và ai đó có thể tìm thấy điều này và tấn công các thiết bị của bạn. Và
thực tế là nhiều nhà nghiên cứu bảo mật đã chỉ ra những lỗ hổng an ninh có trên các
thiết bị.
-

Chi phí đắt đỏ
Ngun nhân chính đó chính là giá thành của các thiết bị điện. Hầu hết, các

sản phẩm thiết bị của các hãng cơng nghệ đều có giá thành khá cao so với các sản
phẩm thông thƣờng. Để lắp đặt đồng bộ hoàn chỉnh một hệ thống điện trong căn hộ,
thì chi phí, giá thành thiết bị cả các sản phẩm ngoại là rất đắt đỏ.
1.3. Mục đích chính của đề tài

Xây dựng đề tài đã chọn theo hƣớng xây dựng hệ thống sử dụng Arduino kết
hợp ESP8266 để điều khiển các thiết bị điện trong căn hộ trên điện thoại. Mục tiêu
cuối cùng của cuộc cách mạng xây dựng căn hộ chung cƣ nói riêng và cơng nghệ
nói chung chính là làm cho cuộc sống trở nên thuận tiện hơn. Căn hộ tiện ích cho
phép bạn sống thoải mái mà không phải lo về việc nấu nƣớng, pha café, là ủi, lãng
phí điện. Mọi thứ đều đƣợc tự động. Các thiết bị đƣợc điều khiển qua bộ điều khiển
trung tâm và phần mềm đƣợc cài đặt trên smart phone . Giao diện quản lý phần
mềm đã đƣợc việt hóa hồn tồn sử dụng vơ cùng đơn giản. Thị trƣờng smart
home ngày càng phát triển mạnh mẽ đồng nghĩa với cuộc sống của con ngƣời ngày
càng tốt hơn.
1.4. Mục tiêu và phạm vi nghiên cứu
Do giới hạn về kiến thức chuyên ngành nên đề tài đã đặt ra mục tiêu nghiên
cứu cụ thể nhƣ sau: tìm hiểu về nguyên tắc hoạt động của công nghệ số trên module
Arduino và ESP8266. Tìm hiểu hoạt động của các khối cảm biến cụng nhƣ đọc cảm
biến nhiệt độ về điện thoại qua mạng wifi. Điều khiển hệ thống các thiết bị trong

3


căn hộ nhƣ đèn led, cảm biến chuyển động và hồng ngoại, động cơ servo cho gara ô
tô...

4


CHƢƠNG 2. GIỚI THIỆU VỀ CÔNG NGHỆ WIFI, CƠ SỞ LÝ THUYẾT
2.1. Giới thiệu về công nghệ Wifi
2.1.1. Khái niệm
Wi-Fi viết tắt từ Wireless Fidelity hay mạng 802.11 là hệ thống mạng khơng
dây sử dụng sóng vơ tuyến giống nhƣ điện thoại di động, truyền hình và radio. Hầu

hết các thiết bị sử dụng điện tử hiện nay nhƣ: smartphone, máy tính bảng, tivi
,laptop...đều có thể kết nối đƣợc wi-fi . Và wifi là thứ gắn liền và không thể thiếu
trong với đời sống của ngƣời dân trong hầu hết cơng việc cung nhƣ giải trí hàng
ngày.
Kết nối wifi dựa trên các chuẩn kết nối IEEE 802.11 ,và chủ yếu hiện nay
wifi chủ yếu hoạt động trên băng tần 54 Mbps và có tín hiệu mạnh nhất trong
khoảng cách 100 feets gần 31 mét.
2.1.2. Nguyên tắc hoạt động

Hình 2.1.Nguyên tắc hoạt động của wifi
Truyền thông qua mạng không dây là truyền thông vô tuyến hai chiều, cụ thể:
Thiết bị adapter khơng dây (hay bộ chuyển tín hiệu khơng dây) của máy
tính chuyển đổi dữ liệu sang tín hiệu vơ tuyến và phát những tín hiệu này đi bằng
một ăng-ten.

5




Thiết bị router khơng dây nhận những tín hiệu này và giải mã chúng.

Nó gửi thơng tin tới Internet thơng qua kết nối hữu tuyến Ethernet.
Quy trình này vẫn hoạt động với chiều ngƣợc lại, router nhận thông tin từ
Internet, chuyển chúng thành tín hiệu vơ tuyến và gửi đến adapter khơng dây của
máy tính.
Các sóng vơ tuyến sử dụng cho WiFi gần giống với các sóng vơ tuyến sử dụng
cho thiết bị cầm tay, điện thoại di động và các thiết bị khác. Nó có thể chuyển và
nhận sóng vô tuyến, chuyển đổi các mã nhị phân 1 và 0 sang sóng vơ tuyến và
ngƣợc lại.

Tuy nhiên, sóng WiFi có một số khác biệt so với các sóng vơ tuyến khác ở
chỗ:
Chúng truyền và phát tín hiệu ở tần số 2.4 GHz, 5 GHz hoặc 60Ghz. Tần số
này cao hơn so với các tần số sử dụng cho điện thoại di động, các thiết bị cầm tay
và truyền hình. Tần số cao hơn cho phép tín hiệu mang theo nhiều dữ liệu hơn.
2.1.3. Các chuẩn kết nối

Hình 2.2. Các chuẩn kết nối wifi
Chúng truyền và phát tín hiệu ở tần số 2.4 GHz, 5 GHz hoặc 60Ghz. Tần số
này cao hơn so với các tần số sử dụng cho điện thoại di động, các thiết bị cầm tay
và truyền hình. Tần số cao hơn cho phép tín hiệu mang theo nhiều dữ liệu hơn.
chuẩn 802.11:
- Chuẩn 802.11b là phiên bản đầu tiên trên thị trƣờng. Đây là chuẩn chậm nhất
và rẻ tiền nhất, và nó trở nên ít phổ biến hơn so với các chuẩn khác. 802.11b phát
tín hiệu ở tần số 2.4 GHz, nó có thể xử lý đến 11 megabit/giây, và nó sử dụng mã
CCK (complimentary code keying).

6


- Chuẩn 802.11g cũng phát ở tần số 2.4 GHz, nhƣng nhanh hơn so với chuẩn
802.11b, tốc độ xử lý đạt 54 megabit/giây. Chuẩn 802.11g nhanh hơn vì nó sử dụng
mã OFDM (orthogonal frequency-division multiplexing), một cơng nghệ mã hóa
hiệu quả hơn.
- Chuẩn 802.11a phát ở tần số 5 GHz và có thể đạt đến 54 megabit/ giây. Nó
cũng sử dụng mã OFDM. Những chuẩn mới hơn sau này nhƣ 802.11n còn nhanh
hơn chuẩn 802.11a, nhƣng 802.11n vẫn chƣa phải là chuẩn cuối cùng.
- Chuẩn 802.11n cũng phát ở tần số 2.4 GHz, nhƣng nhanh hơn so với chuẩn
802.11a, tốc độ xử lý đạt 300 megabit/giây.
- Chuẩn 802.11ac phát ở tần số 5 GHz. Là chuẩn wifi mới nhất đƣợc IEEE

giới thiệu . chuẩn ac có hoạt động ở băng tần 5GHz và tốc đọ tối đa lên đến 1730
Mbps khi sử dụng lại công nghệ đa ăng ten trên chuẩn 802.11n cho ngƣời dùng trải
nghiệm tốc độ cao nhất.
Chuẩn 802.11ad phát ở tần số 60 GHz.


WiFi có thể hoạt động trên cả ba tần số và có thể nhảy qua lại giữa các tần số

khác nhau một cách nhanh chóng. Việc nhảy qua lại giữa các tần số giúp giảm thiểu
sự nhiễu sóng và cho phép nhiều thiết bị kết nối không dây cùng một lúc.
2.2. Giới thiệu về board Arduino
2.2.1. Khái niệm
Arduino: là một board mạch vi xử lý, nhằm xây dựng các ứng dụng tƣơng tác
với nhau hoặc với môi trƣờng đƣợc thuận lợi hơn. Phần cứng bao gồm một board
mạch nguồn mở đƣợc thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM
Atmel 32-bit. Những Model hiện tại đƣợc trang bị gồm 1 cổng giao tiếp USB, 6
chân đầu vào analog, 14 chân I/O kỹ thuật số tƣơng thích với nhiều board mở rộng
khác nhau.
Đƣợc giới thiệu vào năm 2005, Những nhà thiết kế của Arduino cố gắng mang
đến một phƣơng thức dễ dàng, khơng tốn kém cho những ngƣời u thích, sinh viên
và giới chuyên nghiệp để tạo ra những thiết bị có khả năng tƣơng tác với mơi
trƣờng thơng qua các cảm biến và các cơ cấu chấp hành. Những ví dụ phổ biến cho
những ngƣời yêu thích mới bắt đầu bao gồm các robot đơn giản, điều khiển nhiệt độ
và phát hiện chuyển động. Đi cùng với nó là một mơi trƣờng phát triển tích hợp

7


(IDE) chạy trên các máy tính cá nhân thơng thƣờng và cho phép ngƣời dùng viết
các chƣơng trình cho Aduino bằng ngôn ngữ C hoặc C++.

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, gần
giống với những gì Apple đã làm đƣợc trên thị trƣờng thiết bị di động. Số lƣợng
ngƣời dùng cực lớn và đa dạng với trình độ trải rộng từ bậc phổ thơng lên đến đại
học đã làm cho ngay cả những ngƣời tạo ra chúng phải ngạc nhiên về mức độ phổ
biến
Arduino 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
2.2.2. Cấu tạo phần cứng
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²Cnhiề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

8



đơ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.
Theo nguyên tắc, khi sử dụng ngăn xếp phần mềm Arduino, tất cả các board
đƣợc lập trình thơng qua một kết nối RS-232, nhƣng cách thức thực hiện lại tùy
thuộc vào đời phần cứng. Các board Serial Arduino có chứa một mạch chuyển đổi
giữa RS232 sang TTL. Các board Arduino hiện tại đƣợc lập trình thơng qua cổng
USB, thực hiện thông qua chip chuyển đổi USB-to-serial nhƣ là FTDI FT232. Vài
biến thể, nhƣ Arduino Mini và Boarduino khơng chính thức, sử dụng một board
adapter hoặc cáp nối USB-to-serial có thể tháo rời đƣợc, Bluetooth hoặc các
phƣơng thức khác. (Khi sử dụng một cơng cụ lập trình vi điều khiển truyền thống
thay vì ArduinoIDE, cơng cụ lập trình AVR ISP tiêu chuẩn sẽ đƣợc sử dụng.
Board Arduino sẽ đƣa ra hầu hết các chân I/O của vi điều khiển để sử dụng
cho những mạch ngoài. Diecimila, Duemilanove, và bây giờ là Uno đƣa ra 14 chân
I/O kỹ thuật số, 6 trong số đó có thể tạo xung PWM (điều chế độ rộng xung) và 6
chân input analog, có thể đƣợc sử dụng nhƣ là 6 chân I/O số. Những chân này đƣợc
thiết kế nằm phía trên mặt board, thơng qua các header cái 0.10-inch (2.5 mm).
Nhiều shield ứng dụng plug-in cũng đƣợc thƣơng mại hóa. Các board Arduino
Nano, và Arduino-compatible Bare Bones Board và Boarduino có thể cung cấp các
chân header đực ở mặt trên của board dùng để cắm vào các breadboard.
Có nhiều biến thể nhƣ Arduino-compatible và Arduino-derived.Một vài trong
số đó có chức năng tƣơng đƣơng với Arduino và có thể sử dụng để thay thế qua lại.
Nhiều mở rộng cho Arduino đƣợc thực thiện bằng cách thêm vào các driver đầu ra,
thƣờng sử dụng trong các trƣờng học để đơn giản hóa các cấu trúc của các 'con rệp'
và các robot nhỏ. Những board khác thƣờng tƣơng đƣơng về điện nhƣng có thay đổi
về hình dạng-đơi khi cịn duy trì độ tƣơng thích với các shield, đơi khi khơng. Vài
biến thể sử dụng bộ vi xử lý hồn tồn khác biệt, với các mức độ tƣơng thích khác

nhau
2.2.3. Ứng dụng Arduino trong thực tế

9


Máy in 3D
Một cuộc cách mạng khác cũng đang âm thầm định hình nhờ vào Arduino, đó
là sự phát triển máy in 3D nguồn mở Reprap. Máy in 3D là công cụ giúp tạo ra các
vật thể thực trực tiếp từ các file CAD 3D. Công nghệ này hứa hẹn nhiều ứng dụng
rất thú vị trong đó có cách mạng hóa việc sản xuất cá nhân.

Hình 2.3. Máy in 3D Makerbot điều khiển bằng Arduino Mega2560
Robot
Do kích thƣớc nhỏ gọn và khả năng xử lý mạnh mẽ, Arduino đƣợc chọn làm
bộ xử lý trung tâm của rất nhiều loại robot, đặc biệt là robot di động.

Hình 2.4. Robot di động tránh vật cản dùng Arduino
Điều khiển ánh sáng
Các tác vụ điều khiển đơn giản nhƣ đóng ngắt đèn LED hay phức tạp nhƣ điều
khiển ánh sáng theo nhạc hoặc tƣơng tác với ánh sáng laser đều có thể thực hiện với
Arduino.

Hình 2.5. Điều khiển đèn led với arduino

10


Điều khiển căn hộ qua mạng wifi
Kết hợp với các module chức năng bluetooth hoặc wifi..., với các ứng dụng cài

đặt trên máy tính bảng, smart phone hay trình duyệt web ngƣời dùng có thể thiết kế
hệ thống điều khiển giám sát các thiết bị điện trong căn hộ của mình khi ở trong
nhà hoặc từ bất cứ nơi nào (đƣợc kết nối từ internet).

Hình 2.6. Arduino điều khiển căn hộ với máy tính bảng và smartphone
2.2.4. Mơi trƣờng lập trình board mạch Arduino
Mơi trƣờng lập trình đơn giản dễ sử dụng, ngơn ngữ lập trình Wtiring 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, Macintonsh OSX và Linux. Do có tính chất nguồn mở nên

11


mơi trƣờng lập trình này hồn tồn miễn phí và có thể mở rộng 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 ngền tảng ngôn ngữ C của AVR C vào chƣơng trình
nếu muốn.
2.2.5. Phân loại board mạch Arduino
Arduino Uno : là 1 bo mạch thiết kế với bộ xử lý trung tâm là vi điểu khiển
AVR Atmega328. Cấu tạo chính của Arduino Uno bao gồm các phần sau:

Hình 2.7. Board Arduino Uno.
- Cổng USB: đây là loại cổng giao tiếp để ta upload code từ PC lên vi điều
khiển. Đồng thời nó cũng là giao tiếp serial để truyền dữ liệu giữa vi điều khiển và
máy tính.
- Jack nguồn: để chạy Arduino thỉ có thể lấy nguồn từ cổng USB ở trên, nhƣng

khơng phải lúc nào cũng có thể cắm với máy tính đƣợc. Lúc đó ta cần một nguồn từ
9V đến 12V.
- Có 14 chân vào/ra số đánh số thứ tự từ 0 đến 13, ngồi ra có một chân nối
đất (GND) và một chân điện áp tham chiếu (AREF).
- Vi điều khiển AVR: đây là bộ xử lí trung tâm của toàn bo mạch. Với mỗi
mẫu Arduino khác nhau thì con chip là khác nhau. Ở con Arduino Uno này thì sử
dụng ATMega328.
Các thơng số chi tiết của Arduino Uno:
-

Vi xử lý:

Atmega328

-

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

5V

-

Điện áp đầu vào:

7-12V

12


-


Điện áp đầu vào (Giới hạn):

-

Chân vào/ra (I/O) số:

14 ( 6 chân có thể cho đầu ra PWM)

-

Chân vào tƣơng tự:

6

-

Dòng điện trong mỗi chân I/O: 40mA

-

Dòng điện chân nguồn 3.3V:

50mA

-

Bộ nhớ trong:

32 KB (ATmega328)


-

SRAM:

2 KB (ATmega328)

-

EEPROM:

1 KB (ATmega328)

-

Xung nhịp:

16MHz

6-20V

Board Arduino mega2560 sử dụng vi điều khiển ATmega2560 cho số ngoại
vi, các chuẩn giao tiếp và số chân nhiều nhất, bộ nhớ rất lớn (256KB), nếu bạn có
những ứng dụng cần mở rộng thêm nhiều chân, nhiều ngoại vi thì đây là 1 sự lựa
chọn đáng giá, board hoàn toàn có cấu trúc chân tƣơng thích với các board nhƣ Uno
và chạy điện áp 5VDC

Hình 2.8. Board Arduino mega2560
Thơng số kĩ thuật :
- Vi điều khiển: ATmega2560

- Điện áp hoạt động: 5V
- Nguồn ngồi ( giắc trịn DC) : 7-9V , Các bạn khơng nên cấp 12V vì đã
nhiều ngƣời dùng phản ánh cấp 12V rất nóng và dễ chết IC ổn áp
- Số chân Digital: 54 (15 chân PWM)
- Số chân Analog: 16
- Giao tiếp UART : 4 bộ UART
- Giao tiếp SPI : 1 bộ ( chân 50 -> 53 ) dùng với thƣ viện SPI của Arduino
- Giao tiếp I2C : 1 bộ
- Ngắt ngoài : 6 chân
- Bộ nhớ Flash: 256 KB, 8KB sử dụng cho Bootloader

13


-

SRAM: 8 KB
EEPROM: 4 KB
Xung clock: 16 MHz
Arduino due sử dụng vi điều khiển dựa trên chip SAM3X8E ARM – M3 của

Atmel với lõi ARM 32 bit. Nó có tổng cộng 54 chân I/O, 12 chân Analog, 4 UART,
chạy với xung clock 84MHz, 2 DAC, 2 TWI, header SPI, header JTAG.
Chú ý: không giống nhƣ các board Arduino khác, board chỉ chạy ở 3.3V. Điện áp
max cấp vào các chân I/O có thể chịu đƣợc là 3.3V nếu cao hơn có thể cháy và phá
hủy board.
-

Các thuận lợi của lõi ARM:


-

Board sử dụng chip lõi ARM 32 bit tốt hơn so với các loại vi điều khiển 8 bit
thông thƣờng. Sự khác biệt cụ thể nhƣ sau:

-

Lõi ARM: 32 bit.

-

CPU chạy ở tần số 84MHz.

-

SRAM: 96 Kbytes bộ nhớ Flash: 512Kbytes.

-

Bộ điều khiển DMA bên trong hỗ trợ cho CPU

Hình 2.9. Arduino Due
Thông số kỹ thuật:
-

Vi điều khiển: AT91SAM3X8E

-

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


-

Điện áp cung cấp: 7-12V

-

Số chân Digital: 54

-

Số chân ngõ vào Analog: 12 số chân ngõ ra Analog: 2 (DAC)

-

Tổng dòng ngõ ra trên các chân I/O: 130mA

14


-

Bộ nhớ Flash: 512KB

-

SRAM: 96Kb

-


Xung clock: 84MHz

-

Kích thƣớc: 101.5 x 53.5 mm

-

Khối lƣợng: 36g
Arduino Leonardo sử dụng vi điều khiển ATmega32u4 có module USB

Device tích hợp và đƣợc lập trình để module này có thể giả lập COM Port và nhiều
chức năng khác, nếu bạn đang có nhu cầu làm các ứng dụng liên quan đến USB hay
cần 2 cổng COM trên 1 board Arduino thì Leonardo chính là 1 lựa chọn sáng giá
Thông số kỹ thuật:
-

Vi điều khiển: ATmega32u4

-

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

-

Điện thế ngõ vào DC: 7-12V

-

Số chân Digital: 20


-

Số kênh PWM: 7

-

Số kênh vào Analog: 12

-

Bộ nhớ Flash: 32 KB (ATmega32u4), 4KB sử dụng cho Bootloader.

-

SRAM: 2.5 KB (ATmega32u4)

-

EEPROM: 1 KB (ATmega32u4)

-

Xung lock: 16 MHz

Hình 2.10. Arduino Leonardo
Arduino Pro Micro dựa trên vi điều khiển Atmega32U4. Nó giống với
Arduino Pro Mini nhƣng ở đây nó sử dụng chip Atmega32U4 có hỗ trợ giao tiếp
USB giúp nó linh hoạt hơn hẳn so với Pro Mini. Nó có 4 kênh ADC 10 bit, 5 kênh


15


PWM, 12 chân IO và ngõ giao tiếp Tx Rx. Board chạy ở 5V với tần số 16MHz,
board này giống với loại Uno phổ biến. Có hỗ trợ điện áp tham chiếu trên board vì
vậy có thể chấp nhận điện áp 12V cấp vào ADC.Chú ý: Nếu nguồn cấp lớn hơn 5V
thì nên cấp vào chân Raw của board chứ không phải chân VCC.
Thông số kỹ thuật:
-

sử dụng chip Atmega32U4

-

Điện áp cung cấp: 6V ~ 12V DC (chân Raw)

-

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

-

Hỗ trợ từ Arduino IDE V1.0.1 trở lên

-

Tích hợp cổng USB Micro trên board

-


Tần số hoạt động: 16MHz

-

Chống cấp ngƣợc điện áp

-

Có Led hiện thị nguồn và báo tình trạng

-

Kích thƣớc: 33 x 18 x 6mm.

Hinh 2.11. Arduino Pro Micro
2.2.6. Khả năng ghép nối của Arduino
-

Ghép nối với các cảm biến

-

Ghép nối với các module chức năng.

2.2.7. Sơ đồ chân board Arduino uno

16


Hình 2.12. Sơ đồ chân board Arduino R3


Hình 2.13. Board Arduino R3
2.2.8. Các thông số của board Arduino Uno
2.2.8.1. Thông số kĩ thuật
-

Vi xử lý:

Atmega328

-

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

5V

-

Điện áp đầu vào:

7-12V

-

Điện áp đầu vào (Giới hạn):

6-20V

-


Chân vào/ra (I/O) số:

14 ( 6 chân có thể cho đầu ra PWM)

-

Chân vào tƣơng tự:

6

-

Dòng điện trong mỗi chân I/O: 40mA

17


-

Dòng điện chân nguồn 3.3V:

50mA

-

Bộ nhớ trong:

32 KB (ATmega328)

-


SRAM:

2 KB (ATmega328)

-

EEPROM:

1 KB (ATmega328)

-

Xung nhịp:

16MHz

2.2.8.2. I/0 PINs

Hình 2.14. Sơ đồ chân của Atmega328
2.2.8.3. Bộ nhớ
Atmega 328 là một bộ vi điều khiển 8 bít dựa trên kiến trúc RISC bộ nhớ
chƣơng trình 32KB ISP flash có thể ghi xóa hàng nghìn lần, 1KB EEPROM, một bộ
nhớ RAM vô cùng lớn trong thế giới vi xử lý 8 bít (2KB SRAM).
2.2.8.4. Các cổng vào ra
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

18


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 8bit (giá trị từ 0 → 28-1 tƣơng ứng với 0V → 5V) bằng hàm analogWrite().
Nói một 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 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.2.8.5. Cấp nguồn cho bo mạch Arduino Uno
Có hai cách cấp nguồn cho bo mạch Uno: cổng USB và jack DC.
giới hạn điện áp cấp cho Uno là 6-20V. Tuy nhiên, dải điện áp khuyên dùng là

7 – 12V. (tốt nhất là 9V). Lý do là nếu nguồn cấp dƣới 7V thì điện áp ở „ chân 5V‟
có thể thấp hơn 5V và hoạt động không ổn định; nếu nguồn cấp lớn hơn 12V có thể
gây nóng bo mạch hoặc phá hỏng.
Các chân nguồn trên Uno:
-

Vin : chúng ta có thể cấp nguồn cho Uno thông qua chân này . Cách cấp
nguồn này ít đƣợc sử dụng.

-

5V : Chân này có thể cho nguồn 5V từ bo mạch Uno. Việc cấp nguồn vào
chân này hay chân 3.3V đều có thể phá hỏng mạch.

-

3.3V : Chân này cho nguồn 3.3V và dòng điện maximum là 50Ma.

-

GND : Chân đất.

19


×