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

Thiết kế và thi công hệ thống giám sát vườn rau thông qua mạng internet

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.24 MB, 72 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP. HỒ CHÍ MINH

ĐỒ ÁN TỐT NGHIỆP

THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT
VƯỜN RAU THÔNG QUA MẠNG INTERNET.

Ngành:

Kỹ thuật điện tử truyền thông.

Chuyên ngành: Điện tử viễn thông.

Giảng viên hướng dẫn : ThS. Trương Ngọc Bảo
Sinh viên thực hiện

: Trần Thanh Hà - 1311010079
Nguyễn Minh Hiền - 1311010084

Lớp

: 13DDT02

TP. Hồ Chí Minh,2017


LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi và được sự
hướng dẫn khoa học của Ths. Trương Ngọc Bảo. Các nội dung nghiên cứu,
kết quả trong đề tài này là trung thực. Những số liệu trong các bảng biểu phục


vụ cho việc phân tích, nhận xét, đánh giá được thu thập từ các nguồn khác
nhau có ghi rõ trong phần tài liệu tham khảo.
Ngoài ra, trong luận văn còn sử dụng một số nhận xét, đánh giá cũng như số
liệu của các tác giả khác, cơ quan tổ chức đều có trích dẫn và chú thích nguồn
gốc.
Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm về
nội dung luận văn của mình.
TP.Hồ Chí Minh, ngày...tháng...năm 2017
Sinh viên thực hiện

TRẦN THANH HÀ

NGUYỄN MINH HIỀN

1


Mục lục
LỜI MỞ ĐẦU ................................................................................................... 5
CHƯƠNG 1: TỔNG QUAN ........................................................................... 6
1.1

ĐẶT VẤN ĐỀ: ..................................................................................... 6

1.2

MỤC TIÊU ĐỀ TÀI: ............................................................................ 7

1.3


GIỚI HẠN ĐỀ TÀI: ............................................................................. 7

1.4

KHẢO SÁT, ĐÁNH GIÁ THỰC TRẠNG .......................................... 7

1.5 NỘI DUNG CỦA ĐỒ ÁN MÔN HỌC GỒM: ..................................... 8
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT .............................................................. 9
2.1 TỔNG QUAN VỀ Module Wifi Esp8266: .............................................. 9
2.1.1 ESP8266 : ........................................................................................... 9
2.1.2 Sơ đồ chân kết nối: ........................................................................... 10
2.1.3 Các chế độ hoat động: ...................................................................... 11
2.2 Sensor DHT 11: ...................................................................................... 14
2.3 Tổng Quan Về Arduino: ......................................................................... 17
2.3.1 Phần Cứng Của Arduino Uno R3:.................................................... 18
2.3.3. Thông số kỹ thuật: ........................................................................... 21
2.3.4. IC ATmega 328: .............................................................................. 21
2.4. Module cảm biến dòng (ACS712): ....................................................... 23
2.4.1. Lý thuyết về hiệu ứng Hall: ............................................................ 23
2.4.2Giới thiệu IC cảm biến dòng ASC712: ............................................. 25
2.5. Cảm biến độ ẩm đất: ............................................................................. 27
2.5.1 LM 393: ............................................................................................ 30
2


2.6. LCD16x2 (HD44780). .......................................................................... 36
2.6.1. Giới thiệu về LCD. .......................................................................... 36
2.7 Module Relay 2 Kênh: ........................................................................... 39
2.7.1 Giới Thiệu: ....................................................................................... 39
2.7.2 Sơ đồ nguyên lý mạch relay 2 kênh : ............................................... 41

2.7.3 Transistor S8550: ............................................................................. 42
2.8 Module BH1750: .................................................................................... 43
2.8.1 BH1750: ........................................................................................... 45
2.9 Máy Bơm Mini 6-12V MB385: ............................................................. 47
CHƯƠNG 3. TÍNH TOÁN THIẾT KẾ....................................................... 48
3.1 Sơ đồ khối: ............................................................................................. 48
3.2 Chức năng từng khối: ............................................................................. 48
3.3 Sơ đồ nguyên lý : ................................................................................... 49
3.4 Tính toán thiết kế: .................................................................................. 50
3.4.1 Khối nguồn: ...................................................................................... 50
3.4.2 Khối điều khiển: ............................................................................... 50
3.4.3 Khối đóng ngắt: ................................................................................ 51
CHƯƠNG 4. LẬP TRÌNH ĐIỀU KHIỂN .................................................. 53
4.1 Lưu đồ giải thuật: ................................................................................... 53
4.2 Lập trình vi điều khiển: .......................................................................... 55
4.3 Cài đặt phần mềm Arduino IDE :........................................................... 59
4.4. PHẦN MỀM BKYNK: ......................................................................... 66

