MỤC LỤC
MỤC LỤC...................................................................................................................................i
PHẦN A: MỞ ĐẦU...................................................................................................................1
1. Tính cấp thiết của đề tài..........................................................................................................1
2. Mục đích nghiên cứu của đề tài.............................................................................................1
3. Đối tượng và phạm vị nghiên cứu:.........................................................................................2
4. Kết cấu của đề tài: đề tài này gồm 4 chương.........................................................................2
PHẦN B: NỘI DUNG................................................................................................................3
CHƯƠNG 1: GIỚI THIỆU........................................................................................................3
Hinh 1.1.a: Mô hình nhà điều khiển không dây.........................................................................3
1.2Nguyên lý hoạt động..........................................................................................................3
Hình 1.1.b: Sơ đồ hệ thống mô hình..........................................................................................4
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT..........................................................................................5
2.1 Hệ thống xử lý trung tâm..................................................................................................5
2.1.1 Giới thiệu....................................................................................................................... 5
Hình 2.2: Sơ đồ khối xử lý trung tâm........................................................................................5
2.1.2 Khối xử lý trung tâm......................................................................................................5
Hình 2.3: vi điều khiển Atmega328P.........................................................................................6
Hình 2.4: Sơ đồ chức năng của chân trên Atmega328P............................................................7
Serial...................................................................................................................................... 8
USB8
SPI 8
TWI (I2C)............................................................................................................................... 9
Bảng 2.2: Độ dài dữ liệu truyền...............................................................................................12
Bảng 2.3: tính tốc độ baud........................................................................................................13
Bảng 2.4.a, 2.4.b, 2.4.c, 2.4.d: Một số tốc độ baud mẫu.......................................................14
Bảng 2.5: tóm tắt giá trị các bit và điện áp tham chiếu tương ứng..........................................15
Bảng 2.6: Bảng tóm tắt các chế độ hoạt động của ADC..........................................................16
Bảng 2.7: cách chọn hệ số chia................................................................................................17
2.1.3 Khối giao tiếp Smartphone..........................................................................................18
2.1.3.a Giới thiệu ................................................................................................................. 18
2.1.3.b Khảo sát Module HC-05...........................................................................................18
Hình 2.5: Module HC-05..........................................................................................................19
Hình 2.6: Sơ đồ nguyên lý Module HC-05..............................................................................20
Truyền thông nối tiếp UART ................................................................................................20
Hình 2.7: truyền nhận dữ liệu theo phương pháp song song và nối tiếp.................................20
Hình 2.8: Tín hiệu trong truyền thông nối tiếp........................................................................21
2.1.3.c Phần mềm trên Smartphone......................................................................................21
Hình 2.9: Giao diện Website MIT App Inventor.....................................................................22
Hình 2.10: Giao diện thiết kế MIT App Inventor....................................................................23
Hình 2.11: Giao diện Blocks....................................................................................................24
2.1.3.d Khối thời gian thực...................................................................................................25
Hình 2.12: IC DS1307..............................................................................................................25
Hình 2.13:Sơ đồ nguyên lý cho mạch thời gian thực..............................................................27
2.1.3.e Bộ thu-phát không dây..............................................................................................27
Hình 2.14: Sơ đồ nguyên lý NRF24L01..................................................................................28
Bảng 2.9: Sơ đồ kết nối với vi điều khiển................................................................................29
2.1.3.f Cảm biến nhiệt độ.....................................................................................................30
Hình 2.16: Sơ đồ kết nối DS18B20 với chuẩn One-wire........................................................32
Bảng 2.10: Bảng mô tả chức năng chuẩn nối tiếp One-wire...................................................33
2.1.3.g Cảm biến ánh sáng và cảm biến chuyển động.........................................................33
Hình 2.18: Sơ đồ nguyên lý của cảm biến ánh sáng cơ bản....................................................34
Hình 2.19: Cấu tạo cảm biến chuyển động..............................................................................35
2.2 Hệ thống xử lý khu vực...................................................................................................36
Hình 2.20: Sơ đồ khối hệ thống xử lý khu vực,.......................................................................36
2.3 Bộ phận an ninh.............................................................................................................. 37
Hình 2.21: LCD 16x2...............................................................................................................37
Hình 2.22: cảm biến cửa...........................................................................................................38
Bảng 2.11: Nối cảm biến cửa với vi điều khiển.......................................................................38
Hình 2.23:Sơ đồ kết nối cảm biến MQ2..................................................................................39
CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG.........................................................41
3.1 Hệ thống điều khiển chính.................................................................................................41
3.1.1 Lưu đồ thuật toán hệ thống điều khiển chính...............................................................41
Lưu đồ 3.1: Lưu đồ thuật toán hệ thống điều khiển chính......................................................41
3.1.2 Giải thích lưu đồ..........................................................................................................41
Luu đồ 3.2: Lưu đồ thuật toán hệ thống điều khiển chính.......................................................42
3.1.3 Sơ đồ nguyên lý............................................................................................................43
3.1.4 Thi công mạch.............................................................................................................. 44
3.2.1 Lưu đồ thuật toán hệ thống điều khiển khu vực...........................................................44
Lưu đồ 3.3: Lưu đồ hệ thống điều khiển khu vực..................................................................45
3.2.2 Giải thích lưu đồ..........................................................................................................45
3.2.3 Sơ đồ nguyên lý............................................................................................................45
3.2.4 Thi công mạch.............................................................................................................. 46
3.3 Thiết kế phần mềm trên smartphone...............................................................................47
3.3.1 Tạo giao diện...............................................................................................................47
Hình 3.5: Tạo giao diện trên MIT App Inventor......................................................................47
3.4 Sản phẩm và mô hình.........................................................................................................50
3.4.1 Bộ phận điều khiển trung tâm.........................................................................................50
3.4.2 Bộ điều khiển cho các khu vực.......................................................................................50
3.4.3 Mô hình nhà thông minh.................................................................................................51
CHƯƠNG 4: VIẾT CHƯƠNG TRÌNH...................................................................................52
4.1 Giới thiệu phần mềm Arduino IDE.................................................................................52
Hình 4.1: Giao diện Arduino IDE............................................................................................52
Hình 4.3: Kết nối với LCD.......................................................................................................55
Hình 4.4: Kết nối cảm biến nhiệt độ LM35.............................................................................56
Hình 4.5: Kết nối giữa Ethernet Shield W5100 với Arduino Uno..........................................57
Hình 4.6: Kết nối với Bluetooth bằng cách khởi tạo giao tiếp bằng phần mềm.....................59
4.3.6 Giao tiếp NRF24L01....................................................................................................60
Hình 4.7 Kết nối NRF24L01....................................................................................................60
TKHT ĐIỆN TỬ TỰ ĐỘNG CHO NGÔI NHÀ THÔNG MINH
Trang i
LỜI CẢM ƠN
---------Trong suốt thời gian học tập vừa qua, được sự chỉ dẫn của quý thầy cô trường Đại
Học Văn Hiến, khoa Kỹ Thuật Công Nghệ đã giúp em hoàn thành khóa học của mình.
Nay thông qua đồ án tốt nghiệp này, em xin gởi lời cảm ơn chân thành đến:
Quý thầy cô trong khoa Kỹ thuật – Công nghệ, đặc biệt là Bộ môn Điện tử - Viễn
thông đã tận tình chỉ bảo em trong suốt quá trình học tập.
Quý thầy cô ở các khoa có liên quan đã cung cấp cho em những kiến thức cần thiết
của một sinh viên.
Trường Đại Học Văn Hiến đã tạo điều kiện cho em học tập trong suốt thời gian qua.
Đặc biệt, em xin gởi lời cảm ơn chân thành và sâu sắc đến thầy NGUYỄN VĂN
KHẢI đã tận tình hướng dẫn và giúp đỡ em trong suốt thời gian thực hiện đồ án tốt
nghiệp này.
Cảm ơn tất cả bạn bè đã giúp đỡ em và chia sẽ những khó khăn trong qua trình thực
hiện đồ án này .
Tp.Hồ Chí Minh, ngày..........tháng.............năm...........
Sinh viên thực hiện
TKHT ĐIỆN TỬ TỰ ĐỘNG CHO NGÔI NHÀ THÔNG MINH
Trang ii
LỜI CAM ĐOAN
---------------Tôi cam đoan đây là công trình nghiên cứu của riêng tôi, do tôi tự thực hiện, không
sao chép, vay mượn từ các công trình nghiên cứu khoa học khác. Đảm bảo mọi tài liệu
tham khảo đều được trích dẫn, ghi chú đầy đủ
Tp.Hồ Chí Minh, ngày..........tháng.............năm...........
Sinh viên thực hiện
TKHT ĐIỆN TỬ TỰ ĐỘNG CHO NGÔI NHÀ THÔNG MINH
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Trang iii
---------------....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
…., ngày….. tháng….. năm 2014
Giáo viên phản biện
TKHT ĐIỆN TỬ TỰ ĐỘNG CHO NGÔI NHÀ THÔNG MINH
Trang iv
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
-----------------.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
ngày…….tháng……năm 2014
Giáo viên hướng dẫn
TKHT ĐIỆN TỬ TỰ ĐỘNG CHO NGÔI NHÀ THÔNG MINH
Trang v
DANH MỤC CÁC BẢNG BIỂU, LƯU ĐỒ, HÌNH
MỤC LỤC...................................................................................................................................i
PHẦN A: MỞ ĐẦU...................................................................................................................1
PHẦN B: NỘI DUNG................................................................................................................3
Hinh 1.1.a: Mô hình nhà điều khiển không dây.........................................................................3
Hình 1.1.b: Sơ đồ hệ thống mô hình..........................................................................................4
Hình 2.2: Sơ đồ khối xử lý trung tâm........................................................................................5
Hình 2.3: vi điều khiển Atmega328P.........................................................................................6
Hình 2.4: Sơ đồ chức năng của chân trên Atmega328P............................................................7
Bảng 2.2: Độ dài dữ liệu truyền...............................................................................................12
Bảng 2.3: tính tốc độ baud........................................................................................................13
Bảng 2.5: tóm tắt giá trị các bit và điện áp tham chiếu tương ứng..........................................15
Bảng 2.6: Bảng tóm tắt các chế độ hoạt động của ADC..........................................................16
Bảng 2.7: cách chọn hệ số chia................................................................................................17
Hình 2.5: Module HC-05..........................................................................................................19
Hình 2.6: Sơ đồ nguyên lý Module HC-05..............................................................................20
Hình 2.7: truyền nhận dữ liệu theo phương pháp song song và nối tiếp.................................20
Hình 2.8: Tín hiệu trong truyền thông nối tiếp........................................................................21
Hình 2.9: Giao diện Website MIT App Inventor.....................................................................22
Hình 2.10: Giao diện thiết kế MIT App Inventor....................................................................23
Hình 2.11: Giao diện Blocks....................................................................................................24
Hình 2.12: IC DS1307..............................................................................................................25
Hình 2.13:Sơ đồ nguyên lý cho mạch thời gian thực..............................................................27
Hình 2.14: Sơ đồ nguyên lý NRF24L01..................................................................................28
Bảng 2.9: Sơ đồ kết nối với vi điều khiển................................................................................29
Hình 2.16: Sơ đồ kết nối DS18B20 với chuẩn One-wire........................................................32
TKHT ĐIỆN TỬ TỰ ĐỘNG CHO NGÔI NHÀ THÔNG MINH
Trang vi
Bảng 2.10: Bảng mô tả chức năng chuẩn nối tiếp One-wire...................................................33
Hình 2.18: Sơ đồ nguyên lý của cảm biến ánh sáng cơ bản....................................................34
Hình 2.19: Cấu tạo cảm biến chuyển động..............................................................................35
Hình 2.20: Sơ đồ khối hệ thống xử lý khu vực,.......................................................................36
Hình 2.21: LCD 16x2...............................................................................................................37
Hình 2.22: cảm biến cửa...........................................................................................................38
Bảng 2.11: Nối cảm biến cửa với vi điều khiển.......................................................................38
Hình 2.23:Sơ đồ kết nối cảm biến MQ2..................................................................................39
Lưu đồ 3.1: Lưu đồ thuật toán hệ thống điều khiển chính......................................................41
Luu đồ 3.2: Lưu đồ thuật toán hệ thống điều khiển chính.......................................................42
Lưu đồ 3.3: Lưu đồ hệ thống điều khiển khu vực..................................................................45
Hình 3.5: Tạo giao diện trên MIT App Inventor......................................................................47
Hình 4.1: Giao diện Arduino IDE............................................................................................52
Hình 4.3: Kết nối với LCD.......................................................................................................55
Hình 4.4: Kết nối cảm biến nhiệt độ LM35.............................................................................56
Hình 4.5: Kết nối giữa Ethernet Shield W5100 với Arduino Uno..........................................57
Hình 4.6: Kết nối với Bluetooth bằng cách khởi tạo giao tiếp bằng phần mềm.....................59
Hình 4.7 Kết nối NRF24L01....................................................................................................60
TKHT ĐIỆN TỬ TỰ ĐỘNG CHO NGÔI NHÀ THÔNG MINH
Trang vii
KÍ HIỆU CÁC TỪ VIẾT TẮT – THUẬT NGỮ ANH – VIỆT
KÍ HIỆU
TIẾNG ANH
TKHT
RF
TIẾNG VIỆT
Thiết ké hệ thống
Radio Frequency
Sóng radio
AVR
Advanced Virtual RISC
1 họ vi xử lý của hãng Atmel
MCU
Microprocessor Control Unit
Vi điều khiẻn
ROM
Read Only Memory
Bộ nhớ chỉ đọc
RAM
Random Access Memory
Bộ nhớ cho phép truy xuất dữ liệu
UART
Universal Asynchronous serial Reveiver
and Transmitter
Truyền nhận dữ liệu bất đồng bộ
I2C
Inter-Integrated Circuit
Một chuẩn truyền thông nối tiếp
SPI
Serial Peripheral Bus
Chuẩn truyền thông nối tiếp
SDA
Serial DATA
Đường truyền nhận dữ liệu
SCL
Serial Clock
Đường xung nhịp
PWM
Pulse Width Modulation
Điều chế độ rung xung
TXB
Transmit data Buffer
Truyền dữ liệu
RXB
Reveive data Buffer
Thu dữ liệu
RTC
Real-time clock
Thời gian thực
Integrated Circuit
Vi mạch
IC
SCK
Xung giữ nhịp cho giao tiếp SPI
MISO
Master Input / Slave Output
MOSI
Master Output / Slave Input
SS
CRC
Tín hiệu ra từ Master
Tín hiệu vào Master
Slave Select
Chọn thiết bị Slave
cyclic redundancy check
Mã kiểm tra
PIR
Cảm biến chuyển động
LCD
Màn hình tinh thể lỏng
TKHT ĐIỆN TỬ TỰ ĐỘNG CHO NGÔI NHÀ THÔNG MINH
CGROM
Character Generator ROM
Trang viii
Bọ tạo font ký tự
TKHT ĐIỆN TỬ TỰ ĐỘNG CHO NGÔI NHÀ THÔNG MINH
Trang 1
PHẦN A: MỞ ĐẦU
1. Tính cấp thiết của đề tài
Khi cuộc sống con người được nâng cao, những nhu cầu cuộc sống hằng ngày càng cao
đòi hỏi phải được hỗ trợ tốt hơn. Và từ những nhu cầu thực tế đó ý tưởng về ngôi nhà thông
minh hình thành. Một ngôi nhà mà chứa đựng sự ấm áp yêu thương, tình yêu và hạnh phúc,
mọi hoạt động của con người điều được hỗ trợ và giúp đỡ một cách linh hoạt, không những
giúp đỡ mà ngôi nhà còn quản lý một cách thông minh.
Ngày nay, vớ sự phát triển một cách nhanh chóng của ngành điện tử cũng như nhiều
ngành khác thì ý tưởng về ngôi nhà thông minh không còn vướng bởi rào cản công nghệ
Việc điều khiển nhà thông minh thông qua Smartphone tạo nên bước ngoặc lớn trong
việc điều khiển tự động, không dây một cách linh hoạt, có thể nói sự phát triển không ngừng
của những chiếc Smartphone đã làm cho công nghệ thêm bước tiến, việc điều khiển dễ dàng
hơn
Từ ý tưởng đó, nhu cầu về cuộc sống thoải mái nên việc xây dựng “HỆ THỐNG ĐIỆ
TỬ TỰ ĐÔNG CHO NGÔI NHÀ THÔNG MINH” để đáp ứng phần nào trong cuộc sống
mọi người.
Do thời gian nghiên cứu và thực hiện đề tài chỉ giới hạn trong một khoảng thời gian
nhất định , vốn kiến thức và việc tìm hiểu sâu về một hệ thống còn hạn chế nên đề tài này
cũng có nhiều thiếu sót đáng kết, mọng quý thầy cô và người đọc đóng góp ý kiến để đề tài
được hoàn thiện hơn
2. Mục đích nghiên cứu của đề tài
Hệ thống điều khiển không dây trong ngôi nhà là một phần không thể thiếu trong các
vấn đề về hệ thống ngày nay, với đề tài này sẽ giúp con người:
+ Điều khiển một cách độc lập
+ Điều khiển không dây từ hệ thông chính qua các hệ thống phụ
+ Góp phần đảm bảo an toàn cho ngôi nhà khi không có người bên trong
+ Giao diện thiết kế điều khiển dễ dàng trên điện thoại Smartphone
Với đề tài này giúp sinh viên có nhiều kiến thức về các thiết bị, tập thói quen nghiên
cứu phục vụ công việc, có thể ứng dụng trong thực tế
TKHT ĐIỆN TỬ TỰ ĐỘNG CHO NGÔI NHÀ THÔNG MINH
3. Đối tượng và phạm vị nghiên cứu:
Trang 2
Hiện nay có nhiều phương pháp thiết kế hệ thống nhà thông minh khác nhau, trên
nhiều nền khác nhau: như vi xử lý, vi điều khiển, smartphone, hay máy tính…. Điều khiển
kết nối vô tuyến hay hữu tuyến,
Cụ thể hơn đề tài này sử dụng vi điều khiển của hãng Almel Atmega328p, module kết
nối không dây như NRF24L01+, các cảm biến, và Module Bluetooth HC-05 để giao tiếp với
Smartphone
Phạm vi nghiên cứu: mô hình nhà thông minh cơ bản ở Việt Nam
4. Kết cấu của đề tài: đề tài này gồm 4 chương
Chương 1: Giới thiệu
Chương 2: Cớ sở lý thuyết
Chương 3: Thiết kế và thi công
TKHT ĐIỆN TỬ TỰ ĐỘNG CHO NGÔI NHÀ THÔNG MINH
Trang 3
PHẦN B: NỘI DUNG
CHƯƠNG 1: GIỚI THIỆU
1.1 Giới thiệu
Hệ thống điện tử tự động cho nhà thông minh là hệ thống được điều khiển bởi một bộ
xử lý trung tâm với các bộ xử lý khác hay các ngoại vi được kết nối với nhau, thông qua các
đường truyền vô tuyến hay hữu tuyến
Hinh 1.1.a: Mô hình nhà điều khiển không dây
Với hệ thống này sử dụng các bộ giao tiếp không dây RF, và điều khiển độc lập thông
qua bộ xử lý trung tâm chính. Với 2 chết độ điều khiển là tự động và tùy chỉnh cho người sử
dụng chọn chế độ phù hợp. dưới đây là sơ đồ về một hệ thống nhà thông minh không dây cơ
bản nhưng đầy đủ các yếu tốt hình thành nhà thông minh
1.2 Nguyên lý hoạt động
CHƯƠNG 1: GIỚI THIỆU
TKHT ĐIỆN TỬ TỰ ĐỘNG CHO NGÔI NHÀ THÔNG MINH
Hình 1.1.b: Sơ đồ hệ thống mô hình
Trang 4
Ngôi nhà thông minh hoạt động dựa trên 2 chế dộ tùy chọn và tự động
Ở chế độ tùy chọn: người dùng sử dụng bộ điều khiển trên Smartphone với giao diện
thiết kế phù hợp đễ sử dụng, được việt hóa phần nào đó trong giao diên, và trên Smartphone
kế nối với hệ thống thông qua Bluetooth ,
- Người dùng có thể biết được nhiệt độ trong phòng là bao nhiêu, hệ thống nào đang
hoạt động, tình trạng thiết bị như thế nào, được hiển thị trên Smartphone
- Với chế độ này có thế điều khiển với thao tác cham tay trên Smartphone để điều khiển
thiết bị
Ở chế độ tự động; người dùng chỉ cần bấm vào nút tự động thì hệ thống chính nhận
được sẽ truyền tải thông tin về cho các bộ phận phù hợp khác trong hệ thống để điều khiển
thiết bị,
Với chế độ này các thiết bị hoạt động thông minh xử lý linh hoạt hệ thống đèn, quạt,
các loại cảm biến có trong phòng, tiết kiêm được năng lượng và hiệu năng hoạt động cao
Còn 1 tùy chon trên giao diên Smartphone là hệ thống an ninh, với việc nhập password
để mở cửa và hệ thống cảm biến chuyển động vào ban đêm để cảnh báo có người đột nhập,
CHƯƠNG 1: GIỚI THIỆU
TKHT ĐIỆN TỬ TỰ ĐỘNG CHO NGÔI NHÀ THÔNG MINH
Trang 5
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Hệ thống xử lý trung tâm
2.1.1 Giới thiệu
Khối xử lý trung tâm có nhiệm vụ tổng hợp các dử liệu được gửi từ các khổi xử lý khác
trong nhà và điều khiển thiết bị trong nhà qua sóng vô tuyền RF, và nhận dữ liệu điều khiển
của người dùng qua Smartphone thông qua giao diện được thiết kế dàng riêng cho hệ thống,
khối này được đặt ở phòng khách
Sơ đồ khối xử lý trung tâm
Hình 2.2: Sơ đồ khối xử lý trung tâm
2.1.2 Khối xử lý trung tâm
Để đáp ứng cho yêu cầu điều khiển trung tâm của mạch, ta cần sử dụng một vi điều
khiển có đủ khả năng về cách thức lập trình, dung lượng bộ nhớ cũng như sự tương thích
trong giao tiếp với PC, các Module ngoại vi và khả năng tích hợp cho hệ thống. Họ vi điều
khiển được sử dụng trong hệ thống là vi điều khiển AVR với dòng vi điều khiển
Atmega328p là một MCU 8bit được lập trình bằng ngôn ngữ C hay được lập trình trên nền
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
TKHT ĐIỆN TỬ TỰ ĐỘNG CHO NGÔI NHÀ THÔNG MINH
Trang 6
Arduino, sử dụng phần mềm Arduino IDE để biên dịch các dòng mã dựa trên nền tảng của
ngôn ngữ C, được phát triển bởi một nhóm các nhà nghiên cứu ở thị trấn Ivrea thuộc nước
Ý, Với ngôn ngữ lập trình trên Arduino IDE này có thể lập trình trên nhiều dòng chip thuộc
AVR hay Pic và MSP430 đặc biệt hơn có thể là ngôn ngữ lập trình trên các dòng máy tính
mini như Intel Galileo hay Raspberry Pi. Đối với AVR,Pic hay MSP430 thì có thể dùng 1 số
thư viện chung cho một số loại Module thông dụng do số chân trên các lạo chip này khác
nhau, và cũng có thể sử dụng một số loại vi điều khiển thuộc dòng AVR nhưng không thuộc
các loại vi điều khiển có sẵn trên board Arduino một ví dụ: đối với board Arduino Uno R3
thì sử dụng Atmega328P nhưng ta có thể gắn Atmega8 vào Arduino Uno nếu nạp sẵn
Bootloader cho Atmega8, tương tự ta có thể nạp các dòng khác như Atmega32, Atmega168,
ta có thể sử dụng Arduino làm mạch nạp cho các lạo AVR khác, nói cách khác có thể hiểu
Arduino có thể xem là mạch nạp, và được biên dịch trên Arduino IDE với dạng ngôn ngữ
riêng trên nền tảng C dễ lập trình,các dòng Pic hay MSP430 thì cũng tương tự.
Vi xử lý Atmega328p là loại MCU 8bit, có thể sử dụng trong các ứng dụng tương đối
phức tạp, có các bộ nhớ Flash, ROM, RAM, các ngỏ ra vào digital hay analog, có khả năng
xuất tín hieeun PWM (điều chỉnh độ rộng xung), hỗ trợ các chuẩn giao tiếp UART, I2C, one
Wire,SPI, hình bên dưới là sơ đồ chân và các chức năng của chân trong Atmega328p
Hình 2.3: vi điều khiển Atmega328P
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
TKHT ĐIỆN TỬ TỰ ĐỘNG CHO NGÔI NHÀ THÔNG MINH
Trang 7
Hình 2.4: Sơ đồ chức năng của chân trên Atmega328P
Nguồn cấp chính cho Atmega328P là 5V
Các chân Analog, gồm các ngõ nhập analog 23, 24 .... 28. Mỗi ngõ nhập analog có độ
phân giải 10 bits (tương ứng 1024 giá trị), điện áp nhập từ 0–5v. Nếu muốn thay đổi tầm
nhập điện áp cần phải dùng pin AREF và hàm analog Reference. Ngoài ra, các pin 27/28
cũng được nối trực tiếp với SDA/SCL hỗ trợ cơ chế truyền tin I2C. Do đó, nếu SDA/SCL
được sử dụng thì 27/28 sẽ không được dùng
Các chân Digital – PWM(#), gồm 14 pin vào/ra dạng tín hiệu số (digitalinput/output)
được ký hiệu từ số 2 – 6 và 9-19. Mỗi pin này đều có thể dùng để nhập hoặc xuất tín hiệu
dạng số với mức điện áp là 0 hoặc 5 volts, dòng max qua mỗi pin là 40 mA. Ngoài ra, một
số pin có thêm các chức năng đặc biệt sau :
• Serial– pin 2(RX) và pin 3(TX), đây là 2 pin dùng để truyền nối tiếp (serial).
• External Interrupts– pin 4, 5 thực hiện chức năng ngắt (interrupt) vi điều khiển khi
có tín hiệu từ bên ngoài kích vào một trong hai pin này.
• PWM– pin 5, 11, 12, 15, 16, 17, đây là các pin với ký hiệu khác có thêm tính năng
xuất ra tín hiệu PWM (điều chế độ rộng xung).
SPI– pin 16(SS), 17(MOSI), 18(MISO), 19(SCK), các pin này hỗ trợ truyền tin SPI.
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
TKHT ĐIỆN TỬ TỰ ĐỘNG CHO NGÔI NHÀ THÔNG MINH
Thông số kỹ thuật:
-
-
Thông tin về Arduino UNO:
Vi xử lý
Điện áp hoạt động
Điện áp vào (khuyến cáo)
Giới hạn điện áp vào
Số chân Digital I/O
Số chân Analog
Dòng DC trên 1 chân
Dòng DC chân 3.3V
Flash
SRAM
EEPROM
Xung nhịp
Các chuẩn giao tiếp:
Trang 8
ATmega328
5V
7-12V
6-20V
14 ( 6 chân PWM)
6
40mA
50mA
32KB, 5KB cho bootloader
2KB
1KB
16MHz
• Serial
Đây là chuẩn giao tiếp nối tiếp được dùng rất phổ biến trên các bo mạch Arduino. Mỗi
bo có trang bị một số cổng Serial cứng (việc giao tiếp do phần cứng trong chip thực hiện).
Bên cạnh đó, tất cả các cổng digital còn lại đều có thể thực hiện giao tiếp nối tiếp bằng phần
mềm (có thư viện chuẩn, người dùng không cần phải viết code). Mức tín hiệu của các cổng
này là TTL 5V. Lưu ý cổng nối tiếp RS-232 trên các thiết bị hoặc PC có mức tín hiệu là
UART 12V. Để giao tiếp được giữa hai mức tín hiệu, cần phải có bộ chuyển mức, ví dụ như
chip MAX232.Số lượng cổng Serial cứng của Atmega328 là 1 và của Atmega2560 là 4.
Với tính năng giao tiếp nối tiếp, các bo Arduino có thể giao tiếp được với rất nhiều
thiết bị như PC, touchscreen, các game console…
• USB
Các bo Arduino tiêu chuẩn đều có trang bị một cổng USB để thực hiện kết nối với máy
tính dùng cho việc tải chương trình. Tuy nhiên các chip AVR không có cổng USB, do đó các
bo Ardunino phải trang bị thêm phần chuyển đổi từ USB thành tín hiệu UART. Do đó máy
tính nhận diện cổng USB này là cổng COM chứ không phải là cổng USB tiêu chuẩn.
• SPI
Đây là một chuẩn giao tiếp nối tiếp đồng bộ có bus gồm có 4 dây. Với tính năng này
các bo Arduino có thể kết nối với các thiết bị như LCD, bộ điều khiển video game, bộ điều
khiển cảm biến các loại, đọc thẻ nhớ SD và MMC…
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
TKHT ĐIỆN TỬ TỰ ĐỘNG CHO NGÔI NHÀ THÔNG MINH
• TWI (I2C)
Trang 9
Đây là một chuẩn giao tiếp đồng bộ khác nhưng bus chỉ có hai dây. Với tính năng
này, các bo Arduino có thể giao tiếp với một số loại cảm biến như thermostat của CPU, tốc
độ quạt, một số màn hình OLED/LCD, đọc real-time clock, chỉnh âm lượng cho một số loại
loa…
• Các thanh ghi
Thanh ghi ICR1:
* ICR1 (InputCapture Register 1) : khái niệm mới thứ 2 của T/C1 là Input Capture.
Khi có 1 sự kiện trên chân ICP1 (chân 14 trên Atmega8), thanh ghi ICR1sẽ “capture” giá trị
của thanh ghi đếm TCNT1. Một ngắt có thể xảy ra trong trường hợp này, vì thế Input
Capture có thể được dùng để cập nhật giá trị “TOP” của T/C1.
Thanh ghi UDR:
* UDR: hay thanh ghi dữ liệu, là 1 thanh ghi 8 bit chứa giá trị nhận được và phát đi
của USART. Thực chất thanh ghi này có thể coi như 2 thanh ghi TXB (Transmit data Buffer)
và RXB (Reveive data Buffer) có chung địa chỉ. Đọc UDR thu được giá trị thanh ghi đệm dữ
liệu nhận, viết giá trị vào UDR tương đương đặt giá trị vào thanh ghi đệm phát, chuẩn bị để
gởi đi. Chú ý trong các khung truyền sử dụng 5, 6 hoặc 7 bit dữ liệu, các bit cao của thanh
ghi UDR sẽ không được sử dụng
Thanh ghi UCSRA:
* UCSRA (USART Control and Status Register A) : là 1 trong 3 thanh ghi điều khiển
hoạt động của module USART.
Thanh ghi UCSRA chủ yếu chứa các bit trạng thái như bit báo quá trình nhận kết thúc
(RXC), truyền kết thúc (TXC), báo thanh ghi dữ liệu trống (UDRE), khung truyền có lỗi
(FE), dữ liệu tràn (DOR), kiểm tra parity có lỗi (PE)…Bạn chú ý một số bit quan trọng của
thanh ghi này:
* UDRE (USART Data Register Empty) khi bit bày bằng 1 nghĩa là thanh ghi dữ liệu
UDR đang trống và sẵn sàng cho một nhiệm vụ truyền hay nhận tiếp theo. Vì thế nếu bạn
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
TKHT ĐIỆN TỬ TỰ ĐỘNG CHO NGÔI NHÀ THÔNG MINH
Trang 10
muốn truyền dữ liệu đầu tiên bạn phải kiểm tra xem bit UDRE có bằng 1 hay không, sau
khi chắc chắn rằng UDRE=1 hãy viết dữ liệu vào thanh ghi UDR để truyền đi.
* U2X là bit chỉ định gấp đôi tốc độ truyền, khi bit này được set lên 1, tốc độ truyền so
cao gấp 2 lần so với khi bit này mang giá trị 0.
* MPCM là bit chọn chế độ hoạt động đa xử lí (multi-processor).
Thanh ghi UCSRB:
* UCSRB (USART Control and Status Register B): đây là thanh ghi quan trọng điều
khiển USART. Vì thế chúng ta sẽ khảo sát chi tiết từng bit của thanh ghi này.
* RXCIE (Receive Complete Interrupt Enable) là bit cho phép ngắt khi quá trình nhận
kết thúc. Việc nhận dữ liệu truyền bằng phương pháp nối tiếp không đồng bộ thường được
thực hiện thông qua ngắt, vì thế bit này thường được set bằng 1 khi USART được dung nhận
dữ liệu.
* TXCIE (Transmit Complete Interrupt Enable) bit cho phép ngắt khi quá trình truyền
kết thúc.
* UDRIE (USART Data Register Empty Interrupt Enable) là bit cho phép ngắt khi
thanh ghi dữ liệu UDR trống.
* RXEN (Receiver Enable) là một bit quan trọng điều khiển bộ nhận của USART, đề
kích hoạt chức năng nhận dữ liệu bạn phải set bit này lên 1.
* TXEN (Transmitter Enable) là bit điều khiển bộ phát. Set bit này lên 1 bạn sẽ khởi
động bộ phát của USART.
* UCSZ2 (Chracter size) bit này kết hợp với 2 bit khác trong thanh ghi UCSRC quy
định độ dài của dữ liệu truyền/nhận. Chúng ta sẽ khảo sát chi tiết khi tìm hiểu thanh ghi
UCSRC.
* RXB8 (Receive Data Bit 8) gọi là bit dữ liệu 8. Bạn nhớ lại rằng USART trong AVR
có hỗ trợ truyền dữ liệu có độ dài tối đa 9 bit, trong khi thanh ghi dữ liệu là thanh ghi 8 bit.
Do đó, khi có gói dữ liệu 9 bit được nhận, 8 bit đầu sẽ chứa trong thanh ghi UDR, cần có 1
bit khác đóng vai trò bit thứ chín, RXD8 là bit thứ chín này. Bạn chú ý là các bit được đánh
số từ 0, vì thế bit thứ chín sẽ có chỉ số là 8, vì lẽ đó mà bit này có tên là RXD8 (không phải
RXD9).
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
TKHT ĐIỆN TỬ TỰ ĐỘNG CHO NGÔI NHÀ THÔNG MINH
Trang 11
* TXB8 (Transmit Data Bit 8), tương tự như bit RXD8, bit TXB8 cũng đóng vai trò bit
thứ 9 truyền thông, nhưng bit này được dung trong lúc truyền dữ liệu.
Thanh ghi UCSRC:
* UCSRC (USART Control and Status Register C): thanh ghi này chủ yếu quy định
khung truyền và chế độ truyền. Tuy nhiên, có một rắc rối nho nhỏ là thanh ghi này lại có
cùng địa chỉ với thanh ghi UBRRH (thanh ghi chứa byte cao dùng để xác lập tốc độ baud),
nói một cách khác 2 thanh ghi này là 1. Vì thế bit 7 trong thanh ghi này, tức bit URSEL là bit
chọn thanh ghi. Khi URSEL=1, thanh ghi này được chip AVR hiểu là thanh ghi điều khiển
UCSRC, nhưng nếu bit URSEL=0 thì thanh ghi UBRRH sẽ được sử dụng.
Các bit còn lại trong thanh ghi UCSRC được mô tả như sau:
* UMSEL (USART Mode Select) là bit lựa chọn giữa 2 chế độ truyền thông đồng bộ
và không đồng bộ. Nếu UMSEL=0, chế độ không đồng bộ được chọn, ngược lại nếu
UMSEL=1, chế độ đồng bộ được kích hoạt.
* Hai bit UPM1 và UPM0( Parity Mode) được dùng để quy định kiểm tra pariry. Nếu
UPM1:0=00, parity không được sử dụng (mode này khá thông dụng), UPM1:0=01 không
được sử dụng, UPM1:0=10 thì parity chẵn được dùng, UPM1:0=11 parity lẻ được sử dụng
(xem thêm bảng 1).
Bảng 2.1: Chọn kiểm tra parity.
* USBS (Stop bit Select), bit Stop trong khung truyền bằng AVR USART có thể là 1
hoặc 2 bit, nếu USBS=0 thì Stop bit chỉ là 1 bit trong khi USBS=1 sẽ có 2 Stop bit được
dùng.
* Hai bit UCSZ1 và UCSZ2 (Character Size) kết hợp với bit UCSZ2 trong thanh ghi
UCSRB tạo thành 3 bit quy định độ dài dữ liệu truyền. Bảng 2 tóm tắt các giá trị có thể có
của tổ hợp 3 bit này và độ dài dữ liệu truyền tương ứng.
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
TKHT ĐIỆN TỬ TỰ ĐỘNG CHO NGÔI NHÀ THÔNG MINH
Trang 12
Bảng 2.2: Độ dài dữ liệu truyền.
* UCPOL (Clock Pority) là bit chỉ cực của xung kích trong chế độ truyền thông đồng
bộ. nếu UCPOL=0, dữ liệu sẽ thay đổi thay đổi ở cạnh lên của xung nhịp, nếu UCPOL=1,
dữ liệu thay đổi ở cạnh xuống xung nhịp. Nếu bạn sử dụng chế độ truyền thông không đồng
bộ, hãy set bit này bằng 0..
Thanh ghi UBRR:
* UBRRL và UBRRH (USART Baud Rate Register): 2 thanh ghi thấp và cao quy định
tốc độ baud.
Nhắc lại là thanh ghi UBRRH dùng chung địa chỉ thanh ghi UCSRC, bạn phải set bit
này bằng 0 nếu muốn sử dụng thanh ghi UBRRH. Như bạn quan sát trong hình trên, chỉ có 4
bit thấp của UBRRH được dùng, 4 bit này kết hợp với 8 bit trong thanh ghi UBRRL tạo
thành thanh ghi 12 bit quy định tốc độ baud. Chú ý là nếu bạn viết giá trị vào thanh ghi
UBRRL, tốc độ baud sẽ tức thì được cập nhật, vì thế bạn phải viết giá trị vào thanh ghi
UBRRH trước khi viết vào thanh ghi UBRRL.
Giá trị gán cho thanh ghi UBRR không phải là tốc độ baud, nó chỉ được USART dùng
để tính tốc độ baud. Bảng 3 hướng dẫn cách tính tốc độ baud dựa vào giá trị của thanh ghi
UBRR và ngược lại, cách tính giá trị cần thiết gán cho thanh ghi UBRR khi đã biết tốc độ
baud.
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
TKHT ĐIỆN TỬ TỰ ĐỘNG CHO NGÔI NHÀ THÔNG MINH
Trang 13
Bảng 2.3: tính tốc độ baud.
Trong các công thức trong bảng 3, fOSC là tốc tần số xung nhịp của hệ thống (thạch
anh hay nguồn xung nội…). Để tiện cho bạn theo dõi, tôi đính kèm bảng ví dụ cách đặt giá
trị cho UBRR theo tốc độ baud mẫu
Bảng 2.4.a
Bảng 2.4.b
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT