1. Trang chủ
  2. » Luận Văn - Báo Cáo

ĐATN_ Thiết kế hệ thống điều khiển cho nhà thông minh IoT (Full code và đấu nối)

64 174 5

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 64
Dung lượng 1,83 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

ĐATN này là tâm huyết của mình trong 4 năm đại học, nó đã giúp mình đạt điểm 9. File này mình đã ghi chi tiết đầy đủ cách đấu nối, lắp ráp và code. các bạn tải về và làm theo thôi nhé. Chúc các bạn thành công.

Trang 1

LỜI CAM ĐOAN

Những nội dung trình bày trong đồ án là những kiến thức của riêng cá nhân tôi tích lũy trong quá trình học tập, nghiên cứu, không sao chép lại một công trình nghiên cứu hay

đồ án của bất cứ tác giả nào khác

Trong nội dung của nội dung của đồ án, những phần tôi nghiên cứu, trích dẫn đều được nêu trong phần các tài liệu tham khảo, có nguồn gốc, xuất xứ, tên tuổi của các tác giả, nhà xuất bản rõ ràng

Những điều tôi cam kết hoàn toàn là sự thật, nếu sai, tôi xin chịu mọi hình thức xử lý

kỷ luật theo quy định

Hà Nội, ngày tháng năm 20…

Sinh viên

Trang 2

LỜI CẢM ƠN

Lời đầu tiên em xin được gửi lời cảm ơn đến thầy TS Nguyễn Trọng Thắng, thầy đã hướng dẫn và giúp đỡ tận tình em nghiên cứu và hoàn thành đồ án tốt nghiệp này Những lời nhận xét, góp ý và hướng dẫn của thầy đã giúp em có định hướng đúng đắn trong quá trình thực hiện đề tài, giúp em nhìn ra được ưu khuyết điểm của đề tài và từng bước khắc phục để có được kết quả tốt nhất

Em cũng xin cảm ơn thầy cô trong khoa Điện - Điện tự động hóa đã truyền đạt cho em các kiến thức chuyên ngành, những công nghệ mới cũng như cách làm việc để hoàn thành tốt đồ án môn học này

Và cuối cùng, mình xin được gửi lời cảm ơn sâu sắc đến tất cả những người bạn đã giúp đỡ, sát cánh cùng mình trong suốt những năm đại học

Trang 3

MỤC LỤC

DANH MỤC CÁC HÌNH ẢNH v

LỜI MỞ ĐẦU 1

CHƯƠNG 1 TỔNG QUAN TỔNG QUAN NHÀ THÔNG MINH 2

1.1 ĐỊNH NGHĨA NHÀ THÔNG MINH 2

1.2 MỤC TIÊU 3

1.3 CÁC THÀNH PHẦN CƠ BẢN HỆ THỐNG NHÀ THÔNG MINH 3

1.4 NỘI DUNG NGHIÊN CỨU 3

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 4

2.1 Một số khái niệm cơ bản 4

2.1.1 Không gian mạng Server 4

2.1.2 IoT – Internet of Things 4

2.2 Giới thiệu về Firebase 7

2.2.1 Khái niệm về Firebase 7

2.2.2 Đặc điểm và tính năng 7

2.3 Giới thiệu về MIT App Inventor 10

2.3.1 Khái niệm về MIT App Inventor 11

2.3.2 Những tính năng có trên MIT App Inventor 11

2.4 Một số module và thiết bị sử dụng trong mô hình 12

2.4.1 Vi điều khiển 12

2.4.2 Board vi điều khiển Arduino Uno R3 13

2.4.3 Module Wifi ESP8266 NodeMCU Lua CP2102 16

2.4.4 Module Cảm biến ánh sáng, servo sg90 17

2.4.5 Relay 4 kênh 5V 19

2.4.6 Cảm biến nhiệu độ, độ ẩm không khí DHT11 21

2.4.7 Cảm biến khí gas MQ2 22

CHƯƠNG 3 TÍNH TOÁN VÀ THIẾT KẾ 23

3.1 Sơ đồ khối hệ thống 23

3.2 Tính toán và thiết kế 24

Trang 4

3.2.1 Thiết kế mô hình 24

3.2.2 Thiết kế App trên điện thoại 27

3.2.3 Phần mềm viết code, nạp code cho Adruino UNO và ESP8266 31

3.3 Phần code nạp chương trình 32

CHƯƠNG 4 NHẬN XÉT, KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 57

4.1 Nhận xét 57

4.2 Kết luận 57

4.3 Hướng phát triển 57

TÀI LIỆU THAM KHẢO 57

Trang 5

DANH MỤC CÁC HÌNH ẢNH

Hình 1.1 Mô hình nhà thông minh 2

Hình 2.1 Firebase 7

Hình 2.2 Giao thức bảo mật SSL 8

Hình 2.3 MIT App Inventor 10

Hình 2.4 Hệ thống vi điều khiển cơ bản 12

Hình 2.5 Sơ đồ và chức năng chân Arduino Uno R3 13