3


CHƯƠNG 5 : KẾT LUẬN............................................................................ 69
5.1 Các vấn đề đã nghiên cứu và làm được: ................................................ 69
5.2 Tự đánh giá: ........................................................................................... 69
5.3 Hướng phát triển đề tài: ......................................................................... 70
TÀI LIỆU THAM KHẢO ............................................................................ 71

4



LỜI MỞ ĐẦU
Cùng với sự phát triển của các ngành điện tử - tin học, công nghệ viễn
thông trong những năm qua phát triển rất mạnh mẽ cung cấp ngày càng nhiều
các loại hình dịch vụ mới đa dạng, an toàn, chất lượng cao, đáp ứng ngày
càng tốt hơn yêu cầu của khách hàng. Trong xu hướng phát triển và hội tụ của
viễn thông và tin học, cùng với sự phát triển nhanh chóng về nhu cầu của
người dùng đối với những dịch vụ đa phương tiện chất lượng cao đã làm cho
cơ sở hạ tầng thông tin và viễn thông có những thay đổi lớn về cấu trúc. Cùng
với đó thực phẩm sạch, một trong những sản phẩm mà được mọi người quan
tâm hàng đầu chính là rau sạch. Bên cạnh đó với sự gia tăng ô nhiễm đất,
nước, hóa chất bảo vệ thực vật, rau xanh vẫn có nguy cơ nhiễm độc rất cao.
Chưa kể các yếu tố nấm, sâu bệnh trong điều kiện môi trường bình thường
cũng có thể gây hại cho rau và gián tiếp tác động xấu đến sức khỏe người tiêu
dùng. Để cho chúng ta có thể tự tay trồng và quan sát được sự phát triển của
cây đối với những người bận rộn và cũng như đảm bảo sức khỏe cho bản thân
mình nên chúng em chọn đề tài thiết kế và thi công hệ thống giám sát vườn
rau thông qua mạng internet để làm đồ án tốt nghiệp của mình.
Trong quá trình biên soạn, đồ án không tránh khỏi có những sai sót, em
mong được sự góp ý của các Thầy giáo,Cô giáo và các bạn đọc nói chung. Em
xin gửi lời cảm ơn tới Thầy ThS. Trương Ngọc Bảo, em cũng xin gửi lời cảm
ơn đến các Thầy Cô trong Khoa Cơ điện-Điện tử và gia đình đã hỗ trợ, tạo
điều kiện và động viên em hoàn thành đồ án này.

5


CHƯƠNG 1: TỔNG QUAN
1.1 ĐẶT VẤN ĐỀ:

Ngày nay cùng với sự phát triển mạnh mẽ của các ngành khoa học kỹ

thuật, công nghệ kỹ thuật điện tử mà trong đó là kỹ thuật tự động điều khiển
đó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 chuyên ngành Điện tử Viễn thông 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 nói chung và
trong sự phát triển 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à.
Các hệ thống điều khiển từ xa thông qua mạng INTERNET ngày càng
được sử dụng phổ biến và các hệ thống này có thể giúp cho các thiết bị giao
tiếp với nhau về mặt dữ liệu. Từ những yêu cầu thực tế, những đòi hỏi ngày
càng cao của cuộc sống, trong xu hướng phát triển và hội tụ của viễn thông và
tin học, cùng với sự quan tâm của người dùng đối với những dịch vụ đa
phương tiện chất lượng cao đã làm cho cơ sở hạ tầng thông tin và viễn thông
có những thay đổi lớn về cấu trúc. Cùng với đó thực phẩm sạch, một trong
những vấn đề được quan tâm hàng đầu của con người, vườn của mình. Dựa
trên nhu cầu thực tế đó nhóm em quyết định chọn thực hiện đề tài “ thiết kế và
thi công hệ thống giám sát vườn rau thông qua mạng internet“ làm đồ án tốt
nghiệp. Trên thực tế đã có một số sản phẩm tương tự về đề tài này, nhưng
những sản phẩm đó vẫn còn một số hạn chế như: Tính linh động của sản
phẩm, không thể điều khiển và giám sát từ xa các thiết bị trong vườn, khi trời
mưa vẫn tự động bơm nước vào làm cây úng nước và chết, không thể biết
được bơm có hoạt động không,... Một mô hình vườn cây thông minh thường
phải đạt được các yêu cầu: đo độ ẩm đất, đo nhiệt độ độ ẩm không khí, tự

6


