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

Mạch ứng dụng cảm biến giám sát thông số nhiệt độ độ ẩm qua webserver

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.67 MB, 31 trang )

Mục lục


DANH MỤC CÁC HÌNH VẼ

2


MỞ ĐẦU
I. ĐẶT VẤN ĐỀ
Ngày nay, nhu cầu theo dõi nhiệt độ và độ ẩm ngày càng trở nên phổ biến và thiết
thực, chúng được sử dụng trong: Sản xuất chế biến nông nghiệp, Hiển thị và thực thi điều
khiển (quạt gió, máy sấy, điều hòa, hay báo động), Theo dõi môi trường, chế độ làm việc
của một số dây chuyền, thiết bị có yêu cầu cao. Khái niệm về đo nhiệt độ và độ ẩm đã có
từ rất lâu, chúng là yếu tố ảnh hưởng trực tiếp đến tính chất của vật chất và môi trường
sống nói chung. Riêng về công nghiệp sản xuất và trong đo lường điều khiển, quá trình đo
và xử lí nhiệt độ - độ ẩm giữ vai trò quan trọng.
Do đó ta thấy được tầm quan trọng và tính thực tế của việc đo và điều chỉnh nhiệt
độ - độ ẩm trong các thiết bị tự động hóa cũng như đời sống hằng ngày. Được sự đồng ý
và phân công của khoa ĐIỆN TỬ VIỄN THÔNG nhóm em tiến hành thực hiện đề tài:
“Mạch ứng dụng cảm biến giám sát thông số nhiệt độ - độ ẩm qua webserver”.
Đề tài là sự kết hợp giữa những kiến thức học được trong nhà trường với quá trình
tìm tòi nghiên cứu và sự hướng dẫn tận tình của giáo viên hướng dẫn, song chắc chắn
không tránh khỏi những hạn chế và thiếu sót. Chúng em rất mong nhận được những ý
kiến đóng góp quý báu cũng những phê bình, chỉ dẫn của quý Thầy Cô.
II. MỤC ĐÍCH ĐỀ TÀI:
- Mục đích thực hiện đề tài đã tiến hành nghiên cứu là: Trước tiên là để hoàn
-

thành môn học.
Với bản thân người thực hiện đề tài, đây chính là một cơ hội tốt để có thể tự



-

kiểm tra lại kiến thức của mình, đồng thời có cơ hội để nổ lực vận động tìm
hiểu, tiếp cận nghiên cứu được với những vấn đề mình chưa biết, chưa hiểu
rõ nhằm trang bị cho bản thân nhiều kiến thức bổ ích sau này có thể ứng
dụng vào thực tế cuộc sống.
Tập tính làm việc độc lập, khả năng tự suy nghĩ tìm tòi, học hỏi, phát huy

-

năng lực của bản thân.
Ngoài ra còn tạo được sản phẩm có tính ứng dụng thực tế.

III. ĐỐI TƯỢNG NGHIÊNG CỨU:
-

Các phương án điều khiển và xử lý dữ liệu ra LCD.
Tìm hiểu vi điều khiển Arduino R3.
4


-

Tìm hiểu phương pháp lập trình cho Arduino R3.
Tìm hiểu DHT11.
Tìm hiểu ESP8266.
Giao tiếp giữa các modul.

IV. LẬP KẾ HOẠCH NGHIÊN CỨU:

Để thực hiện đề tài này nhóm đã kết hợp sử dụng nhiều phương pháp và phương
tiện hỗ trợ gồm có:
-

Tham khảo tài liệu kỹ thuật số, điện tử căn bản, vi điều khiển Arduino

-

R3,…
Quan sát thực tế.
Thực nghiệm.
Tổng kết kinh nghiệm.
Phương tiện : máy tính, Internet, thư viện,…

V. GIỚI HẠN ĐỀ TÀI:
Với thời gian gần năm tuần thực hiện đề tài cũng như trình độ chuyên môn có hạn,
dù em đã cố gắng hết sức để hoàn thành sản phẩm này, nhưng chỉ giải quyết được những
vấn đề sau:
-

Lập trình cho Arduino R3.
Dùng cảm biến độ ẩm DHT11 để đo độ ẩm.
Đo đạc được giá trị nhiệt độ - độ ẩm và hiển thị tại chỗ trên màn LCD.
Thiết kế ngưỡng nhiệt độ bằng bàn phím 4x4.
Tự tạo điểm truy cậpWiFi (Access Point) để các thiết bị mobile có thể kết