Hình 2.6 Giao tiếp 2 hệ thống dùng chuẩn UART 15

Hình 2.7 Nguyên lý hoạt động chuẩn UART 16

Hình 2.8 Datasheet Esp8266 NodeMCU Lua CP2102 16

Hình 2.9 Cảm biến ánh sáng 17

Hình 2.10 Servo SG90 18

Hình 2.11 Relay 4 kênh 5V 19

Hình 2.12 Cảm biến DH11 21

Hình 2.13 Cảm biến khí gas MQ2 22

Hình 3.1 Sơ đồ khối hệ thống 23

Hình 3.2 Sơ đồ đấu nối thiết bi 24

Hình 3.3 Sơ đồ đấu nối thiết bị thực tế 24

Hình 3.4 Sơ đồ đấu nối thiết bị 25

Hình 3.5 Sơ đồ đấu nối thiết bị thực tế 26

Hình 3.6 Bản vẽ nhà mô hình 26

Hình 3.7 Mô hình hoàn thiện 27

Hình 3.8 Màn hình điều khiển các thiết bị 28

Hình 3.9 Giao diện thiết kế App điều khiển 28

Hình 3.10 Mã QR tải ứng dụng điều khiển 29

Hình 3.11 Code app inventor 30

Hình 3.12 Code app inventor 31

Hình 3.13 Ứng dụng Adruino IDE 31

Hình 3.14 Các phím sử dụng trong Adruino IDE 32

Trang 7

LỜI MỞ ĐẦU

Trong những năm gần đây, ngôi nhà thông minh (smart home) đã xuất hiện và được ứng dụng rộng rãi trong cuộc sống từ những khách sạn hay resort sang trong cho đến những ngôi nhà hiện đại đều được lắp đặt hệ thống điều khiển thông minh Theo xu hướng phát triển đó, em quyết định lựa chọn thực hiện nghiên cứu đề tài: “Nghiên cứu,

thiết kế hệ thống điều khiển cho nhà thông minh.”

Ngoài việc hoàn thành đồ án tốt nghiệp với những công việc trên đây thì nó còn có ý nghĩa sâu sắc đối với sinh viên thực hiện Một lần nữa sinh viên được thực hành những kiến thức học được từ ghế nhà trương sẽ giúp hình thành những sản phẩm công nghiệp, được sử dụng, cầm tay lắp những cảm biến mà từ trước chỉ nằm trên trang giấy Trong quá trình tiến hành không thể không gặp những khó khăn vấp phải, do đó kích thích sinh viên tư duy để tìm ra phương án tối ưu và trao đổi thảo luận với thầy

cô, bạn bè

Tuy nhiên do hạn chế về kinh nghiệm thực tế và thời gian thực hiện nên việc giải quyết đề tài không thể tránh khỏi những thiếu sót Do đó rất mong sự chỉ bảo thêm của quý thầy cô cũng như những đóng góp của các bạn sinh viên

Em xin chân thành cảm ơn!

Trang 8

CHƯƠNG 1 TỔNG QUAN TỔNG QUAN NHÀ THÔNG MINH

1.1 ĐỊNH NGHĨA NHÀ THÔNG MINH

Nhà thông minh (tiếng anh là "Smart Home") hoặc hệ thống nhà thông minh là một ngôi nhà căn hộ được trang bị các hệ thống tự động thông minh cùng với các bố trí hợp lý, các hệ thống này có khả năng tự điều phối các hoạt động trong ngôi nhà Chúng ta cũng có thể hiểu ngôi nhà thông minh là một hệ thống chỉnh thể mà trong đó, tất cả các thiết bị điện tử gia dụng đều được liên kết với thiết bị điều khiển trung tâm

và có thể phối hợp với nhau để cùng thực hiện một chức năng Các thiết bị này có thể đưa ra cách xử lý tình huống được lập trình trước, hoặc là được điều khiển và giám sát

từ xa nhằm mục đính là cho cuộc sống ngày càng tiện nghi, an toàn và góp phần sử dụng hợp lý các nguồn tài nguyên

Hình 1.1 Mô hình nhà thông minh

Các thành phần của hệ thống nhà thông minh bao gồm các cảm biến (như cảm biến nhiệt độ, cảm biến ánh sáng), các bộ điều khiển hoặc máy chủ và các thiết bị chấp hành khác Nhờ hệ thống cảm biến, các bộ điều khiển và máy chủ có thể theo dõi các trạng thái bên trong ngồi nhà để đưa ra các quyết định điều khiển các thiết bị chấp hành một cách phù hợp nhằm đảm bảo môi trường sống tốt nhất cho con người

Ngoài ra, cùng với sự phát triển của các thiết bị điện tử cá nhân như máy tính bảng và điện thoại thông minh cùng hạ tầng thông tin ngày càng tiên tiến như internet hoặc các

Trang 9

mạng thông tin di động wifi, 3G, 4G, ngày nay các hệ thống nhà thông minh còn cung cấp khả năng tương tác với người sử dụng thông qua các giao diện cảm ứng trên smart phone cho phép con người có thể giám sát và điều khiển ngôi nhà từ bất cứ đâu

