Tải bản đầy đủ (.docx) (59 trang)

Báo cáo THIẾT KẾ BỘ ĐIỀU KHIỂN, GIÁM SÁT NHIỆT ĐỘ, ĐỘ ẨM VÀ ĐIỀU KHIỂN THIẾT BỊ ĐIỆN THÔNG QUA MẠNG WIFI

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 (1.97 MB, 59 trang )

BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
--------------------------------------NGUYỄN VĂN QUANG

ĐỒ ÁN TỐT NGHIỆP
NGHÀNH CNKT ĐIỆN TỬ VIỄN THÔNG
THIẾT KẾ BỘ ĐIỀU KHIỂN, GIÁM SÁT NHIỆT ĐỘ, ĐỘ ẨM VÀ ĐIỀU
KHIỂN THIẾT BỊ ĐIỆN THÔNG QUA MẠNG WIFI

CBHD: TS. NGUYỄN TIẾN KIỆM
Sinh viên: NGUYỄN VĂN QUANG
NGÀNH CNKT ĐIỆN TỬ VIỄN

Mã số sinh viên: 1141050457

Hà Nội – Năm 2020
LỜI CẢM ƠN
Sau một thời gian học tập tại Trường Đại Học Công Nghiệp Hà Nội,
dưới sự quản lí quản lí của nhà trường, giảng dạy, dìu dắt tận tình của tất cả
Thầy Cô, và đặc biệt đến từ giảng viên Khoa Điện Tử. Em đã trưởng thành
không chỉ về kiến thức chuyên nghành mà cả kĩ năng sống, kĩ năng giao


tiếp… Vận dụng những kiến thức đã được học từ thầy cô, các bạn và tự
nghiên cứu, em đã hoàn thành đồ án tốt nghiệp đúng thời hạn.
Em xin chân thành cảm ơn quý thầy, cô Khoa Điện Tử đã dành tình
cảm sâu sắc tới sinh viên, truyền tải kiến thức đến chúng em và định hướng
nghề nghiệp, các kĩ năng cần thiết để có thể đáp ứng được nhu cầu của xã hội
trước khi ra trường.
Một lần nữa em xin gửi lời cảm ơn sâu sắc nhất đến tất cả các thầy cô
khoa Điện Tử, đặc biệt là thầy Nguyễn Tiến Kiệm - giáo viên hướng dẫn đồ


án tốt nghiệp của em, thầy đã tạo điều kiện thuận lợi nhất để em hoàn thiện đồ
án tốt nghiệp này.
Em xin chân thành cảm ơn quý thầy, cô cùng toàn thể các bạn!
Sinh viên thực hiện
Nguyễn Văn Quang


MỤC LỤC


DANH MỤC BẢNG BIỂU

LỜI NÓI ĐẦU
Trong xu thế phát triển hiện nay các ngành công nghệ thông tin, điện
tử, tự động hóa, … bùng nổ mạnh mẽ làm cuộc sống của con người ngày càng
trở nên dễ dàng và hoàn thiện hơn. Ngôi nhà thông minh có thể giám sát và
điều khiển từ xa là nhu cầu tất yếu. Do đó em có lựa chọn đề tài “Thiết kế bộ
điều khiển, giám sát nhiệt độ, độ ẩm và điều khiển thiết bị điện thông qua
mạng Wifi”. Mục tiêu của đề tài là điều khiển thiết bị điện bằng smartphone,
giám sát được thông tin dữ liệu, các thông số như nhiệt độ, độ ẩm môi trường
theo thời gian thông qua smart phone.
Quá trình thực hiện đề tài được đi theo từng bước, nghiên cứu tổng
quan về Arduino, ESP8266, Blynk được sử dụng trong nhà thông minh. Sau
đó xây dựng hệ thống và mạch điều khiển. Trong khi nghiên cứu em có tham
khảo các tài liệu và công nghệ trong và ngoài nước để lựa chọn các công nghệ
tối ưu và phù hợp nhất. Nhưng với kiến thức và sự hiểu biết có hạn nên em
không tránh khỏi những sai sót mong thầy cô đóng góp ý kiến để đề tài của
em có thể hoàn thiện hơn.
1 MỞ ĐẦU
1.1. Đặt vấn đề