-

nối.
Các thiết bị kết nối AP này có thể đọc được thông số đo đạc qua ứng dụng


-

web trên mobile.
Cấu hình bằng tay tại chỗ cho SSID và Password cho điểm truy cập của
node sensor wireless.

6


CHƯƠNG I: CƠ SỞ LÝ THUYẾT
1.1. Tổng quan về cấu trúc phần cứng Arduino UNO R3
1.1.1. Giới thiệu
Arduino thật ra là một bo mạch vi xử lý được dùng để lập trình tương tác với các
thiết bị phần cứng như cảm biến, động cơ, đèn hoặc các thiết bị khác. Đặc điểm nổi bật
của Arduino là môi trường phát triển ứng dụng cực kỳ dễ sử dụng, với một ngôn ngữ lập
trình có thể học một cách nhanh chóng ngay cả với người ít am hiểu về điện tử và lập
trình. Và điều làm nên hiện tượng Arduino chính là mức giá rất thấp và tính chất nguồn
mở từ phần cứng tới phần mềm. Chỉ với khoảng $30, người dùng đã có thể sở hữu một
board Arduino có 20 ngõ I/O có thể tương tác và điều khiển chừng ấy thiết bị.
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.
1.1.2. Cấu trúc và thông số
Arduino Uno R3 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 R3 bao gồm các phần sau:

8


Hình 1.1. Board Arduino Uno R3

- 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, ngoà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. Ở Arduino Uno R3 thì sử dụng
ATMega328.
- Các thông số chi tiết của Arduino Uno R3:
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
10


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

1.2. Giao tiếp One wire
1.2.1 Giới thiệu chuẩn giao tiếp One wire
Chuẩn giao tiếp một dây (One wire) do hãng Dallas giới thiệu. Trong chuẩn
giao tiếp này chỉ cần 1 dây để truyền tín hiệu và làm nguồn nuôi (Nếu không tín
dây mass). Là chuẩn giao tiếp không đồng bộ và bán song công (half-duplex).
Trong giao tiếp này tuân theo mối liên hệ chủ tớ một cách chặt chẽ. Trên một bus
có thể gắn 1 hoặc nhiều thiết bị slave. Nhưng chỉ có một master có thể kết nối đến
bus này.
Bus dữ liệu khi ở trạng thái rãnh (khi không có dữ liệu trên đường truyền)
phải ở mức cao do vậy bus dữ liệu phải được kéo lên nguồn thông qua một điện
trở. Giá trị điện trở này có thể tham khảo trong datasheet của thiết bị / các thiết bị
slave.
Các thiết bị tớ (slave) kết nối với cùng một bus được phân biệt với nhau nhờ
64 bit địa chỉ duy nhất (64-bit serial number). 8 byte (64 bit) này và được chia làm
ba phần chính:
- Bắt đầu với LSB, là byte đầu tiên là mã họ thiết bị có độ lớn 8 bit (8-bit
family codes) xác định kiểu thiết bị.
- 6 byte tiếp theo lưu trữ địa chỉ riêng của thiết bị.
- Byte cuối cùng (MSB) là byte kiểm tra tính toàn vẹn dữ liệu cyclic
redundancy check (CRC) có giá trị tương ứng với giá trị của 7 byte đầu tiên. Nhờ
byte CRC giúp cho master xác định có địa chỉ được đọc có bị lỗi hay không. Với
224 địa chỉ khác nhau tạo ra một số lượng rất lớn các địa chỉ.Do vậy vấn đề về địa

chỉ không phải là vấn đề chính trong chuẩn giao tiếp này.
1.2.2. Nguyên lý hoạt động:
Tín hiệu trên bus 1 wire chia thành các khe thời gian 60 µs. 1 bit dữ liệu
được truyền trên bus dựa trên khe thời gian (time slots). Các thiết bị slave cho phép
12