Qua quá trình tìm hiểu, nhận thấy Arduino thích hợp trong việc thực hiện đề tài này,

em đã khai thác sử dụng Arduino trong đồ án của mình Đề tài được ứng dụng để điều khiển nhà thông minh Điện thoại di động hiện nay đang được sử dụng rộng rãi, nên việc tận dụng thiết bị này trong việc điều khiển thiết bị cũng góp phần vào việc khai thác thêm giá trị sử dụng của điện thoại di động trong đời sống hàng ngày

1.2 MỤC TIÊU

Mục tiêu của đề tài là thiết kế một mô hình giám sát nhiệt độ, độ ẩm, khí gas, điều khiển thiết bị đèn, quạt, hoạt động bằng cách điều khiển thông qua Smartphone Mô

hình có thể ứng dụng trong việc điều khiển, giám sát những ngôi nhà hiện đại

1.3 CÁC THÀNH PHẦN CƠ BẢN HỆ THỐNG NHÀ THÔNG MINH

Các thành phần cơ bản của hệ thống nhà thông minh bao gồm hệ thống cảm biến như cảm biến nhiệt độ, cảm biến ánh sáng, cảm biến khí gas các bộ điều khiển hoặc máy chủ và các thiết bị chấp hành khác Nhờ hệ thống cảm biến, các bộ điều khiển và máy chủ có thể theo dõi các trạng thái bên trong ngôi nhà để đưa ra các quyết định điều khiển các thiết bị chấp hành một cách phù hợp

1.4 NỘI DUNG NGHIÊN CỨU

Tìm hiểu, lựa chọn nguồn, module Wifi và vi điều khiển

Viết ứng dụng Android để SmartPhone nhận tín hiệu xử lý và đưa tín hiệu đến vi điều khiển

Thiết kế và thi công các module khối điều khiển: Module Arduino Uno R3, Module Wifi ESP 8266 Node MCU Kết nối các module lại với nhau Chạy thử, kiểm tra và cân chỉnh mô hình Viết sách luận văn tốt nghiệp

Báo cáo đồ án tốt nghiệp

Trang 10

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

2.1 Một số khái niệm cơ bản

2.1.1 Không gian mạng Server

Mô hình clien-server là một trong những mô hình phổ biến, được ứng dụng trong mạng máy tính và áp dụng trong mọi mô hình Web hiện nay Mô hình này hoạt động dựa trên ý tưởng là các máy client (các máy con) sẽ gửi yêu cầu đến máy chủ (đóng vài trò như một server), máy chủ tiếp nhận, xử lý các yêu cầu và phản hồi các kết quả

về các máy client tương ứng

Client ở đây hiểu một cách đơn giản là một trạm máy độc lâp, có nhu cầu về thông tin

và dịch vụ, nó gửi các yêu cầu đến các Server (máy chủ) để các máy chủ này đáp ứng các yêu đầu đã đưa ra Một Client có thể gửi yêu cầu đến một hay nhiều server khác nhau để có thể đáp ứng những đòi hỏi đề ra Ngược lại, server được hiểu như là một

“người cung ứng” các đòi hỏi, yêu cầu của Client, các yêu cầu hợp lệ được Server tương ứng tiếp nhân, xử lý và thực hiện dịch vụ đối với yêu cầu đó, một Server có thê liên kết với nhau, nhằm đáp ứng dịch vụ một cách tốt nhất Một trạm máy có thể vừa đóng vai trò vừa như một Client, vừa như một Server tùy thuộc vào đối tượng mà nó được yêu câu hay yêu cầu

Giữa Client và Server giao tiếp với nhau bằng các giao thức truyền thông, các giao thức này như một ngôn ngữ được quy đinh, quy chuẩn Các đối tượng truyền thông với nhau được quy định trước các chuẩn này để có thể truyền thông, “giao tiếp với nhau”, các chuẩn giao thức phổ biến hiện nay như: TCP/IP, SNA, OSU, X25, LAN to LAN,…

2.1.2 IoT – Internet of Things

IoT – Internet of Things, đây được hiểu là một mô hình ở trong đó các thiết bị được kết nối mạng lại với nhau và kết nối Internet Mỗi thiết bị được cấp một ID, một định danh, riêng để có thể giao tiếp với nhau và truyền dữ liệu – thông tin giữa các thiết bị với nhau, giữa các thiết bị với con người hoặc giữa những người với nhau trên mô hình mạng đó Hay đơn giản IoT là tập hợp tất cả các thiết bị có khả năng kết nối với

Trang 11

nhau và các thiết bị này có thể kết nổi với internet để có thể phối hợp với nhau thực

hiện một hay nhiều công việc một cách nhịp nhàng

IoT là sự giao thoa của sự phát triển công nghệ không dây, vi điện tử và Internet Việc kết nối, liên lạc giữa các thiết bị trở lên ngày càng đa dạng, hiện đại như là có thể kết nối thông qua wifi, viễn thông như 3G, 4G, sắp tới là mạng 5G, hay cũng có thể kết nối các thiết bị ngoại vi thông qua các bộ thu phát sóng hồng ngoại, bluetooth, mạng Zigbee,… Ngoài ra, các thiết bị tham gia vào mô hình mạng này ngày càng đa dang,