Kỹ thuật Vi điều khiển ngày càng phát triển với tốc độ chóng mặt,
không chỉ về công nghệ mà ứng dụng của nó cũng rất đa dạng trong mọi khía
cạnh của cuộc sống. Nhu cầu sử dụng đầy đủ các thiết bị thông minh để phục
vụ cho sinh hoạt và công việc của con người ngày càng lớn. Chính vì vậy,
việc ứng dụng kĩ thuật vi điều khiển vào trong cuộc sống hằng ngày sẽ giúp


các thiết bị, máy móc mà còn người sử dụng ngày càng trở nên thuận tiện, dễ
sử dụng, hiệu quả công việc ngày càng được nâng cao. Đối với mỗi chúng ta,
nhà là nơi gần gũi, thân thiết, việc ứng dụng công nghệ tự động hóa càng
được rộng rãi, tất cả đồ dùng trong nhà từ phòng ngủ, phòng khách đến nhà vệ
sinh đều được gắn các bộ điều khiển điện tử có thể kết nối với Internet và điện
thoại di động, cho phép chủ nhân điều khiển vật dụng từ xa hoặc lập trình cho
thiết bị ở nhà hoạt động theo lịch thời gian đúng mong muốn.

Hình 1. 1 Ngôi nhà thông minh
Nhu cầu quản lí, giám sát nhiệt độ, độ ẩm kết hợp với điều khiển thiết
bị điện trong gia đình bằng việc ứng dụng IOT đang là bài toán cho các nhà
lập trình, phát triển. Hơn thế nữa đó là việc quản lí ngôi nhà của mình bằng
smart phone và điều khiển thông qua mạng Wifi lại càng trở nên cần thiết.
Nghiên cứu, ứng dụng các công nghệ, kĩ thuật mới của lĩnh vực vi điều
khiển có thể nói là một lối đi mới mà nhiều người đang theo đuổi. Là một sinh
viên chuyên nghành Điện tử của Trường Đại Học Công Nghiệp Hà Nội (một
khoa mũi nhọn của trường, với những giảng viên giàu tri thức, tâm huyết với
nghề, …) em đã vận dụng những kiến thức, kĩ năng đã được học, rèn luyện
dưới sự dìu dắt của thầy cô để ngày hôm nay, em làm đồ án về lĩnh vực này.
Đồ án mang tên: “Thiết kế bộ điều khiển, giám sát nhiệt độ, độ ẩm và điều
khiển thiết bị điện thông qua mạng Wifi “.
Sau quá trình học tập tại trường, thực tập và trải nghiệm tại công ty bên
ngoài, em đã đi đến quyết định thực hiện và phát triển đề tài này vì tính hiệu



quả mà nó mang lại. Cùng với các kiến thức đã học từ phía giáo viên, trải
nghiệm, em đã tự tích lũy kiến thức từ nhiều nguồn để có thể vận dụng tối đa
hiểu biết của mình vào đồ án của mình. Sản phẩm, kết quả đạt được ngày hôm
nay của em tuy không lớn lao nhưng đó là thành quả của cả một quá trình tự
học tập, trau dồi, vận dụng kiến thức của bản thân vào thực hành.
Mặc dù em đã rất cố gắng để hoàn thành đồ án tốt nghiệp này, tuy vậy
vẫn không thể tránh khỏi những thiếu sót, mong quý thầy cô thông cảm, góp ý
để em có thể hoàn thiện bản thân mình hơn nữa.
1.2. Phương pháp nghiên cứu
- Nghiên cứu qua các tài liệu hướng dẫn về lĩnh vực IOT của các tác giả
trong và ngoài nước.

Hình 1. 2 Ứng dụng IOT trong cuộc sống
- Áp dụng kiến thức về lập trình đã được học, tự tìm hiểu, để ứng dụng
lập trình giao tiếp qua mạng Wifi.