có thời gian nền có một chúc khác biệt từ thời gian nền danh nghĩa. Tuy nhiên đối
với thiết bị master cần có bộ định thời với độ chính xác cao, để đảm bảo giao tiếp
đúng với các thiết bị salve có thời gian nền khác biệt. Do đó rất quan trọng để tuân
theo giới hạn thời gian mô tả trong các phần sau.
Bốn thao tác hoạt động cơ bản của bus 1 wire là Reset/Presence, gửi bit 1,
gửi bit 0, và đọc bit . Thao tác byte như gửi byte và đọc byte dựa trên thao tác từng
bít.
Gửi bit 1 (“Write 1” signal)
Thiết bị master kéo bus xuống mức thấp trong khoảng 1 đến 15µs. Sau đó
nhả bus (releases the bus) cho đến hết phần còn lại của khe thời gian.
Gửi bit 0 ("Write 0" signal)
Kéo bus xuống mức thấp trong ít nhất 60µs, với chiều dài tối đa là 120 µs
Đọc bit:
Thiết bị master kéo bus xuống mức thấp từ 0 -15µs. Khi đó thiết bị tớ khi đó
sẻ giữ bus ở mức thấp nếu muốn gửi bit 0, Nếu muốn gửi bit 1 đơn giản là nhả bus.
Bus nên lấy mẫu 15 µs sau khi bus kéo xuống mức thấp.
"Reset/Presence":
Tín hiệu reset và Presence(Báo hiện diện) được trình bày như hình bên
dưới. Thiết bị master kéo bus xuống thấp ít nhất 8 khe thời gian (tức là 480 µs) và
sau đó nhả bus. Khoảng thời gian bus ở mức thấp đó gọi là tín hiệu reset. Nếu có
thiết bị slave gắn trên bus nó sẻ trả lời bằng tín hiệu Presence tức là thiết bị tớ sẻ
kéo bus xuống mức thấp trong khoảng thời gian 60µs. Nếu không có tín hiệu
Presence, thiết bị master sẻ hiểu rằng không có thiết bị slave nào trên bus, và các

giao tiếp tiếp theo sẻ không thể diễn ra.

14


Hình 1.2. Mô tả cách thức hoạt động của giao tiếp one wire

1.3. Giao tiếp I2C
1.3.1. Giới thiệu
Đầu năm 1980 Phillips đã phát triển một chuẩn giao tiếp nối tiếp 2 dây được gọi là
I2C. I2C là tên viết tắt của cụm từ Inter-Intergrated Circuit. Đây là đường Bus giao tiếp
giữa các IC với nhau. I2C mặc dù được phát triển bới Philips, nhưng nó đã được rất nhiều
nhà sản xuất IC trên thế giới sử dụng. I2C trở thành một chuẩn công nghiệp cho các giao
tiếp điều khiển, có thể kể ra đây một vài tên tuổi ngoài Philips như: Texas Intrument(TI),
MaximDallas, analog Device, National Semiconductor ... Bus I2C được sử dụng làm bus
giao tiếp ngoại vi cho rất nhiều loại IC khác nhau như các loại Vi điều khiển 8051, PIC,
AVR, ARM...
1.3.2. Cấu tạo và nguyên lí hoạt động

16


Hình 1.3. Bus I2C và các thiết bị ngoại vi

I2C sử dụng hai đường truyền tín hiệu:


Một đường xung nhịp đồng hồ (SCL) chỉ do Master phát đi (thông thường ở




100kHz và 400kHz. Mức cao nhất là 1Mhz và 3.4MHz).
Một đường dữ liệu (SDA) theo 2 hướng.

Có rất nhiều thiết bị có thể cùng được kết nối vào một bus I2C, tuy nhiên sẽ không
xảy ra chuyện nhầm lẫn giữa các thiết bị, bởi mỗi thiết bị sẽ được nhận ra bởỉ một địa chỉ
duy nhất với một quan hệ chủ/tớ tồn tại trong suốt thời gian kết nối. Mỗi thiết bị có thể
hoạt động như là thiết bị nhận hoặc truyền dữ liệu hay có thể vừa truyền vừa nhận. Hoạt
động truyền hay nhận còn tùy thuộc vào việc thiết bị đó là chủ (master) hãy tớ (slave).
Một thiết bị hay một IC khi kết nối với bus I2C, ngoài một địa chỉ (duy nhất) để
phân biệt, nó còn được cấu hình là thiết bị chủ hay tớ. Đó là vì trên một bus I2C thì quyền
điều khiển thuộc về thiết bị chủ. Thiết bị chủ nắm vai trò tạo xung đồng hồ cho toàn hệ
thống, khi giữa hai thiết bị chủ-tớ giao tiếp thì thiết bị chủ có nhiệm vụ tạo xung đồng hồ
và quản lý địa chỉ của thiết bị tớ trong suốt quá trình giao tiếp. Thiết bị chủ giữ vai trò chủ
động, còn thiết bị tớ giữ vai trò bị động trong việc giao tiếp.
Về lý thuyết lẫn thực tế I2C sử dụng 7 bit để định địa chỉ, do đó trên một bus có
thể có tới 2^7 địa chỉ tương ứng với 128 thiết bị có thể kết nối, nhưng chỉ có 112 , 16 địa
chỉ còn lại được sử dụng vào mục đích riêng. Bit còn lại quy định việc đọc hay ghi dữ liệu
(1 là write, 0 là read). Điểm mạnh của I2C chính là hiệu suất và sự đơn giản của nó: một
khối điều khiển trung tâm có thể điều khiển cả một mạng thiết bị mà chỉ cần hai lối ra
điều khiển.