và thông minh hơn, từ những thiết bị thiết yếu trong gia đình như ti-vi, Smarphone,… đến việc kết nối các thiết bị trong các cơ sở văn phòng hay các thiết bị trong các ngành công, nông nghiệp trở nên ngày càng trở nên phổ biến Bên cạnh đó, hiện nay thế giới đang chuyển mình với công nghệ 4.0, các thiết bị, ứng dụng thông minh ngày càng được ứng dụng rộng khắp trong đời sống con người, việc kết nối IoT làm cho việc kết nối giao tiếp trở nên thuận tiện hơn giữa con người với con người, giữa máy móc với con người hoặc giữa máy móc Không dừng lại ở đó, việc kết nối các thiết bị lại với nhau còn làm cho các thiết bị hoạt động một cách nhịp nhàng và thông minh hơn và đây là một xu thế phát triển tất yêu của công nghệ trong tương lai gần

Đặc tính nổi bật của IoT

Tính liên thông: Trong mô hình IoT, tất cả các thiết bị đều có thể kết nối mạng với nhau thông qua cơ sở hạ tầng thông tin và mạng lưới truyền thông

Có khả năng cung cấp dịch vụ: IoT có đủ khả năng để đáp ứng các nhu cầu về dịch vụ của các “Things”, Phổ biến nhất có thể là giao thức truyền tín hiêu cũng như là tính bảo mật của thông tin,

Không đồng nhất: Các thiết bị trong hệ thống không có sự đồng nhất về phần cứng, và cũng như các thiết bị này không kết nối duy nhất với một network duy nhất Trên thực

tế, các thiết bị kết nối với một hệ thống Network khác nhau và các Network này liên kết với nhau để trao đổi dữ liệu giữa các thiết bị trong hệ thống

Tính linh hoạt: các trạng thái (Status) của những thiết bị trong mô hình có thể thay đổi

Trang 12

trạng thái thiết bị thay đổi mà số lượng các thiết bị cũng thay đổi một cách thông minh linh động hơn

Quy mô lớn: với sự phát triển của công nghệ ngày càng mạnh mẽ, số lượng các thiết bị tham gia vào mạng lưới IoT này ngày càng tăng, và làm cho mô hình này ngày càng trở lên “khổng lồ”, từ “ khổng lồ” không dừng lại ở việc thông tin đến con người mà còn thông tin giữa các đối tượng, thiết bị trong hệ thống

Một hệ thống được coi là IoT khi đáp ứng những yêu cầu:

Nhận diện đối tượng kết nối: trong mô hình, các đối tượng “Things” đều được cấp một

ID riêng Hệ thống sẽ hỗ trợ việc kết nối và trao đổi dữ liệu thông qua các định danh được cung cấp trước (ID)

Có thể cộng tác: trong hệ thống IoT, các đối tượng để có khả năng tương tác với nhau,

cụ thể là giữa các hệ thống network và các Things

Có quy tắc trao đổi: việc thu thập và trao đổi dữ liệu giữa các đối tượng đều phải đựa trên những luật, quy tắc mà người điều hành hoặc người dùng thỏa thuận và thiết lập

từ trước

Tự quản lý hệ thống network: điều này gồm việc có thể tự quản lý, tự tối ưu hệ thống,

có khả năng tự giải quyết những vấn đề (trouble) và đảm bảo an toàn cho mạng network Hay nói cách khác, hệ thống network phải thích ứng với các loại thiết bị khác nhau trong mô hình và có thể truyền thông trong những môi trường khác nhau

Bảo mật và tính riêng tư: thông tin được lưu thông trong hệ thống là rất lớn, và không phải thông tin nào cũng có thể công khai, vì vậy hệ thống cần đảm bảo được tính riêng

tư của thông tin và tránh được sự xâm nhập trái phép

Tính quản lý: IoT cung cấp việc quản lý các đối tượng trong hệ thống (things) để việc lưu thông trên cá network diễn ra bình thương, tính năng này thường được làm việc một cách tự động Tuy nhiên, toàn bộ hoạt động của hệ thống được các bên liên quan

giám sát và quản lý

Trang 13

2.2 Giới thiệu về Firebase.

2.2.1 Khái niệm về Firebase

Hình 2.1 Firebase

Firebase là một dịch vụ cơ sở dữ liệu thời gian thực, hoạt động trên nền tảng đám mây được cung cấp bởi Google nhằm giúp các lập trình phát triển nhanh các ứng dụng bằng cách đơn giản hóa các thao tác với cơ sở dữ liệu Nếu cần xây dựng một ứng dụng cho mobile hoặc các thiết bị di động khác, mà bạn đang gặp khó khăn vì không biết chọn dịch vụ VPS nào, loại database gì thì Firebase sẽ là dịch vụ dành cho bạn

