Tải bản đầy đủ (.pptx) (28 trang)

Bài tập lớn môn thiết kế ngoại vi và kĩ thuật ghép nối (5)

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.58 MB, 28 trang )

Smart home
Hệ Thống Nhà Thơng Minh
Nhóm 07


CONTENTS
Giới thiệu đề tài
Nội dung và
mục tiêu đề tài

Cơ sở lý thuyết
Các giao thức &
Hệ điều hành được sử dụng

Hệ thống
Chi tiết
Hệ thống

Kết quả và định hướng
Kết quả và định hướng phát
triển trong tương lai


Giới thiệu đề tài
Nội dung và mục tiêu đề tài


Giới thiệu đề tài
Nội dung và mục tiêu đề tài

a/ Nội dung


Nhà thông minh là kiểu nhà được lắp đặt các thiết bị điện, điện tử có thể
được điều khiển hoặc tự động hoá hoặc bán tự động. Thay thế con người trong
thực hiện một hoặc một số thao tác quản lý, điều khiển. Hệ thống điện tử này giao
tiếp với người dùng thông qua bảng điện tử đặt trong nhà, ứng dụng trên điện
thoại di động, máy tính bảng hoặc một giao diện web.

Nhờ ứng dụng các công nghệ như hồng ngoại, điện thoại thông minh, IoT,
công nghệ đám mây…Nhà thơng minh có thể tự động giúp bạn làm những công
việc trong nhà, giúp cho cuộc sống thoải mái hơn.


Giới thiệu đề tài
Nội dung và mục tiêu đề tài

b/ Mục tiêu

Có thể lập trình được với kit Arduino nano và ESP8266, giao tiếp được với
các cảm biến cơ bản.

Đọc giá trị cảm biến nhiệt độ độ ẩm dht11, cảm biến khí gas MQ2 hiển thị
lên trên app điện thoại và tín hiệu điều khiển từ app sẽ điều khiển bật tắt
đèn,quạt.


Cơ sở lý thuyết
Các giao thức &
Hệ điều hành được sử dụng


Cơ sở lý thuyết


a/ I2C
-

I2C ( Inter – Integrated Circuit) là 1 giao thức giao tiếp nối tiếp đồng bộ

được phát triển bởi Philips Semiconductors, sử dụng để truyền nhận dữ liệu giữa
các IC với nhau chỉ sử dụng hai đường truyền tín hiệu.
-

Các bit dữ liệu sẽ được truyền từng bit một theo các khoảng thời gian đều

đặn được thiết lập bởi 1 tín hiệu đồng hồ.
-

Bus I2C thường được sử dụng để 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, cảm biến, EEPROM, … .

Sơ đồ khối giao thức I2C


Cơ sở lý thuyết
b/ UART
-

UART (Universal Asynchronous Receiver / Transmitter) là một vi mạch sẵn có

trong một vi điều khiển nhưng không giống như một giao thức truyền thông (I2C & SPI).
Chức năng chính của UART là truyền dữ liệu nối tiếp. Trong UART, giao tiếp giữa hai thiết

bị có thể được thực hiện theo hai cách là giao tiếp dữ liệu nối tiếp và giao tiếp dữ liệu
song song.
-

Chuẩn giao tiếp UART sử dụng 2 dây để truyền và nhận dữ liệu giữa các thiết bị:



TX (Transmiter) - Dây truyền dữ liệu



RX (Receiver) - Dây nhận dữ liệu

-

Dữ liệu được truyền trong giao tiếp UART được tổ chức thành các gói (Packets).

Mỗi Packets chứa 1 bit Start, 5 đến 9 bit dữ liệu (tùy thuộc vào UART), 1 bit Parity và 1
hoặc 2 bit Stop.

Khung truyền UART


Cơ sở lý thuyết

b/ Hệ điều hành FreeRTOS

-


FreeRTOS là một hệ điều hành nhúng thời gian thực

(Real Time Operating System) mã nguồn mở được phát triển
bởi Real Time Engineers Ltd, sáng lập và sở hữu bởi Richard
Barry. FreeRTOS được thiết kế phù hợp cho nhiều hệ nhúng
nhỏ gọn vì nó chỉ triển khai rất ít các chức năng như: cơ chế
quản lý bộ nhớ và tác vụ cơ bản, các hàm API quan trọng
cho cơ chế đồng bộ.

Cách hoạt động của FreeRTOS


Cơ sở lý thuyết

b/ Hệ điều hành FreeRTOS

-

Chia nhỏ chương trình thành các Task, mỗi task thực hiện tác

vụ riêng của mình, chúng có khơng gian bộ nhớ riêng và hồn tồn độc
lập với nhau.
-

Để trao đổi thơng tin giữa các Task thì ta dùng Queue (hàng

đợi), semaphore, mutex.
-

Queue (hàng đợi) : Hoạt động theo cơ chế FIFO (First In - First


Out)

Cách hoạt động của Queue


Hệ thống
Chi tiết hệ thống


Hệ thống
1/ Linh kiện
a/ Kit Arduino nano
-

Arduino nano có 12 chân Digital, 8 chân Analog,

chân nguồn và các chân chức năng khác.
-

Arduino Nano là phiên bản nhỏ gọn của Arduino

Uno R3 sử dụng MCU ATmega328P-AU dán, vì cùng MCU nên
mọi tính năng hay chương trình chạy trên Arduino Uno đều
có thể sử dụng trên Arduino Nano, một ưu điểm của Arduino
Nano là vì sử dụng phiên bản IC dán nên sẽ có thêm 2 chân
Analog A6, A7 so với Arduino Uno.