bơm nước để tưới cho cây khi độ ẩm đất thấp và tắt khi độ ẩm đất cao và có
thể điều khiển từ xa thông qua mạng internet,….Hệ thống là một sản phẩm
hoạt động dựa trên sự kết hợp hoàn hảo giữa kĩ thuật cơ khí, kĩ thuật điện điện tử. Đảm bảo thực hiện các yêu cầu cơ bản mà chúng ta mong muốn.
1.2 MỤC TIÊU ĐỀ TÀI:


-Áp dụng kiến thức học lý thuyết vào thiết kế mô hình ứng dụng trong
thực tế.
+Mọi người luôn cảm thấy yên tâm khi khu vườn được chăm sóc tốt.
+Tiết kiệm sức lao động.
+Phát triển hệ thống tư duy, sáng tạo để có thể nghiên cứu, triển khai các
hệ thống khác phức tạp hơn.
1.3 GIỚI HẠN ĐỀ TÀI:

Vì thời gian cho phép thực hiện đồ án tốt nghiệp này có hạn 13 tuần nên
nội dung đề tài chỉ tập trung giải quyết các vấn đề sau:
-Thiết kế mô hình vườn cây thông minh.
-Ứng dụng các kiến thức đã học để hệ thống đảm bảo các yêu cầu sau:
+ Đo độ ẩm đất.
+ Đo nhiệt độ độ ẩm không khí.
+ Cảm nhận sự suy giảm của ánh sáng.
+Tự bơm nước để tưới cho cây khi độ ẩm đất thấp và tắt khi độ ẩm đất cao.
+ Tự mở đèn cho cây quang hợp khi điều kiện ánh sáng không đủ.
+ Có thể điều khiển và giám sát từ xa thông qua internet.
1.4 KHẢO SÁT, ĐÁNH GIÁ THỰC TRẠNG

Rau xanh là loại thực phẩm không thể thiếu trong bữa ăn hàng ngày.
Chúng chứa nhiều loại vitamin và các chất dinh dưỡng thiết yếu với sức khoẻ

7


con người. Ăn nhiều rau xanh còn có thể giúp bạn ổn định huyết áp, phòng
chống các bệnh về tim mạch và giúp thúc đầy quá trình trao đổi chất.. hiện
nay trên thị trường cung cấp rất nhiều loại rau củ quả đa dạng, phong phú.

Tuy nhiên những loại rau này hầu hết là có nguồn gốc không rõ ràng, không
đảm bảo chất lượng vệ sinh an toàn thực phẩm, người tiêu dùng luôn phải đối
mặt với các loại rau củ quả có sử dụng dư lượng thuốc bảo vệ thực vật, thuốc
kích thích, vi khuẩn, hóa chất gây hại,…
Chính vì vậy nhóm đã phát triển hệ thống giám sát vườn rau thông qua
mạng internet tối ưu hơn với cách tưới nước thông thường, nước sẽ ngấm hết
xuống đất hoặc bốc hơi theo không khí, khi đó cây cối không thực sự thụ
hưởng được, ta không thể kiểm soát được lượng nước mà họ cần tưới cho cây
trồng, khi tưới quá ít, khi lại quá nhiều, đôi khi vì khoảng cách tưới đến điểm
tắt nước hơi xa, nếu bận việc hoặc cần nghỉ ngơi, nghe điện thoại cầm tay,
ta sẽ để nước chảy tự do, như vậy nguồn nước sẽ bị thất thoát rất nhiều. Hệ
thống được thiết kế để đo độ ẩm đất, cảm nhận sự suy giảm của ánh sang, tự
bơm nước để tưới cho cây khi độ ẩm đất thấp và tắt khi độ ẩm đất cao, tự mở
đèn cho cây quang hợp khi điều kiện ánh sáng không đủ và có thể điều khiển
và giám sát từ xa thông qua internet. Qua đó, chúng ta có thể tự tay trồng và
quan sát được sự phát triển của cây đối với những người bận rộn và cũng như
đảm bảo sức khỏe cho bản thân, việc kiểm soát lượng nước tiêu thụ là rất rõ
ràng, giúp tiết kiệm tối đa nguồn nước, chi phí.
1.5

NỘI DUNG CỦA ĐỒ ÁN MÔN HỌC GỒM:

- Chương 1: Tổng quan.
- Chương 2: Cơ sở lý thuyết.
- Chương 3: Tính toán thiết kế.
- Chương 4: Lập trình điều khiển.
- Chương 5: Kết luận và hướng phát triển .
8



CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 TỔNG QUAN VỀ Module Wifi Esp8266:
2.1.1 ESP8266 :