2.2.2 Đặc điểm và tính năng

Realtime Database

Firebase lưu trữ dữ liệu database dưới dạng JSON và thực hiện đồng bộ database tới tất cả các client theo thời gian thực Cụ thể hơn là bạn có thể xây dựng được client đa nền tảng (cross-platform client) và tất cả các client này sẽ cùng sử dụng chung một database đến từ Firebase và có thể tự động cập nhật mỗi khi dữ liệu trong database

được thêm mới hoặc sửa đổi

Tự động tính toán quy mô ứng dụng của bạn, giúp bạn dễ dàng hơn rất nhiều mỗi khi cần nâng cấp hay mở rộng dịch vụ Ngoài ra Firebase sử dụng NoSQL, giúp cho database của bạn sẽ không bị bó buộc trong các bảng và các trường mà bạn có thể tùy

ý xây dựng database theo cấu trúc của riêng bạn

Trang 14

Ưu điểm Firebase

Từ các cách thức hoạt động phía trên, chắc hẳn bạn đã nhận thấy sơ lược những lợi ích

mà Firebase mang lại cho cộng đồng lập trình nói chung và các lập trình viên xây dựng ứng dụng nói riêng

Cụ thể hơn, các lợi ích này bao gồm:

Triển khai ứng dụng nhanh chóng

Hình 2.2 Giao thức bảo mật SSL

Trang 15

Làm việc offline

Ứng dụng Firebase của bạn sẽ duy trì tương tác bất chấp một số các vấn đề về internet xảy ra Trước khi bất kỳ dữ liệu được ghi đến server thì tất cả dữ liệu lập tức sẽ được viết vào một cơ sử dữ liệu Firebase ở local Ngay khi có thể kết nối lại, client đó sẽ nhận bất kỳ thay đổi mà nó thiếu và đồng bộ hoá nó với trạng thái hiện tại server

Triểu khai siêu tốc

Với Firebase bạn có thể giảm bớt rất nhiều thời gian cho việc viết các dòng code để quản lý và đồng bộ cơ sở dữ liệu, mọi việc sẽ diễn ra hoàn toàn tự động với các API của Firebase Không chỉ có vậy Firebase còn hỗ trợ đã nền tảng nên bạn sẽ càng đỡ mất thời gian rất nhiều khi ứng dụng bạn muốn xây dựng là ứng dụng đa nền tảng Không chỉ nhanh chóng trong việc xây dựng database, Google Firebase còn giúp ta đơn giản hóa quá trình đăng kí và đăng nhập vào ứng dụng bằng các sử dụng hệ thống xác thực do chính Firebase cung cấp

Sự ổn định

Firebase hoạt động dựa trên nền tảng Cloud đến từ Google vì vậy hầu như bạn không bao giờ phải lo lắng về việc sập server, tấn công mạng như DDOS, tốc độ kết nối lúc nhanh lúc chậm, … nữa

Xác thực người dùng

Với Firebase, bạn có thể dễ dàng xác thực người dùng từ ứng dụng của bạn trên Android, iOS và JavaScript SDKs chỉ với một vài đoạn mã Firebase đã xây dựng chức năng cho việc xác thực người dùng với Email, Facebook, Twitter, GitHub, Google, và xác thực nặc danh Các ứng dụng sử dụng chức năng xác thực của FireBase có thể giải quyết được vấn đề khi người dùng đăng nhập, nó sẽ tiết kiện thời gian và rất nhiều các vấn đề phức tạp về phần backend Hơn nữa bạn có thể tích hợp xác thực người dùng với các chức năng backend đã có sẵn dùng custom auth tokens

Trang 16

Firebase Hosting

Các bạn có thể triển khai một ứng dụng nền web chỉ với vài giây với hệ thống Firebase

và các dữ liệu sẽ được lưu trữ đám mây đồng thời được bảo mật thông qua giao thức truy cập SSL

Các ứng dụng sẽ được cấp 1 tên miền dạng *.firebaseio.com hoặc bạn có thể trả tiền

để sử dụng tên miền của riêng mình

2.3 Giới thiệu về MIT App Inventor

Giới thiệu công cụ App Inventor:

Hình 2.3 MIT App Inventor

Ngày 12/7/2010, Google chính thức giới thiệu công cụ lập trình trực quan App Inventor dùng để phát triển phần mềm ứng dụng trên hệ điều hành Android App Inventor là công cụ lập trình dành cho mọi người, kể cả trẻ em

Với công cụ App Inventor, Google tạo điều kiện để mọi người có thể tự xây dựng phần mềm ứng dụng cho thiết bị di động dùng hệ điều hành Android

App Inventor thực chất là một ứng dụng web, chạy bởi trình duyệt trên máy tính cá nhân.Tuy nhiên, người dùng vẫn phải cài thêm một số ứng dụng trên máy tính hoặc trên

thiết bị di động của mình để kết nối Nhờ vậy, người dùng có thể nhanh chóng chuyển ứng dụng từ máy tính cá nhân qua điện thoại Android để chạy thử