Hình 1. 3 Mạng Wifi trong gia đình
- Tìm hiểu nguyên lí, cấu tạo, tận dụng triệt để chức năng của từng
module, linh kiện để có thể thiết kế mạch điện một cách tối ưu nhất, giảm chi
phí giá thành khi gia công.

Hình 1. 4 Sách hướng dẫn tự học Arduino
1.3. Mục tiêu, nhiệm vụ


- Tìm hiểu về ngôn ngữ, cách sử dụng thư viện, hàm chức năng, … của
ứng dụng lập trình Arduino.

- Tìm hiểu về cách lập trình module NodeMCU Wifi, giao tiếp qua
mạng Wifi.
- Xây dựng, thiết kế bảng mạch và thiết kế phần mềm giám sát trên
smart phone.
- Mạch cần phải giao tiếp được với mạng Wifi và thực hiện được các
chức năng đo nhiệt độ, độ ẩm.

Hình 1. 5 Máy đo nhiệt độ, độ ẩm của hãng EMIN
- Phần mềm trên smart phone có thể giám sát được nhiệt độ, độ ẩm, kết
hợp điều khiển thiết bị điện với thời gian thực.


Hình 1. 6 Giám sát nhiệt độ trên điện thoại

- Kiểm tra, đánh giá tính ứng dụng của đề tài.

Hình 1. 7 Tính ứng dụng của đề tài


CHƯƠNG 2. TỔNG QUAN VỀ CÁC THIẾT BỊ PHẦN CỨNG
2.1. Tổng quan về arduino
1.1.1. Giới thiệu chung
Arduino [ 1 ]. là một nền tảng điện tử nguồn mở dựa trên phần cứng và
phần mềm dễ sử dụng. Các bo mạch Arduino có thể đọc các giá trị từ cảm
biến, nút nhấn hoặc tin nhắn Twitter - và biến nó thành đầu ra - kích hoạt
động cơ, bật đèn led,… Để làm được như vậy, chúng ta sử dụng ngôn ngữ lập
trình Arduino, phần mềm Arduino (IDE) .
Arduino được sinh ra ra tại Học viện Ivrea như một công cụ nhằm vào
các sinh viên không có nền tảng về điện tử và lập trình. Tất cả các bo mạch
Arduino hoàn toàn là nguồn mở, người dùng tự xây dựng một cách độc lập và

ứng dụng chúng với nhu cầu cụ thể của mình.
Hiện tại có rất nhiều loại vi điều khiển, đa số được lập trình bằng ngôn
ngữ C/C++ hoặc Assembly, điều này gây không ít khó khăn cho những người
có ít kiến thức về lập trình và điện tử. Arduino được phát triển nhằm đơn giản
hóa việc thiết kế, lắp ráp linh kiện, … để người dùng có thể dễ dàng sử dụng.
1.1.1.1 Những ưu điểm của Arduino so với các nền tảng khác:
-

Đa nền tảng - phần mềm Arduino (IDE) chạy trên các hệ điều hành
Windows, Mac OS và Linux và kể cả trên điện thoại Android.

-

Môi trường lập trình đơn giản, rõ ràng. Đối với giáo viên, nó thuận
tiện dựa trên môi trường lập trình xử lý, vì vậy sinh viên học lập
trình trong môi trường đó sẽ quen với cách thức hoạt động của
Arduino IDE.


-

Mã nguồn mở: Phần mềm Arduino được phát triển dựa trên mã
nguồn mở, vì thế người dùng có thể dễ dàng chia sẻ, tích hợp trên
nhiều nền tảng khác nhau.

-

Mở rộng phần cứng: Arduino được thiết kế và sử dụng dưới dạng
module, việc mở rộng phần cứng trở nên cực kì đơn giản.