Module ESP8266 là module wifi giá rẻ và được đánh giá rất cao cho các
ứng dụng liên quan đến Interner và Wifi cũng như các ứng dụng truyền nhận
sử dụng thay thế cho các module RF khác.
ESP8266 là một chip tích hợp cao, được thiết kế cho nhu cầu của một thế
giới kết nối mới, thế giới Internet of thing (IOT). Nó cung cấp một giải pháp
kết nối mạng Wi-Fi đầy đủ và khép kín, cho phép nó có thể lưu trữ các ứng
dụng hoặc để giảm tải tất cả các chức năng kết nối mạng Wi-Fi từ một bộ xử
lý ứng dụng.
ESP8266 có xử lý và khả năng lưu trữ mạnh mẽ cho phép nó được tích
hợp với các bộ cảm biến, vi điều khiển và các thiết bị ứng dụng cụ thể khác
thông qua GPIOS với một chi phí tối thiểu và một PCB tối thiểu.
*Các tính năng chính:
- Hỗ trợ chuẩn 802.11b/g/n.
- Wifi 2.4 GHz ,hỗ trợ WPA/WPA2.
- Chuẩn điện áp hoạt động: 3,3V.
- Có 3 chế độ hoạt động: Client, Access Point, Both Client và Access
Point.
- Hỗ trợ các chuẩn bảo mật như: OPEN, WEP, WPA_PSK,
WPA2_PSK, WPA_WPA2_PSK.
- Hỗ trợ cả 2 giao tiếp TCP và UDP.
- Làm việc như các máy chủ có thể kết nối với 5 máy con.
- LED chỉ báo truyền nhận TX/RX.

9



2.1.2 Sơ đồ chân kết nối:

Hình 2.2. Sơ đồ các chân của ESP8266.

- RESET: chân reset, tích cực mức thấp [0].
- ADC: chân đọc dữ liệu analog.
- CH_PD: Kích hoạt chip, sử dụng cho Flash Boot và updating lại module.
- GPIO16: Chân I/O.
- GPIO14: Chân I/O.
- GPIO12: Chân I/O.
- GPIO13: Chân I/O.
- VCC: Nguồn cấp 3.3V
- TXD: Chân Tx của giao thức UART.
- RXD: Chân Rx của giao thức UART
- GPIO4: Chân I/O.
- GPIO5: Chân I/O.
- GPIO0: Chân I/O.
- GPIO2: Chân I/O.
- GPIO15: Chân I/O.
- GND: Chân mass.

10


2.1.3 Các chế độ hoat động:
Module ESP8266 hoạt động ở 3 chể độ: TCP Client, TCP server và WiFi
Access Point.
* Hoạt động ở chế độ TCP Client:
- Kích hoạt tính năng đa kết nối:
Lệnh: AT+CIPMUX=1