Trang 17

2.3.1 Khái niệm về MIT App Inventor

MIT App Inventor dành cho android là một ứng dụng web nguồn mở ban đầu được cung cấp bởi Google và hiện tại được duy trì bởi Viện Công nghệ Massachusetts (MIT)

Nền tảng cho phép nhà lập trình tạo ra các ứng dụng phần mềm cho hệ điều hành Android (OS) Bằng cách sử dụng giao diện đồ họa, nền tảng cho phép người dùng kéo

và thả các khối mã (blocks) để tạo ra các ứng dụng có thể chạy trên thiết bị Android Đến 07/2017, phiên bản iOS của nền tảng này đã bắt đầu được đưa vào thử nghiệm bởi Thunkable, là một trong các nhà cung cấp ứng dụng web cho ngôn ngữ này

Hiện nay, mỗi tháng MIT App Inventor có hơn 400.000 người dùng đến từ 195 quốc gia và đã tạo ra gần 22 triệu ứng dụng, MIT App Inventor đang thay đổi cách thế giới tạo ra các ứng dụng và cách mà học sinh nhỏ tuổi bắt đầu học về máy tính

2.3.2 Những tính năng có trên MIT App Inventor

Cho phép xây dựng nhanh chóng những thành phần cơ bản (components) của một ứng dụng Android: Nút bấm, nút lựa chọn, chọn ngày giờ, ảnh, văn bản, thông báo, kéo trượt, trình duyệt web

Sử dụng nhiều tính năng trên điện thoại: Chụp ảnh, quay phim, chọn ảnh, bật video hoặc audio, thu âm, nhận diện giọng nói, chuyển lời thoại thành văn bản, dịch

Kết nối: Danh bạ, email, gọi điện, chia sẻ thông qua các ứng dụng mạng xã hội khác trên thiết bị, nhắn tin, bật ứng dụng khác, bluetooth, bật trình duyệt

Lưu trữ: đọc hoặc lưu tệp txt, csv, sử dụng FusiontablesControl, tạo cơ sở dữ liệu đơn giản trên điện thoại hoặc trên đám mây thông qua server tự tạo hoặc Firebase Và rất nhiều mở rộng do các nhà lập trình hoạt động riêng liên tục thêm vào

Trang 18

2.4 Một số module và thiết bị sử dụng trong mô hình

Giới thiệu về vi điều khiển:

Vi điều khiển là một máy tính được tích hợp trên một chíp, nó thường được sử dụng để điều khiển các thiết bị điện tử Vi điều khiển, thực chất, là một hệ thống bao gồm một

vi xử lý có hiệu suất đủ dùng và giá thành thấp (khác với các bộ vi xử lý đa năng dung trong máy tính) kết hợp với các khối ngoại vi như bộ nhớ, các mô đun vào/ra, các môđun biến đổi số sang tương tự và tương tự sang số, Ở máy tính thì các mô đun thường được xây dựng bởi các chíp và mạch ngoài

Hình 2.4 Hệ thống vi điều khiển cơ bản

Có rất nhiều hãng sản xuất vi điều khiển, nổi tiếng là TI, Microchip, Atmel, Mỗi loại đều có ưu và nhược điểm khác nhau, vì giới hạn của đề tài này dùng chức năng vi

Trang 19

điều khiển không quá phức tạp nên hầu hết các vi điều khiển đều có thể dung được, ở đây ta cân nhắc về vấn đề thông dụng, nhỏ gọn và khả năng phát triển trong tương lai của vi điều khiển nên ta chọn dòng vi điều khiển AVR của hãng Atmel

2.4.2 Board vi điều khiển Arduino Uno R3

Arduino Uno được xây dựng với phân nhân là vi điều khiển ATmega328P sử dụng thạch anh có chu kì dao động là 16 MHz Với vi điều khiển này, ta có tổng cộng 14 pin (ngõ) ra / vào được đánh số từ 0 tới 13 (trong đó có 6 pin PWM, được đánh dấu ~ trước mã số của pin) Song song đó, ta có thêm 6 pin nhận tín hiệu analog được đánh

kí hiệu từ A0 - A5, 6 pin này cũng có thể sử dụng được như các pin ra / vào bình thường (như pin 0 - 13) Ở các pin được đề cập, pin 13 là pin đặc biệt vì nối trực tiếp

với LED trạng thái trên board

Hình 2.5 Sơ đồ và chức năng chân Arduino Uno R3

Một vài thông số của Arduino Uno:

Arduino Uno R3 sử dụng vi điều khiển Atmega328P

Trang 20

Số chân Digital: 14 (6 chân PWM)

Giao tiếp UART: 1 bộ UART

Giao tiếp SPI : 1 bộ SPI

Giao tiếp I2C : 2 bộ I2C

Dòng tối đa trên mỗi chân I/O: 20 mA

Các chân năng lượng:

GND (Ground): cực âm của nguồn điện cấp cho Arduino Uno

5V: cấp điện áp 5V đầu ra Dòng tối đa cho phép ở chân này là 500mA