1.1.1.2 Phần mềm Arduino:
Phần mềm Arduino được gọi là sketches, được tạo ra trên máy tính có
tích hợp môi trường phát triển (IDE). IDE cho phép viết, chỉnh sửa code và
chuyển đổi sao cho phần cứng có thể hiểu. IDE dùng để biên dịch và nạp vào
Arduino (quá trình xử lý này gọi là UPLOAD).
1.1.1.3 Phần cứng Arduino:
Phần cứng Arduino là các board Arduino, nơi thực thi các chương trình
lập trình. Các board này có thể điều khiển hoặc đáp trả các tín hiệu điện, vì
vậy các thành phần được ghép trực tiếp vào nó nhằm tương tác với thế giới
thực để cảm nhận và truyền thông. Ví dụ các cảm biến bao gồm các thiết bị
chuyển mạch, cảm biến siêu âm, gia tốc. Các thiết bị truyền động bao gồm
đèn, motor, loa và các thiết bị hiển thị.
Có rất nhiều ứng dụng sử dụng Arduino để điều khiển. Arduino có rất
nhiềunmodule, mỗi module được phát triển cho một ứng dụng. Về mặt chức
năng, các bo mạch Arduino được chia thành hai loại: loại bo mạch chính có
chip Atmega và loại mở rộng thêm chức năng cho bo mạch chính. Các bo
mạch chính về cơ bản là giống nhau về chức năng, tuy nhiên về mặt cấu hình
như số lượng I/O, dung lượng bộ nhớ, hay kích thước có sự khác nhau. Một
số bo mạch có trang bị thêm các tính năng kết nối như Ethernet và Bluetooth.
1.1.2. Cấu trúc phần cứng


1.1.2.1 Cấu trúc chung
Arduino Uno là một bo mạch vi điều khiển dựa trên chip ATmega168
hoặc ATmega 328.
Cấu trúc chung bao gồm:
- 14 chân vào ra bằng tín hiệu số, trong đó có 6 chân có thể sử dụng để
điều chế độ rộng xung.
- Có 6 chân đầu vào tín hiệu tương tự cho phép chúng ta kết nối với các
bộ cảm biến bên ngoài để thu thập số liệu.

- Sử dụng một dao động thạch anh tần số dao động 16MHz.
- Có một cổng kết nối bằng chuẩn USB để chúng ta nạp chương trình
vào bo mạch và một chân cấp nguồn cho mạch, một nút reset.
- Nó chứa tất cả mọi thứ cần thiết để hỗ trợ các vi điều khiển, nguồn
cung cấp cho Arduino có thể là từ máy tính thông qua cổng USB hoặc là từ bộ
nguồn chuyên dụng được biến đổi từ xoay chiều sang một chiều hoặc là
nguồn lấy từ pin.


Hình 2. 1: Arduino Uno

 Thông số kỹ thuật:
-

Khối xử lý trung tâm là vi điều khiển Atmega328.

-

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

-

Điện áp đầu vào khuyến nghị là 5-12V.

-

Điện áp đầu vào giới hạn 6-20V.

-


Dòng điện một chiều trên các chân vào ra là 40mA.

-

Dòng điện một chiều cho chân 3.3V là 50mA.

-

Clock Speed 16 MHz.


-

Flash Memory 16 Kb (ATmega 168) hoặc 32 Kb (ATmega
328), SRAM 1Kb (ATmega 168) hoặc 2 Kb (ATmega 328),
EEPROM 512 bytes (ATmega 168) hoặc 1 Kb (AT mega
328).

 Nguồn nuôi

Arduino có thể được hỗ trợ thông qua kết nối USB hoặc với một nguồn
cung cấp điện bên ngoài. Các nguồn năng lượng được lựa chọn tự động. Hệ
thống vi điều khiển có thể hoạt động bằng một nguồn cung cấp bên ngoài từ
6V đến 20V. Nên cung cấp với ít hơn 7V, tuy nhiên pin 5V có thể cung cấp ít
hơn 5V và hệ thống vi điều khiển có thể không ổn định. Nếu sử dụng nhiều
hơn 12V điều chỉnh điện áp có thể quá nóng. Phạm vi khuyến nghị là 7V đến
12V.
-