Kích thước và sơ đồ chân arduino nano



Hệ thống
b/ Kit ESP8266

-

Module thu phát Wifi ESP8266 NodeMCU sử dụng IC chính hãng

ESP – 12E (4MB Flash) của AI-Thinker được sản xuất, gia công và đo
kiểm với chất lượng tốt nhất. Module có các tính năng nổi bật như: chất
lượng tốt độ bền cao, ổn định, bắt sóng tốt.
-

Sử dụng chip nạp CP2102 hoặc CH340, có thể sử dụng trình

biên dịch của Arduino để lập trình hoặc build code.

Sơ đồ chân ESP8266


Hệ thống
c/ Cảm biến nhiệt độ, độ ẩm DHT11

Cảm biến độ ẩm và nhiệt độ DHT11 Temperature Humidity Sensor 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 dây truyền dữ liệu duy nhất). Bộ tiền xử lý tín hiệu tích
hợp trong cảm biến giúp bạn có được dữ liệu chính xác mà khơng phải qua bất kỳ
tính tốn nào.

DHT11



Hệ thống
d/ Cảm biến khí Gas MQ2

-

MQ2 là cảm biến khí gas, nó được tạo từ chất bán dẫn SnO2. Chất này có

độ nhạy cảm thấp với khơng khí sạch, nhưng khi trong mơi trường có chất gây
cháy, độ dẫn của nó sẽ thay đổi ngay.
-

Khi mơi trường sạch, điện áp đầu ra của cảm biến thấp. Giá trị điện áp

đầu ra càng tăng khi nồng độ khí gây cháy xung quanh cảm biến MQ2 càng cao.
-

MQ2 hoạt động rất tốt trong mơi trường khí hóa lỏng LPG, H2, và các

chất gây cháy khác.

MQ2


Hệ thống
e/ Quang trở

-


Quang trở được gọi là trở điện quang, photoresistor, photocell là một

trong những linh kiện được tạo bằng một chất đặc biệt có thể thay đổi điện trở khi
ánh sáng chiếu vào. Về cơ bản, bạn có thể hiểu nó là một tế bào quang điện được
hoạt động dựa theo nguyên lý quang dẫn. Hay có thể hiểu nó là một điện trở có
thể thay đổi được giá trị theo cường độ ánh sáng

MQ2


Hệ thống
f/ Màn hình OLED 0.96 inch

-

Những ưu điểm có thể kể đến trên màn hình OLED là những lớp hữu cơ

nhựa mỏng, nhẹ mềm dẻo hơn những lớp tinh thể trên LED hay LCD nhờ vậy mà
có thể ứng dụng OLED để chế tạo màn hình gập cuộn được. Độ sáng của OLED
cũng tốt hơn LED và không cần đèn nền như trên LCD nên sử dụng pin ít hơn.

Màn hình Oled


Hệ thống
g/ App Blynk IoT
Ứng dụng Blynk – cho phép chúng ta tạo giao diện cho các dự án của mình bằng cách sử dụng các widget khác
nhau. Ngồi ra trong phiên bản mới nhất – Blynk IoT nhà sản xuất đã tích hợp web server để chúng ta có thể
thực hiện điều khiển và theo dõi các thiết bị IoT ngay trên trình duyệt web.
Blynk Server – chịu trách nhiệm về tất cả các giao tiếp giữa điện thoại thơng minh và phần cứng. Bạn

có thể sử dụng Blynk Cloud hoặc chạy cục bộ máy chủ Blynk riêng của mình. Nó là mã nguồn mở, có thể dễ
dàng xử lý hàng nghìn thiết bị và thậm chí có thể được khởi chạy trên Raspberry Pi.
Thư viện Blynk – dành cho tất cả các nền tảng phần cứng phổ biến. Blynk Library sẽ được upload vào
các mạch điều khiển như Arduino, Esp8266... trên các mạch có thể kết nối với nhiều cảm biến, thiết bị,... Và
được kết nối với Blynk Server thông qua Wifi, Ethernet, 3G, LTE... – cho phép giao tiếp với máy chủ và xử lý tất
cả các lệnh đến và lệnh đi.
Mỗi khi nhấn một nút trong ứng dụng Blynk, thông điệp sẽ truyền đến không gian của đám mây Blynk,
và tìm đường đến phần cứng của chúng ta.
Nguyên lý hoạt động của App Blynk IoT


Hệ thống
g/ App Blynk IoT

Giao diện điều khiển web


Hệ thống
2/ Sơ đồ khối

Sơ đồ khối


Hệ thống
3/ Lưu đồ thuật toán

Lưu đồ thuật toán của hệ thống


Hệ thống

3/ Lưu đồ thuật tốn
Ngun lý hoạt động
•Taskdht và TaskSensor sẽ đọc dữ liệu từ cảm biến DHT11, MQ2, quang trở rồi gửi
các giá trị và các Queue tương ứng.
•TaskSerial sẽ đọc các giá trị từ các Queue , đóng gói JSON lại và gửi qua ESP8266
bằng UART.
•Esp8266 nhận dữ liệu từ arduino và gửi lên Blynk IoT.
•Nếu giá trị nhiệt độ >40 hoặc độ ẩm <40 hoặc khí gas >1000 thì Esp sẽ gửi cảnh
báo lên Blynk.
•Khi tín hiệu điều khiển thiết bị gửi đến Esp từ Blynk thì Esp sẽ bật tắt các thiết bị
tương ứng.
-

Hoạt động của các Task


Kết quả và định hướng
Kết quả và định hướng phát triển trong tương
lai


Kết quả và định hướng

Giao diện web


Kết quả và định hướng

Mạch demo



×