3.3V: cấp điện áp 3.3V đầu ra Dòng tối đa cho phép ở chân này là 50mA

Vin (Voltage Input): để cấp nguồn ngoài cho Arduino

Bộ nhớ của Arduino Uno R3:

32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ trong bộ nhớ Flash của vi điều khiển Thường thì sẽ có khoảng vài KB trong số này sẽ được dùng cho bootloader nhưng đừng lo, bạn hiếm khi nào cần quá 20KB bộ nhớ này đâu

2KB cho SRAM (Static Random Access Memory): 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

Chú ý: khi mất điện, dữ liệu trên SRAM sẽ bị mất

Trang 21

1KB cho EEPROM (Electrically Eraseble Programmable Read Only Memory): tương tự như một chiếc ổ cứng mini – nơi có thể đọc và ghi dữ liệu vào đây mà không phải lo bị mất khi mất điện giống như dữ liệu trên SRAM

Giao tiếp UART trong Arduino Uno R3

Khái niệm giao tiếp UART:

UART là chuẩn truyền thông nối tiếp bất đồng bộ (Universal Asynchronous Receiver - Transmitter) dùng để truyền nhận dữ liệu giữa 2 hệ thống và không có phân biết chủ-

tớ, giữa các hệ thống là ngang cấp nhau

Chuẩn UART gồm một đường phát dữ liệu và một đường nhận dữ liệu Để truyền dữ liệu giữa 2 hệ thống với nhau thì cả hai hệ thống phải tự tạo xung clock (CK) có cùng tần số (Tốc độ baud)

Hình 2.6 Giao tiếp 2 hệ thống dùng chuẩn UART

Nguyên lý hoạt động:

Khi ở trạng thái chờ, mức điện áp của thiết bị truyền ở mức 1 (high) Khi bắt đầu truyền dữ liệu, START bit sẽ chuyển từ 1 xuống 0 để báo hiệu cho thiết 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 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ị nhận 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 (Frame) nhằm đảm báo tính đúng đắn của dữ liệu

Trang 22

Hình 2.7 Nguyên lý hoạt động chuẩn UART

2.4.3 Module Wifi ESP8266 NodeMCU Lua CP2102

NodeMCU ESP8266 được phát triển dựa trên Chip WiFi ESP8266EX bên trong

Module ESP-12E dễ dàng kết nối WiFi với một vài thao tác Board còn tích hợp IC CP2102, giúp dễ dàng giao tiếp với máy tính thông qua Micro USB để thao tác với board Và có sẳn nút nhấn, Led để tiện trong quá trình học, nghiên cứu ESP8266 được

sử dụng rộng rãi trong các dự án IOT, ESP8266 Blynk, App Inventor

Với kích thước nhỏ gọn, linh hoạt board dễ dàng liên kết với các thiết bị ngoại vi để tạo thành project, sản phẩm mẫu một cách nhanh chóng

Sơ đồ chân và chức năng:

Hình 2.8 Datasheet Esp8266 NodeMCU Lua CP2102

Trang 23

Một vài thông số của NodeMCU ESP8266:

Điện áp đầu 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ó

Lập trình trên các ngôn ngữ: C/C++, Micropython, NodeMCU - Lua

2.4.4 Module Cảm biến ánh sáng, servo sg90

Module Cảm biến ánh sáng

Hình 2.9 Cảm biến ánh sáng

Ứng dụng:

Cảm biến ánh sáng ban ngày và ban đêm

Sử dụng ánh sáng điều khiển thiết bị điện

Đèn sáng tự động khi trời tối

Trang 24

Theo sơ đồ mạch nguyên lý dưới: Khi module cảm biến rung được kích hoạt, khi đó sẽ

có sự thay đổi điện áp tại đầu vào của Ic LM393 Ic này nhận biết có sự thay đổi nó sẽ đưa ra một tín hiệu thấp để báo hiệu có sự rung động

Động cơ Servo SG90

Hình 2.10 Servo SG90

Ứng dụng:

Công dụng chính của động cơ servo là đạt được góc quay chính xác trong khoảng từ

90o – 180o Việc điều khiển này có thể ứng dụng để lái robot, di chuyển các tay máy lên xuống, quay một cảm biến để quét khắp phòng…

Trang 25

Động cơ servo SG90 có thể xoay 180o

Chủng loại : Động cơ servo SG90

Kích thước : 22.2 x 11.8 x 32 mm

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

Kết nối dây màu đỏ với 5V, dây màu nâu với mass, dây màu cam với chân phát xung của vi điều khiển Ở chân xung cấp một xung từ 1ms-2ms theo để điều khiển góc quay theo ý muốn

2.4.5 Relay 4 kênh 5V

Hình 2.11 Relay 4 kênh 5V

Trang 26

Module Relay 4 kênh 5V gồm 4 relay , điện áp hoạt động 5 v điều khiển đầu ra tối đa 220VAC/10A và 30VDC/10A Đầu vào IN1, IN2, IN3 IN4 nhận tín hiệu cực thấp Module relay 4 kênh nhỏ thiết kế gọn chuyên nghiệp , khả năng chống nhiễu tốt và khả năng cách điện tốt An toàn đáng tin cậy