- Nêu rõ các kết nối kênh mà mình muốn kết nối vào (0- 4), các loại giao thức
(TCP / UDP), địa chỉ IP (hoặc tên miền nếu mình có quyền truy cập DNS) và
số cổng bằng cách sử dụng CIPSTART.
Ví Dụ : AT+CIPSTART=4,"TCP","google.com",80
Nếu thành công module sẽ trả về kết nối :
OK
Linked
- Tiếp theo, cần phải xác định bao nhiêu dữ liệu mình muốn gửi (sau khi xác
định được kênh) trong này.
Ví dụ chúng ta sẽ gửi "GET / HTTP / 1.0 ¥ r ¥ n ¥ r ¥ n", đó là 18 byte:
AT+CIPSEND=4,18
Lần này, thay vì một câu trả lời "OK" mình sẽ nhận được một “ > ” nhắc:
- Điều này cho thấy các mô-đun được chờ đợi để gửi 18 byte dữ liệu ở đây nó
được một chút lộn xộn nếu sử dụng màn hình nối tiếp Arduino thì phải trao
đổi giữa kết thúc dòng module yêu cầu ("Carriage return only”) và những gì
các máy chủ HTTP được mong đợi ("Cả hai NL & CR"). Thay đổi các thiết
lập cho cả hai NL & CR và gửi như sau (bạn sẽ cần phải nhấn S kết thúc một
lần thứ hai để gửi các dòng sản phẩm nào của máy chủ HTTP dự kiến):
GET / HTTP/1.0
- Các mô-đun nên gửi về với:
11


SEND OK
- Bây giờ đã có sự thay đổi kết thúc cài đặt để vận chuyển trở lại để mình có
thể gửi thêm lệnh.
- Các mô-đun nên cung cấp một phản ứng thứ hai một khi máy chủ web đáp
ứng:
+IPD,4,530
- Bây giờ ta sẽ thấy dữ liệu:

HTTP/1.0 302 Found
Cache-Control: private
Content-Type: ...
- Ta có thể sẽ nhận được một phản ứng OK hoặc hai và sau đó cuối cùng một
dấu hiệu cho thấy các máy chủ có đóng kết nối:
Unlink
*Hoạt động ở chế độ TCP Server:
- Kết nối với một điểm truy cập WiFi.
- Cho phép nhiều kết nối.
AT+CIPMUX=1
- Tìm ra địa chỉ IP của các mô-đun.
AT+CIFSR
- Lưu ý phản ứng, ví dụ
192.168.1.2
- Thiết lập các mô-đun để lắng nghe (tham số đầu tiên, chế độ được thiết lập
để 1) cho một kết nối vào một cổng cụ thể.
AT+CIPSERVER=1,1336
- Từ một thiết bị khác trên cùng một mạng kết nối với các cổng lắng nghe, ví
dụ: với telnet:
telnet 192.168.1.2 1336

12


Các module sẽ hiển thị:
Link
*Hoạt động ở chế độ WiFi Access Point:
- Các module đi kèm với một điểm truy cập được xác định trước (SSID của
"ESP_ ..."), nhưng ta có thể định nghĩa của mình riêng với.
AT+CWSAP="NoWorriESSID","password",3,0

- Tham số đầu tiên là tên SSID; tham số thứ hai là mật khẩu; thứ ba WiFi
Hoạt động như một WiFi Access Point kênh chọn một không được sử dụng
trong khu vực của mình và các tham số cuối cùng là tiêu chuẩn mã hóa để sử
dụng.
- Một giá trị mã hóa 0 lần lượt mã hóa ra có nghĩa là mật khẩu được bỏ qua,
nhưng nó vẫn còn không thể có một giá trị rỗng. Ta không thể nhận được bất
kỳ mã hóa để làm việc mặc dù (nó sẽ luôn luôn tạo ra một mạng không được
mã hóa), ta có thể có nhiều may mắn, có thể với một firmware mới hơn ...
- Để thực sự cho phép mạng để được tạo ra, ta cần phải thiết lập chế độ
"WiFi" của các mô-đun để "AP" (2) hay "Cả hai" (3):
AT+CWMODE=3
- Bây giờ có thể kết nối với mô-đun của mình như là một điểm truy cập từ
một thiết bị khác (ví dụ như một máy tính xách tay hoặc điện thoại).
Ta có thể liệt kê các địa chỉ IP…của bất kỳ thiết bị kết nối vào mạng bằng:
AT+CWLIF
- Tạo ra các phản ứng:
192.168.4.100, [...]
- Bây giờ mình có thể chạy các ví dụ máy chủ từ trên cao và kết nối-lưu ý
rằng mô-đun luôn có IP 192.168.4.1 khi hoạt động như một AP.
o Giao tiếp với module ESP 8266 với tập lệnh AT
Khi sử dụng giao tiếp UART để gửi lệnh AT đến Module ESP 8266, chúng ta

13


phải gửi kềm kí tư <CR><LF> để báo kết thúc lệnh.
1. Lệnh Kiểm tra kết nối: AT.
Kết quả trả về: OK nếu kết nối không bị lỗi.
2. Lệnh Reset module: AT + RST.
Trả về: Ready sau khi reset thành công module.

3. Lệnh kiểm tra phiên bản module: AT+GMR.
Trả về môt dãy số là mã phiên bản module.
4. Lệnh cài đặt module hoạt động ở chế độ trạm phát wifi, điểm truy cập wifi:
AT+CWMODE=3.
Trả về: Ok sau khi cài đặt thành công.
5. Lệnh tìm các mạng wifi đang có: AT+CWLAP.
Kết quả trả về là danh sách các mạng wifi mà module có thể bắt được.
6. Lệnh truy cập vào mạng wifi khác.
AT+CWJAP="<access_point_name>","" Sau khi truy cập thành
công, trả về: Ok.
7. Lệnh lấy đỉa chỉ IP của module. AT+CIFSR. Trả về một dãy số là địa chỉ IP
của module.
8. Lệnh đặt tên và mật khẩu cho mạng wifi do module ESP8266 phát ra:
AT+CIFSR="tên_mang","mật_khẩu",3,0.
2.2 Sensor DHT 11:
DHT11 là cảm biến nhiệt độ và độ ẩm. Nó ra đời sau và được sử dụng
thay thế cho dòng SHT1x ở những nơi không cần độ chính xác cao về nhiệt
độ và độ ẩm.

14


Hình 2.3. DHT 11 thực tế.
- DHT11 có 4 chân như hình. Nó sử dụng giao tiếp số theo chuẩn 1 dây.
- Thông số kỹ thuật:
+ Đo độ ẩm: 20%-95%
+ Nhiệt độ: 0-50ºC
+ Sai số độ ẩm ±5%
+ Sai số nhiệt độ: ±2ºC
2.2.1. Nguyên lý hoạt động:

Sơ đồ kết nối vi xử lý:

Hình 2.4. Sơ đồ kết nối vi xử lý
Nguyên lý hoạt động: Để có thể giao tiếp với DHT11 theo chuẩn 1 chân vi
xử lý thực hiện theo 2 bước:
+ Gửi tin hiệu muốn đo (Start) tới DHT11, sau đó DHT11 xác nhận lại.
+ Khi đã giao tiếp được với DHT11, Cảm biến sẽ gửi lại 5 byte dữ liệu và
nhiệt độ đo được.
15


- Bước 1 : gửi tín hiệu Start.

Hình 2.5. Tín hiệu Start.
+ MCU thiết lập chân DATA là Output, kéo chân DATA xuống 0 trong
khoảng thời gian >18ms. Khi đó DHT11 sẽ hiểu MCU muốn đo giá trị nhiệt
độ và độ ẩm.
+ MCU đưa chân DATA lên 1, sau đó thiết lập lại là chân đầu vào.
+ Sau khoảng 20-40us, DHT11 sẽ kéo chân DATA xuống thấp. Nếu >40us mà
chân DATA ko được kéo xuống thấp nghĩa là ko giao tiếp được với DHT11.
+ Chân DATA sẽ ở mức thấp 80us sau đó nó được DHT11 kéo lên cao trong
80us. Bằng việc giám sát chân DATA, MCU có thể biết được có giao tiếp
được với DHT11 không. Nếu tín hiệu đo được DHT11 lên cao, khi đó hoàn
thiện quá trình giao tiếp của MCU với DHT.
- Bước 2: đọc giá trị trên DHT11
+ DHT11 sẽ trả giá trị nhiệt độ và độ ẩm về dưới dạng 5 byte. Trong đó:
• Byte 1: giá trị phần nguyên của độ ẩm (RH%).
• Byte 2: giá trị phần thập phân của độ ẩm (RH%).
• Byte 3: giá trị phần nguyên của nhiệt độ (TC).
• Byte 4 : giá trị phần thập phân của nhiệt độ (TC).

• Byte 5 : kiểm tra tổng.

16


=> Nếu Byte 5 = (8 bit) (Byte1 +Byte2 +Byte3 + Byte4) thì giá trị độ ẩm và
nhiệt độ là chính xác, nếu sai thì kết quả đo không có nghĩa.
+ Đọc dữ liệu:
Sau khi giao tiếp được với DHT11, DHT11 sẽ gửi liên tiếp 40 bit 0 hoặc 1
về MCU, tương ứng chia thành 5 byte kết quả của Nhiệt độ và độ ẩm.

Hình 2.6.Tín hiệu Start củz Bit 0 và Bit 1.
• Bit 0 : Được biểu hiện bằng 1 tín hiệu mức 1 với độ rộng 26-28us.
• Bit 1 : được biểu hiện bằng 1 tín hiệu mức 1 với độ rộng 70us.

2.3 Tổng Quan Về Arduino:
Arduino là một bo mạch vi điều khiển do một nhóm giáo sư và sinh viên
Ý thiết kế và đưa ra đầu tiên vào năm 2005. Mạch Arduino được sử dụng để
cảm nhận và điều khiển nhiều đối tượng khác nhau. Nó có thể thực hiện nhiều
nhiệm vụ từ lấy tín hiệu từ cảm biến đến điều khiển đèn, động cơ, và nhiều
đối tượng khác. Ngoài ra mạch còn có khả năng liên kết với nhiều module
khác nhau như module đọc thẻ từ, ethernet shield, sim900A, ….để tăng khả
ứng dụng của mạch.
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,…. Hiện phần cứng
17


của Arduino có tất cả 6 phiên bản, Tuy nhiên phiên bản thường được sử dụng
nhiều nhất là Arduino Uno và Arduino Mega. Arduino Uno được sử dụng rất

rộng rãi trên thế giới, rất nhiều ví dụ trên youtube hoặc các trang hướng dẫn
về Arduino sử dụng mạch này. Vì vậy đối với các bạn mới học Arduino, việc
chọn Arduino Uno sẽ giúp các bạn có thể tự học dễ dàng.
Phần mềm để lập trình cho mạch Arduino là phần mềm IDE. Đây là phần
mềm mã nguồn mở, và có thể được download từ trang web của Arduino:
arduino.cc.
2.3.1 Phần Cứng Của Arduino Uno R3:
Phần này nói về phần cứng của Arduino Uno R3, một bo mạch thông
dụng hiện nay.
*Chân xuất tín hiệu ra:
Có tất cả 14 chân xuất tín hiệu ra trong Arduino Uno, những chân có dấu
~ là những chân có thể băm xung (PWM), tức có thể điều khiển tốc độ động
cơ hoặc độ sáng của đèn. Hình 2.4 thể hiện rất rõ những chân này.
*IC ATmega 328:
IC Atmega 328 là linh hồn của bo mạch Arduino Uno, IC này được sử
dụng trong việc thu thập dữ liệu từ cảm biến, xử lý dữ liệu, xuất tín hiệu ra,…
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ột số ứng dụng của Arduino có sử dụng chân này, ví
dụ như sử dụng module RFID RC522 với Arduino hay Ethernet Shield với
Arduino.
*Chân lấy tín hiệu Analog:
Các chân này lấy tín hiệu Analog (tín hiệu tương tự) từ cảm biến để IC

18


Atmega 328 xử lý. Có tất cả 6 chân lấy tín hiệu Analog, từ A0 đến A5.
*Chân cấp nguồn cho cảm biến:
Các chân này dùng để cấp nguồn cho các thiết bị bên ngoài như role, cảm

biến, RC servo,…trên khu vực này có sẵn các chân GND (chân nối đất, chân
âm), chân 5V, chân 3.3V như được thể hiện ở hình 2. Nhờ những chân này mà
người sử dụng không cần thiết bị biến đổi điện khi cấp nguồn cho cảm biến,
role, rc servo,…Ngoài ra trên khu vực này còn có chân Vin và chân reset,
chân IOREF. Tuy nhiên các chân này thường ít được sử dụng nên trong tài
liệu này xin không đi sâu về nó.
*Các linh kiện khác trên board Arduino Uno R3:
Ngoài các linh kiện đã liệt kê bên trên, Arduino Uno R3 còn 1 số linh kiện
đáng chú ý khác. Trên bo có tất cả 4 đèn led, bao gồm 1 led nguồn (led ON
nhằm cho biết boa đã được cấp nguồn), 2 led Tx và Rx, 1 led L. Các led Tx và
Rx sẽ nhấp nháy khi có dữ liệu truyền từ board lên máy tính hoặc ngược lại
thông qua cổng USB. Led L được được kết nối với chân số 13. Led này được
gọi là led on board (tức led trên bo), led này giúp người dùng có thể thực hành
các bài đơn giản mà không cần dùng thêm led ngoài.
Trong 14 chân ra của bo còn có 2 chân 0 và 1 có thể truyền nhận dữ liệu
nối tiếp TTL. Có một số ứng dụng cần dùng đến tính năng này, ví dụ như ứng
dụng điều khiển mạch Arduino Uno R3 qua điện thoại sử dụng bluetooth
HC05.
Thêm vào đó, chân 2 và chân 3 cũng được sử dụng cho lập trình ngắt
(interrupt), đồng thời còn 1 vài chân khác có thể được sử dụng cho các chức
năng khác.

19


2.3.2 Sơ đồ nguyên lý Arduino Uno R3:

Hình 2.7. Sơ đồ nguyên lý Arduino Uno R3

20



2.3.3. Thông số kỹ thuật:
- Chíp vi điều khiển: Atmega 328.
- Điện áp hoạt động: 5V.
- Điện áp nguồn cấp: 7-12V.
- Kênh băm xung PWM: 7 Kênh.
- Cổng vào/ra tương tự: 12 Cổng.
- Ngắt ngoài: 5 (0 – 4).
- Dòng DC vào/ra mỗi cổng: 40 mA (5V), 50 mA (3,3V).
- Bộ nhớ chương trình: 32KB trong đó 4 KB được sử dụng làm
bootloader.
- Bộ nhớ SRAM: 2.5 Kbyte (Giá trị các biến khai báo khi lập trình sẽ
lưu ở đây. Khai báo càng nhiều biến thì càng cần nhiều bộ nhớ RAM.
Khi mất điện, dữ liệu trên SRAM sẽ bị mất ).
- Bộ nhớ EEPROM: 1 Kbyte.
- Tần số Clock: 16 MHz.
2.3.4. IC ATmega 328:
Atmega328 là một chíp vi điều khiển được sản xuất bời hãng Atmel thuộc
họ MegaAVR có sức mạnh hơn hẳn Atmega8. 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). Bootloader Arduino cho phép bạn
gửi mã chương trình cho ATmega328 thông qua giao thức Serial (dùng cổng
COM), có các gắt nội và ngoại (2 lệnh trên một vector ngắt), giao thức truyền
thông nối tiếp USART, SPI, I2C. Ngoài ra có thể sử dụng bộ biến đổi số
tương tự 10 bít (ADC/DAC) mở rộng tới 8 kênh, khả năng lập trình được
21