18


Ngoài ra I2C còn có chế độ 10 bit địa chỉ tương đương với 1024 địa chỉ, tương tự
như 7 bit, chỉ có 1008 thiết bị có thể kết nối, còn lại 16 địa chỉ sẽ dùng để sử dụng mục
đích riêng.
1.4. Giao tiếp UART
1.4.1 Giới thiệu

UART là viết tắt của Universal Asynchronous Receiver – Transmitter. Thường là
một mạch tích hợp được sử dụng trong việc truyền dẫn dữ liệu nối tiếp giữa máy tính và
các thiết bị ngoại vi. Rất nhiều vi điều khiển hiện nay đã được tích hợp UART, vì vấn đề
tốc độ và độ điện dụng của UART không thể so sánh với các giao tiếp mới hiện nay nên
các dòng PC & Laptop đời mới không còn tích hợp cổng UART. Như đã biết giao tiếp
SPI và I2C có 1 dây truyền dữ liệu và 1 dây được sử dụng để truyền xung clock (SCL) để
đồng bộ trong giao tiếp. Với UART thì không có dây SCL, vấn đề được giải quyết khi mà
việc truyền UART được dùng giữa 2 vi xử lý với nhau, đồng nghĩa với việc mỗi vi xử lý
có thể tự tạo ra xung clock cho chính nó sử dụng.

Hình 1.4. Mô hình giao tiếp UART giữa PC và Arduino
1.4.2 Nguyên lí hoạt động
Để bắt đầu cho việc truyền dữ liệu bằng UART, một START bit được gửi đi,
sau đó là các bit dữ liệu và kết thúc quá trình truyền là STOP bit.

20


Hình 1.5. Mô tả hoạt động của giao tiếp UART
Như hình có thể thấy. Khi ở trạng thái chờ mức điện thế ở mức 1 (High).
Khi bắt đầu truyền START bit sẻ chuyển từ 1 xuống 0 để báo hiệu cho bộ nhận là
quá trình truyền dữ liệu sắp xảy ra. Sau START bit là đến các bit dữ liệu D0-D7
(Theo hình vẽ các bit này có thể ở mức High hay Low tùy theo dữ liệu). Sau khi
truyền hết dữ liệu thì đến Bit Parity để bộ nhận kiểm tra tính đúng đắn của dữ liệu
truyền. Cuối cùng là STOP bit là 1 báo cho thiết bị rằng các bit đã được gửi xong.
Thiết bị nhận sẽ tiến hành kiểm tra khung truyền nhằm đảm báo tính đúng đắn của
dữ liệu.
Các thông số cơ bản trong truyền nhận UART:
– Baund rate (tốc độ baund ): Khoảng thời gian dành cho 1 bit được
truyền. Phải được cài đặt giống nhau ở gửi và nhận.

– Frame (khung truyền ): Khung truyền quy định về số bit trong mỗi lần
truyền.
– Start bit : là bit đầu tiên được truyền trong 1 Frame. Báo hiệu cho thiết bị
nhận có một gói dữ liệu sắp đc truyền đến. Bit bắt buộc.
– Data : dữ liệu cần truyền. Bit có trọng số nhỏ nhất LSB được truyền trước
sau đó đến bit MSB.
– Parity bit : kiểm tra dữ liệu truyền có đúng không.
– Stop bit : là 1 hoặc các bit báo cho thiết bị rằng các bit đã được gửi xong.
Thiết bị nhận sẽ tiến hành kiểm tra khung truyền nhằm đảm bảo tính đúng đắn của
dữ liệu. Bit bắt buộc
1.5. Cảm biến số nhiệt độ, độ ẩm DHT11
DHT11 Là cảm biến rất thông dụng hiện nay vì chi phí rẻ và rất dễ lấy dữ
liệu thông qua giao tiếp 1-wire (giao tiếp digital 1-wire truyền dữ liệu duy nhất).
22