Chân Vin: Điện áp đầu vào Arduino khi chúng ta dùng nguồn điện bên

ngoài. Chúng ta có thể cung cấp nguồn thông qua chân này.

-

Chân 5V: Cung cấp nguồn vi điều khiển và các bộ phận khác trên bo
mạch và cung cấp nguồn cho các thiết bị ngoại vi khi kết nối tới bo
mạch.

-

Chân 3V3: Cung cấp nguồn cho các thiết bị cảm biến.

-

Chân GND: Chân nối đất.

2.2. Module Wifi ESP8266
1.1.3. Khái niệm
Module ESP8266 [ 2 ]. là module wifi được đánh giá rất cao cho các
ứng dụng liên quan đến Internet 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 với khoảng cách truyền lên tới 100
m (Môi trường không có vật cản). Trên 400m với anten và router thích hợp.
ESP8266 cung cấp một giải pháp kết nối mạng Wi-Fi hoàn chỉnh 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.
-

Khi ESP8266 là máy chủ các ứng dụng hay khi nó chỉ là bộ vi xử lý

ứng dụng có trong thiết bị, nó có thể khởi động trực tiếp từ một flash
ngoài. Nó có tích hợp bộ nhớ cache để cải thiện hiệu suất của hệ thống
trong các ứng dụng này, và để giảm thiểu các yêu cầu bộ nhớ.

-

Luôn phiên, phục vụ như một bộ chuyển đổi Wi-Fi, truy cập internet
không dây có thể được thêm vào bất kỳ thiết kế vi điều khiển nào dựa
trên kết nối đơn giản qua giao diện UART hoặc giao diện cầu CPU
AHB.

-

Khả năng lưu trữ và xử lý 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 chi phí tối thiểu và một PCB tối thiểu. Với mức độ tích
hợp cao trên chip, trong đó bao gồm các anten chuyển đổi balun, bộ
chuyển đổi quản lý điện năng…


Hình 2. 2: NODEMCU ESP8266
1.1.4. Cấu tạo
Module ESP8266 có các chân dùng để cấp nguồn và thực hiện kết nối.
Chức năng của các chân như sau:
-

VCC: Chân dương 3.3 volt

-


GND: Chân nối đất.

-

Tx: Chân Tx của giao thức UART, kết nối đến chân Rx của vi điều
khiển.

-

Rx: Chân Rx của giao thức UART, kết nối đến chân Tx của vi điều
khiển. RST: Chân reset, kéo xuống mass để reset.

-

10 chân GPIO từ D0 – D8, có chức năng PWM, IIC, giao tiếp SPI,
1-Wire và ADC trên chân A0


-

Kết nối mạng wifi (có thể là sử dụng như điểm truy cập và hoặc trạm
máy chủ lưu trữ một, máy chủ web), kết nối internet để lấy hoặc tải lên
dữ liệu.

Hình 2. 3: Sơ đồ chân NODEMCU ESP8266
1.1.5. Thông số kỹ thuật
-

Hỗ trợ chuẩn 802.11 b/g/n.


-

Wi-Fi 2.4 GHz, hỗ trợ WPA/WPA2.

-

Chuẩn điện áp hoạt động: 3.3V.

-

Chuẩn giao tiếp nối tiếp UART với tốc độ Baud lên đến 115200

-

Tích hợp giao thức TCP / IP.

-

Tích hợp chuyển đổi TR, balun, LNA, bộ khuếch đại công suất và phù
hợp với mạng.


-

Tích hợp PLL, bộ quản lý, và các đơn vị quản lý điện năng.

-

Công suất đầu ra +19.5dBm trong chế độ 802.11b.


-

Tích hợp cảm biến nhiệt độ.

-

Hỗ trợ nhiều loại anten.

-

Wake up và truyền các gói dữ liệu trong <2ms.

-

Chế độ chờ tiêu thụ điện năng<1.0mW (DTIM3).

-

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

-