watchdog timer, hoạt động với 5 chế độ nguồn, có thể sử dụng tới 6 kênh điều
chế độ rộng xung (PWM), hỗ trợ bootloader.

Hình 2.8. Atemega328 thực tế

Atemega328 có khả năng hoạt động trong một dải điện áp rộng (1.8V –
5.5V), tốc độ thực thi (thông lượng) 1MIPS trên 1MHz.

Hình 2.9 Các chân của Atemega328
22


Ngày nay vi điều khiển Atmega328 thực sử được sử dụng phổ biến từ các dự
án nhỏ của sinh viên, học sinh với giá thành rẻ, xử lý mạnh mẽ, tiêu tốn ít
năng lượng (chế độ hoạt động : 0.2 mA, chế độ ngủ: 0.1 μA, chế độ tích kiệm:
0.75 μA) và sự hỗ trợ nhiệt tình của cộng đồng người dùng AVR. Và không
thể không nhắc tới sự thành công của Vi điều khiển Atmega328 trong dự án
mã nguồn mở Arduino với các modul Adruino Uno (R3), Arduino Nano,
Arduino Pro mini những sản phẩm dẫn dắt chúng ta vào thế giới mã nguồn
mở để hoàn thành một chương trình trong “nháy mắt”.
*Thông số kỹ thuật:
- Kiến trúc CPU: 8Bit, Atmel.
- Xung Nhịp: 0-20Mhz.
- Bộ nhớ flash: 32Kb.
- Bộ nhớ Ram: 2Kb.
- Bộ nhớ Eeprom: 1 Kb.
- Số kênh ADC: 8.
- Dộ phân giải ADC: 10 Bit.
- Số chân vào ra IO: 23.
- Giao tiếp Truyền thông: SPI, TWI, UART.