Cảm biến được tích hợp bộ tiền xử lý tín hiệu giúp dữ liệu nhận về được chính xác
mà không cần phải qua bất kỳ tính toán nào.
Thông số kỹ thuật





Điện áp hoạt động: 3V - 5V (DC)
Dãi độ ẩm hoạt động: 20% - 90% RH, sai số ±5%RH
Dãi nhiệt độ hoạt động: 0°C ~ 50°C, sai số ±2°C
Khoảng cách truyển tối đa: 20m
Sơ đồ chân
Cảm biến DHT11 gồm 2 chân cấp nguồn, và 1 chân tín hiệu. Hiện nay,

thông dụng ngoài thị trường có hai loại đóng gói cho DHT11: 3 chân và 4 chân.

Hình 1.6. DHT 11 loại 3 chân và 4 chân.

1.6. Node MCU (ESP8266)
1.6.1 Giới thiệu
NodeMCU là một nền tảng IoT mã nguồn mở. Nó bao gồm phần firmware
chạy trên SoC Wi-Fi ESP8266 của Espressif Systems và phần cứng dựa trên
môđun ESP-12.ESP8266 là một mạch vi điều khiển có thể giúp chúng ta điều
khiển các thiết bị điện tử.Thêm vào đó nó được tích hợp wi-fi 2.4GHz có thể dùng
cho lập trình.
Chip ESP8266 được phát triển bởi Espressif để cung cấp giải pháp giao tiếp
Wifi cho các thiết bị IoT. Điểm đặc biệt của dòng ESP8266 là nó được tích hợp các
mạch RF như balun, antenna switches, TX power amplifier và RX filter ngay bên
trong chip với kích thước rất nhỏ chỉ 5x5mm nên các board sử dụng ESP8266
không cần kích thước board lớn cũng như không cần nhiều linh kiện xung quanh.
24


Hình 1.7. ESP8266 trên thực tế

1.6.2. Thông số kĩ thuật
-WiFi: 2.4 GHz hỗ trợ chuẩn 802.11 b/g/n
-Điện áp hoạt động: 3.3V
-Điện áp vào: 5V thông qua cổng USB
-Số chân I/O: 11 (tất cả các chân I/O đều có Interrupt/PWM/I2C/One-wire,
trừ chân D0)
-Số chân Analog Input: 1 (điện áp vào tối đa 3.3V)
-Bộ nhớ Flash: 4MB
-Giao tiếp: Cable Micro USB ( tương đương cáp sạc điện thoại )

-Hỗ trợ bảo mật: WPA/WPA2
-Tích hợp giao thức TCP/IP
-Lập trình trên các ngôn ngữ: C/C++, Micropython,…

26


Hình 1.8. Sơ đồ chân ESP8266

28


1.7. Màn hình LCD 16x2
1.7.1. Hình dáng và kích thước:
Có rất nhiều loại LCD với nhiều hình dáng và kích thước khác nhau, trên hình 1.9 là
loại LCD thông dụng.

Hình 1.9. Hình dáng của loại LCD thông dụng
Khi sản xuất LCD, nhà sản xuất đã tích hợp chíp điều khiển (HD44780) bên trong
lớp vỏ và chỉ đưa các chân giao tiếp cần thiết. Các chân này được đánh số thứ tự và đặt
tên như hình 1.10:

Hình 1.10. Sơ đồ chân của LCD

30


1.7.2. Chức năng các chân :

32



Chân

Ký hiệu

Mô tả

1

Vss

Chân nối đất cho LCD, khi thiết kế mạch ta nối chân này
với GND của mạch điều khiển

2

VDD

Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân
này với VCC=5V của mạch điều khiển

3

VEE

Điều chỉnh độ tương phản của LCD.

4


RS

Chân chọn thanh ghi (Register select). Nối chân RS với
logic “0” (GND) hoặc logic “1” (VCC) để chọn thanh ghi.

*

+ Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi
lệnh IR của LCD (ở chế độ “ghi” - write) hoặc nối với bộ
đếm địa chỉ của LCD (ở chế độ “đọc” - read)
+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi
dữ liệu DR bên trong LCD.
5

R/W