Hỗ trợ các chuẩn bảo mật như: OPEN, WEP, WPA_PSK, WPA2_PSK,
WPA_WPA2_PSK.

-


Có 3 chế độ hoạt động: Client, Access Point, Both Client and Access
Point.

1.1.6. Quản lý năng lượng
-

ESP8266 được thiết kế cho điện thoại di động, điện tử lắp ráp và ứng
dụng InternetofThings với mục đích đạt được mức tiêu thụ điện năng
thấp nhất với sự kết hợp của nhiềukỹ thuật độc quyền. Kiến trúc tiết
kiệm năng lượng hoạt động trong 3 chế độ: chế độ hoạt động, chế độ
ngủ và chế độ ngủ sâu.

-

Bằng cách sử dụng các kỹ thuật quản lý nguồn điện và kiểm soát
chuyển đổi giữa chế độ ngủ ESP8266 tiêu thụ chưa đầy 12uA ở chế độ
ngủ nhỏ hơn 1.0mW so với (DTIM = 3) hoặc ít hơn 0.5mW (DTIM =
10) để giữ kết nối với các điểm truy cập.


-

Khi ở chế độ ngủ, chỉ có bộ phận hiệu chỉnh đồng hồ thời gian thực và
cơ quan giám sát vẫn hoạt động. Đồng hồ thời gian thực có thể được
lập trình để đánh thức ESP8266 ở bất kỳ khoảng thời gian cần thiết
nào.

-


ESP8266 có thể được lập trình để thức dậy khi một điều kiện chỉ định
được phát hiện. Tính năng tối thiểu thời gian báo thức này của
ESP8266 có thể được sử dụng bởi Tính năng tối thiểu thời gian báo
thức của ESP8266 có thể được sử dụng bởi thiết bị di động SOC. Cho
phép chúng vẫn ở chế độ chờ, điện năng thấp cho đến khi Wifi là cần
thiết.

-

Để đáp ứng nhu cầu điện năng của thiết bị di động và điện tử lắp giáp,
ESP8266 có thể được lập trình để giảm công suất đầu ra của PA phù
hợp với các ứng dụng khác nhau. Bằng việc tắt khoảng tiêu thụ năng
lượng.
 Các chip có thể được thiết lập ở các trạng thái sau:

-

OFF: chân CHIP_PD ở mức thấp. Các RTC (đồng hồ thời gian) bị vô
hiệu hóa và mọi thanh ghi sẽ bị xóa.

-

SLEEP DEEP: Các RTC được kích hoạt, khi đó các phần còn lại của
chip sẽ ở trạng thái off. RTC phục hồi bộ nhớ nội bộ để lưu trữ các
thông tin kết nối WiFi cơ bản.

-

SLEEP: Chỉ RTC hoạt động. Các dao động tinh thể được vô hiệu hóa.
Bất kỳ sự kiện wakeup (MAC, host, RTC hẹn giờ, ngắt ngoài) sẽ đưa

chip vào trạng tháiwakeup.

2.3. Cảm biến nhiệt độ, độ ẩm
1.1.7. Khái niệm


-

Nhiệt độ là đại lượng thể hiện tính chất vật lý nóng, lạnh của vật chất.
Nhiệt độ được đo bằng các đơn vị khác nhau và có thể biến đổi bằng các
công thức. Trong hệ đo lường quốc tế, nhiệt độ được đo bằng đơn vị
Kelvin, ký hiệu là K. Trong đời sống ở Việt Nam và nhiều nước, nó được
đo bằng độ C.

-

Độ ẩm tương đối là tỷ số của áp suất hơi nước hiện tại của bất kỳ một
hỗn hợp khí nào với hơi nước so với áp suất hơi nước bão hòa tính theo
đơn vị là %. Định nghĩa khác của độ ẩm tương đối là tỷ số giữa khối
lượng nước trên một thể tích hiện tại so với khối lượng nước trên cùng
thể tích đó khi hơi nước bão hòa.

-