- Điện áp hoạt động: 1.8 - 5.5V.
- Kiểu chân: TQFP 32.
- Timer: 3.
2.4. Module cảm biến dòng (ACS712):
2.4.1. Lý thuyết về hiệu ứng Hall:
Trong đề tài này, ở kênh đo dòng điện em đo dòng điện qua tải bằng cảm
biến dòng ASC712 hoạt động dựa trên hiệu ứng Hall, do đó sau đây sẽ giới
23


thiệu về lý thuyết hiệu ứng Hall.
Khái niệm:
Hiệu ứng Hall là một hiệu ứng vật lý được thực hiện khi áp dụng một từ
trường vuông góc lên một bản làm bằng kim loại hay chất bán dẫn hay chất
dẫn điện nói chung (thanh Hall) đang có dòng điện chạy qua. Lúc đó ta nhận
được hiệu điện thế (hiệu thế Hall) sinh ra tại hai mặt đối diện của thanh Hall.
Tỷ số giữa hiệu thế Hall và dòng điện chạy qua thanh Hall gọi là điện trở Hall,
đặc trưng cho vật liệu làm nên thanh Hall. Hiệu ứng này được khám phá
bởi Edwin Herbert Hall vào năm 1879.

Hình 2.10. Nguyên lý hiệu ứng Hall khi chưa có từ trường (a) và khi có từ
trường (b)
Hình 1(a) thể hiện nguyên lý cơ bản của hiệu ứng Hall. Nếu một tấm vật liệu
bán dẫn mỏng (phần tử Hall) có dòng điện chạy qua nó và ta kết nối ngõ ra
vuông góc với chiều của dòng điện, khi không có từ trường đặt vào, sự phân
bố dòng sẽ không đổi và không có sự khác biệt về điện áp ở ngõ ra.
Khi đặt một từ trường vuông góc vào như hình (b), một lực Lorent tác dụng
lên dòng điện. Lực này sẽ làm nhiễu loạn sự phân bố dòng điện, kết quả là tạo
sự khác biệt về điện áp ở ngõ ra. Điện áp này được gọi là điện áp Hall.
Công thức liên hệ giữa hiệu thế Hall, dòng điện và từ trường là:

VH= IB/(den)
Trong đó:
+ VH là hiệu thế Hall . Đơn vị: Volt (V).

24


×