Có sẵn header rất tiện dụng khi kết nối với vi điều khiển Có các lỗ bắt vít rất tiện lợi

dễ lắp đặt trong hệ thống mạch

Trong module đã có sẵn mạch kích relay sử dụng IC cách ly quang và transistor giúp cách ly hoàn toàn mạch vi điều khiển với rơ le bảo đảm vi điều khiển hoạt động ổn định

Mạch điều khiển relay 4 kênh này sử dụng chân kích mức Thấp (0V): khi có tín hiệu 0V vào chân IN thì relay sẽ nhảy qua thường Mở của Relay

Ứng dụng:

Dùng dòng điện nhỏ của vi điều khiển, arduino, PLC để điều khiển các thiết bị điện,

đồ dùng điện hoạt động ở mức điên áp cao từ 0-30v DC, 0-250v DC như điện sinh hoạt

Có đèn báo đóng ngắt trên Relay

Sử dụng điện áp nuôi DC 5V

Đầu ra điện thê đóng ngắt tối đa: DC 30V / 10A, AC 250V / 10A

Trang 27

IN1…IN4: tín hiệu đầu vào, hoạt động mức thấp

NO1…NO4: Công tắc thường mở

2.4.6 Cảm biến nhiệu độ, độ ẩm không khí DHT11

Hình 2.12 Cảm biến DH11

Cảm biến nhiệt độ và độ ẩm DHT11 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 Cảm biến sử dụng giao tiếp số theo chuẩn 1 dây

Đo tốt ở độ ẩm 20-80%RH với sai số 5%

Đo tốt ở nhiệt độ 0 to 50°C sai số ±2°C

Tần số lấy mẫu tối đa 1Hz (1 giây 1 lần)

Kích thước 15mm x 12mm x 5.5mm 4 chân, khoảng cách chân 0.1''

Trang 28

2.4.7 Cảm biến khí gas MQ2

Hình 2.13 Cảm biến khí gas MQ2.

MQ2 là cảm biến khí gas Nó được cấu 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 ngây cháy, độ dẫn của nó thay đổi ngay Chính nhờ đặc điểm này người ta thêm vào mạch đơn gian để biến đổi từ độ nhạy này sang điện áp

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 quang 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 khí gây cháy khác Nó được sử dụng rộng rãi trong công nghiệp và dân dụng do mạch đơn giản và chi phí thấp

Trang 29

CHƯƠNG 3 TÍNH TOÁN VÀ THIẾT KẾ

3.1 Sơ đồ khối hệ thống

TRUNG TÂM ĐIỀU KHIỂN

Wifi Wifi/3G/4G

Hình 3.1 Sơ đồ khối hệ thống

Chức năng các khối:

Khối nguồn: Cung cấp nguồn nuôi DC cho mạch , sử dụng nguồn máy tính

Khối vi điều khiển: Đọc giá trị từ App điện thoại gửi đến thông qua Wifi, xử lý đồng

thời điều khiển các thiết bị

Khối module ESP8266: Nhận dữ liệu từ Firebase và gởi đến vi điều khiển

Khối Firebase: Nơi lưu trữ giữ liệu và là kết nối trung gian giữa vi điều khiển và ứng

dụng Android

App Android (Điện thoại): Nhận lệnh , thao tác của con người, xử lý và gửi tín hiệu

đến vi điều khiển thông qua Wifi/3G/4G

Trang 30

3.2 Tính toán và thiết kế

3.2.1 Thiết kế mô hình

Sơ đồ đấu nối thiết bị:

Hình 3.2 Sơ đồ đấu nối thiết bi

Hình 3.3 Sơ đồ đấu nối thiết bị thực tế

Nguyên lý hoạt động:

Khi vi điều khiển nhận được dữ liệu từ App Android gửi đến sẽ lập tức gửi tín hiệu đến chân Relay, các chân dữ liệu của Relay ở đây được nối trùng với các chân của

Trang 31

Esp8266 nhằm nhận tín hiệu 1 cách chính xác, từ đó sẽ điều khiển thiết bị theo ý muốn, 4 Relay được nối với các chân 2, 3, 4, 5, của Esp8266

Đối với App Android :

Khi nhận được thao tác điều khiển, sẽ gửi dữ liệu đến vi điều khiển thông qua Wifi

App đồng bộ trạng thái các thiết bị theo thời gian thực trên cơ sở dữ liệu firebase

Mô hình đóng mở cửa và đèn tự sáng

Hình 3.4 Sơ đồ đấu nối thiết bị

Trang 32

Hình 3.5 Sơ đồ đấu nối thiết bị thực tế

+ Phòng khách có: 1 quạt, 1 đèn led, 2 nút nhấn, 1 lcd hiển thị nhiệt độ, độ ẩm, khí gas

và 1 cảm biến đo nhiệt độ DHT11

Ngày đăng: 17/05/2021, 15:32

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w