DHT11 là một cảm biến có khả năng đo nhiệt độ và độ ẩm không khí với
độ chính xác vừa phải, giá cả phải chăng. Có thể lấy dữ liệu đo được của
cảm biến bằng giao thức OneWire. 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.


1.1.8. Cấu tạo
-

DHT11 [ 3 ]. có cấu tạo 4 chân như hình. Nó sử dụng giao tiếp số theo
chuẩn 1 dây.


Hình 2. 4: Cảm biến nhiệt độ, độ ẩm DHT 11
-

Thông số kỹ thuật:
+ Nguồn: 3 -5V VDC
+ Dòng sử dụng: 2.5mA max (khi truyền dữ liệu)
+ Đo độ ẩm: 20%-95%
+ Nhiệt độ: 0-50ºC
+ Sai số độ ẩm ±5%
+ Sai số nhiệt độ: ±2ºC
+ Kích thước: 15mm x 12mm x 5.5 mm
+4 chân, khoảng cách chân 0.1”

-

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


Hình 2. 5: Sơ đồ kết nối với ESP8266
1.1.9. 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.
 Bước 1: Khai báo thư viện và định nghĩa chân tín hiệu

#include "DHT.h"
#define DHTPIN 5 // định nghĩa chân tín hiệu data
#define DHTTYPE DHT11 // DHT 11
DHT dht (DHTPIN, DHTTYPE);
 Bước 2: Bật cấu hình cho cảm biến DHT trong hàm setup:
void setup () {
Serial.begin(9600);
Serial.println("DHTxx test!");
dht.begin ();
}


 Bước 3: Đọc giá trị từ cảm biến
void loop () {
// chờ một vài giây trước khi đo.
delay(2000);
float h = dht.readHumidity();
// gán tín hiệu độ ẩm cho biến h
float t = dht.readTemperature();
// gán tín hiệu nhiệt độ cho biến t
float f = dht.readTemperature(true);

// Kiểm tra xem DHT11 có gửi tín hiệu cho Vi xử lý hay không
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// Tính độ ẩm bằng hàm computeHeatIndex
float hif = dht.computeHeatIndex(f, h);
// Compute heat index in Celsius (isFahreheit = false)
float hic = dht.computeHeatIndex(t, h, false);
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" *C ");
Serial.print(f);
Serial.print(" *F\t");
Serial.print("Heat index: ");
Serial.print(hic);


Serial.print(" *C ");
Serial.print(hif);
Serial.println(" *F");}
2.4. Màn hình OLED
OLED (Organic Light Emitting Diode) [ 4 ]. là loại màn hình hiển thị
bao gồm một lớp vật liệu hữu cơ với chủ yếu là cacbon nằm giữa hai điện cực
anot và catot sẽ tự động phát sáng mỗi khi có dòng điện chạy qua. OLED sử
dụng đi-ốt phát quang hữu cơ, chính vì thế nó không cần tới đèn nền chiếu
sáng, do đó có lợi thế về kích thước cũng như tiết kiệm điện hơn so với các

loại LCD. Và độ sáng tương đối tốt ở môi trường sáng tự nhiên
1.1.10. Màn hình OLED SSD1306
1.1.10.1 Khái niệm
Là màn hình loại nhỏ, kích thước tầm 0.96 inch cho tới 1.25 inch, được
dùng khá rộng rãi trong các sản phẩm điện tử. Tấm nền được điều khiển bằng
chip driver SSD1306. Chip này giao tiếp với các bộ điều khiển/MCU khác
bằng giao tiếp LCD


Hình 2. 6: OLED SSD1306
1.1.10.2 Thông tin kỹ thuật màn hình oled 0.96 inch:
-

Điện áp sử dụng: 2.2~5.5VDC.
Công suất tiêu thụ: 0.04w
Góc hiển thị: lớn hơn 160 độ
Số điểm hiển thị: 128×64 điểm.
Độ rộng màn hình: 0.96inch
Màu hiển thị: Vàng – Xanh
Giao tiếp: I2C
Driver: SSD1306

1.1.11. Hiển thị màn hình OLED với ESP8266


×