Chân chọn chế độ đọc/ghi (Read/Write). Nối chân R/W
với logic “0” để LCD hoạt động ở chế độ ghi, hoặc nối
với logic “1” để LCD ở chế độ đọc.

6

E

Chân cho phép (Enable). Sau khi các tín hiệu được đặt lên
bus DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung
cho phép của chân E.
+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển
vào(chấp nhận) thanh ghi bên trong nó khi phát hiện một
xung (high-to-low transition) của tín hiệu chân E.

+ Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra
DB0-DB7 khi phát hiện cạnh lên (low-to-high transition)
ở chân E và được LCD giữ ở bus đến khi nào chân E
xuống mức thấp.

- DB0 - DB7 Tám đường của bus dữ liệu dùng để trao đổi thông tin với
MPU. Có 2 chế độ sử dụng 8 đường bus này :

14

+ Chế độ 8 bit : Dữ liệu được truyền trên cả 8
đường, với bit MSB là bit DB7.

1

-

+ Chế độ 4 bit : Dữ liệu được truyền trên 4 đường
từ DB4 tới DB7, bit MSB là DB7
34
Nguồn dương cho đèn nền

1

-

GND cho đèn nền

5



Ghi chú : Ở chế độ “đọc”, nghĩa là MPU sẽ đọc thông tin từ LCD thông qua các chân
DBx.
Còn khi ở chế độ “ghi”, nghĩa là MPU xuất thông tin điều khiển cho LCD thông
qua các chân DBx.

36


Chương 2. THIẾT KẾ HỆ THỐNG
2.1. Xác định chỉ tiêu kỹ thuật cho thiết bị
Trên cơ sở nghiên cứu các đặc tính kỹ thuật của thiết bị. Nhóm chúng em đề xuất
các chỉ tiêu kỹ thuật cụ thể cho Hệ thống đo nhiệt độ độ ẩm xuất ra LCD và hiển thị trên
Webserver của nhóm chúng em như sau:
+Nguồn cung cấp 5V.
+ Đo đạc được giá trị nhiệt độ - độ ẩm và hiển thị tại chỗ trên màn LCD.
+ Tự tạo điểm truy cậpWiFi (Access Point) để các thiết bị mobile có thể kết nối.
+ Các thiết bị kết nối AP này có thể đọc được thông số đo đạc qua ứng dụng web
trên mobile.
+ Cấu hình bằng tay tại chỗ cho SSID và Password cho điểm truy cập của node
sensor wireless.

38


2.2. Sơ đồ nguyên lý
2.2.1. Khối 1
2.2.1.1. Nguyên lý hoạt động:
Khi được cấp nguồn khối cảm biến sẽ đo độ ẩm môi trường bằng DHT11 sau đó
chuyển tín hiệu đo được về khối xử lý, khối xử lý sẽ đọc tín hiệu và xuất độ ẩm đo được

ra LCD.
2.2.2.2. Lưu đồ giải thuật

Bắt đầu

Đọc dữ liệu từ DHT11

Kiểm tra nhiệt độ ngưỡng

Hiển thị lên LCD

>T0
Bật quạt

Tắt quạt

40


2.2.2.3. Sơ đồ khối:

KHỐI CẢM BIẾN(DHT11)

KHỐI VI
XỬ LÝ

KHỐI NGUỒN

42



2.2.2. Khối 2:
2.2.2.1. Nguyên lý hoạt động
Arduino gửi dữ liệu nhiệt độ, độ ẩm cho ESP8266 thông qua giao tiếp UART. Sau
đó ESP8266 gửi dữ liệu lên webserver. Ta có thể truy cập vào webserver theo 2 cách:
- Vào mạng wifi mà ESP8266 truy cập. Trong trình duyệt web nhập địa chỉ web là
địa chỉ IP của ESP8266 trong mạng. VD:192.168.8.102.
-Vào Access Point mà ESP8266 tạo ra. Trong trình duyệt web truy cập IP mặc định
là 192.168.4.1
Ngoài ra ta có thể thay đổi được SSID và Password của Access Point mà ESP8266
tạo ra bằng bàn phím 4x4.

44


2.2.2.2. Lưu đồ giải thuật
Bắt đầu

Đọc dữ liệu từ DHT11

Không

Kiểm tra kết nối UART


Truyền dữ liệu
qua ESP8266

Không


Kiểm tra kết nối server


Truyền dữ liệu
lên Webserver
46


2.2.2.3. Sơ đồ khối

48


×