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

DO AN SMART HOME SU DUNG NODE MCU ESP 8266

91 174 4

Đ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 91
Dung lượng 4,67 MB

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

Nội dung

Một thực tế rất gần với con người là trong chính căn nhà của mình, mong muốn được 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 to

Trang 1

Nhận xét của giáo viên

Trang 2

LỜI CẢM ƠN

………   ………

Để đề tài được hoàn thiện như ngày hôm nay, em đã nhận được sự giúp

đỡ rất tận tình đến từ các thầy cô, bạn bè, đồng nghiệp Qua đây em xin gửi lời cảm ơn đến tất cả các tổ chức, cá nhân đã tạo điều kiện giúp đỡ em hoàn thành đề tài này

Em xin chân thành cảm ơn các thầy cô giáo khoa Điện trường Cao Đẳng Kinh tế - Kỹ thuật, Đại Học Thái Nguyên đã giúp em có cơ sở kiến thức hoàn thành đề tài này Em xin gửi lời cảm ơn đến các anh chị phòng Đào tạo SEVT, các đồng nghiệp đội EQUIPMENT CNC COLOR cùng các bạn

bè đã tạo động lực,sắp xếp thời gian hợp lý để em có thể hoàn thành đề tài này

Đặc biệt, em xin gửi lời cảm ơn chân thành nhất tới Thầy giáo Th.s Vũ Mạnh Thủy đã đặc biệt quan tâm, nhiệt tình giúp đỡ em trong thời gian thực hiện đề tài

Do đặc thù là sinh viên vừa học vừa làm, quỹ thời gian hạn hẹp, cộng thêm kiến thức còn hạn chế, trong đề tài chắc chắn còn nhiều sai sót, mong thầy cô cùng các bạn góp ý để đề tài được hoàn thiện nhất

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

Thái Nguyên, tháng 9 năm 2020

Trang 3

LỜI MỞ ĐẦU

Ngày nay, xã hội càng hiện đại, khoa học kỹ thuật càng phát triển thì cuộc sống của con người càng có 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 mình Một thực tế rất gần với con người

là trong chính căn nhà của mình, mong muốn được 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 toilet đều 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

Nhu cầu về kiểm soát hệ thống thiết bị điện và điều khiển thiết bị thông minh ngày càng phổ biến như kiểm tra trạng thái của đèn, quạt, máy lạnh, các thiết bị khác, có thể mở hay tắt và các thiết bi ̣điện trong nhà từ xa bằng thiết bị điện thoại

di động, thiết bị máy tính thông qua mạng internet

Hiện nay với nền khoa học phát triển với các trợ lý ảo thông minh hỗ trợ AI như: Google Assistant (Google), Alexa (Amazon), Siri (Apple), Cortana (Microsoft), … Các thiết bị trong ngôi nhà thông minh ngoài được điều khiển qua các app trên điện thoại, web,… còn được điều khiển qua trợ lý ảo cũng dần được phát triển Vì vậy, em đã tìm hiểu, nghiên cứu, chọn đề tài: “Dự án IOT – SMART HOME ứng dụng Module Node MCU esp8266” để làm báo cáo tốt nghiệp

Trang 4

MỤC LỤC LỜI CẢM ƠN

LỜI MỞ ĐẦU

MỤC LỤC

CHƯƠNG 1 : Mở Đầu 7

1.1 Đặt vấn đề 7

1.2 Phương pháp nghiên cứu 8

1.3 Mục tiêu, nhiệm vụ 8

CHƯƠNG 2: GIỚI THIỆU LÝ THUYẾT 9

2.1 Khái niệm Internet Of Things ( IOT) là gì? 9

2.2 Những ứng dụng thực tế trong cuộc sống 10

2.2.1 Vật dụng mang theo trên người 10

2.2.2 Ứng dụng trong lĩnh vực vận tải 11

2.2.3 Ứng dụng trong lĩnh vực sản xuất nông nghiệp 11

2.2.4 Ứng dụng trong nhà thông minh 12

2.3 Blynk 14

2.3.1 Hệ sinh thái Blynk 14

2.3.2 Tính năng của Blynk 15

2.4 Nhà thông minh ( Smart home) 15

2.4.1 Khái niệm 15

2.4.2 Chức năng 16

2.4.3 Các hệ sinh thái nhà thông minh trên thế giới 17

CHƯƠNG 3: THIẾT BỊ VÀ GIẢI PHÁP CÔNG NGHỆ 18

3.1 Kit Node MCU Lua ESP8266 18

Trang 5

3.2 Module và Board phát triển của ESP8266 20

3.3 Giới thiệu về module ESP 12E (Node MCU V3) 21

3.4 Sơ đồ chân GPIO và những lưu ý khi sử dụng Node MCU 22

3.5 Phần mềm IDE 24

3.5.1 Cấu trúc một chương trình trong phần mềm IDE 24

3.5.2 Hàm nhập xuất Digital I/O 25

3.5.3 Hàm nhập xuất Analog I/O 28

3.5.4 Hàm thời gian (Delay) 29

3.6 Lập trình ESP 12E bằng Arduino IDE 31

3.6.1 Gới thiệu 31

3.6.2 Chuẩn bị phần cứng 31

3.6.3 Cài đặt phần mềm arduino IDE và thư viện cho ESP8266 31

3.6.4 Hướng dẫn nạp chương trình cho ESP8266 12E 34

CHƯƠNG 4: NỘI DUNG THỰC HIỆN VÀ MÔ HÌNH 37

4.1 Điều khiển LED ma trận Max7219 với module WIFI NodeMCU 37

4.2 Khóa cửa thông minh sử dụng Node MCU và Module RFID Rc 522 40

4.3 Điều khiển các thiết bị điện trong gia đình 55

4.4 Đọc giá trị nhiệt độ, độ ẩm hiển thị lên màn hình oled 0.96” và blynk sử dụngboard NodeMCU 68

4.5 Gửi thông báo về điện thoại khi có trộm bằng cảm biến chuyển động sử dụng board NodeMCU và app BLYNK 75

CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 81

5.1 Kết luận 80

5.1.1 Những mặt đã làm được 80

5.1.2 Những hạn chế tồn đọng 80

Trang 6

5.2 Hướng phát triển của đề tài 81 5.3 Tài liệu mở rộng 81

5.3.1 Tương lai smart home 81 5.3.2 Xu hướng ngành Smart home – Tương lai các ngôi nhà Việt 84 TÀI LIỆU THAM KHẢO 88

PHỤ LỤC 89

Trang 7

là trong chính căn nhà của mình, mong muốn được 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 toilet đều 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

Nhu cầu về kiểm soát hệ thống thiết bị điện và điều khiển thiết bị thông minh ngày càng phổ biến như kiểm tra trạng thái của đèn, quạt, máy lạnh, các thiết bị khác, có thể mở hay tắt và các thiết bi ̣điện trong nhà từ xa bằng thiết bị điện thoại di động, thiết bị máy tính thông qua mạng internet

Hiện nay với nền khoa học phát triển với các trợ lý ảo thông minh hỗ trợ AI như: Google Assistant (Google), Alexa (Amazon), Siri (Apple), Cortana (Microsoft), … Các thiết bị trong ngôi nhà thông minh ngoài được điều khiển qua các app trên điện thoại, web,… còn được điều khiển qua trợ lý ảo cũng dần được phát triển Vì vậy, em đã tìm hiểu, nghiên cứu, chọn đề tài: “Dự án IOT – SMART HOME ứng dụng Module Node MCU esp8266” để làm báo cáo tốt nghiệp cho mình

Kết quả nghiên cứu từ đề tài này sẽ giúp em có nhiều kinh nghiệm để sau khi tốt nghiệp chúng em có đủ khả năng nghiên cứu chế tạo hoàn chỉnh thiết bị

Trang 8

điều khiển hệ thống điện cho ngôi nhà thông minh đáp ứng được sử dụng yêu cầu trên thi ̣trường với giá thành hợp ̣lý, chất lượng đảm bảo, phù hợp ̣với điều kiện sống tại Việt Nam

1.2 Phương pháp nghiên cứu

- Nghiên cứu tài liệu qua sách báo về lĩnh vực IOT

- Nghiên cứu cơ sở lý thuyết để thiết kế mạch điều khiển thiết bị với trợ lý ảo Google Assistant của Google

- Tìm hiểu nguyên lý hoạt động của module Node MCU esp 8266 và các module phụ trợ, thiết bị điện ngoại vi

1.3 Mục tiêu, nhiệm vụ

- Tìm hiểu về hệ thống điều khiển thông minh các thiết bị trong nhà

- Tìm hiểu về Google Assistant (Google Home), IOT

- Thiết kế mạch điều khiển thiết bị bằng giong nói qua Google Assistant (Google Home)

- Xây dựng mô hình mẫu SMART HOME thông qua các project cơ bản nhất

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

Trang 9

CHƯƠNG 2 GIỚI THIỆU LÝ THUYẾT2.1 Khái niệm Internet Of Things ( IOT) là gì?

Internet of Things (IoT) - Mạng lưới vạn vật kết nối Internet là một kịch bản

của thế giới, khi mà mỗi đồ vật, con người được cung cấp một định danh của riêng mình, và tất cả có khả năng truyền tải, trao đổi thông tin, dữ liệu qua một mạng duy nhất mà không cần đến sự tương tác trực tiếp giữa người với người, hay người với máy tính IoT đã phát triển từ sự hội tụ của công nghệ không dây,công nghệ

vi điều khiển, cơ điện tử và Internet Nói đơn giản là một tập hợp các thiết bị có khả năng kết nối với nhau, với Internet và với thế giới bên ngoài để thực hiện một công việc nào đó ( Wikipedia)

Hiểu đơn giản, IoT có thể khiến mọi vật giờ đây có thể giao tiếp với nhau dễ dàng hơn và ưu điểm lớn nhất của “Thông minh” là khả năng phòng ngừa và cảnh báo tại bất kì đâu

Trang 10

2.2 Những ứng dụng thực tế trong cuộc sống

Những ứng dụng của IoT vào các lĩnh vực trong đời sống là vô cùng phong phú

và đa dạng Chúng ta sẽ cùng điểm qua một số ứng dụng điển hình của IoT: 2.2.1 Vật dụng mang theo trên người

Có thể kể đến một số thiết bị như Dashbon Mask, đây là 1 chiếc smart headphone giúp bạn vừa có thể nghe nhạc với âm thanh có độ trung thực cao vừa

có thể xem phim HD với máy chiếu ảo, hoặc AMPL SmartBag ba lô có pin dự phòng có thể sạc điện cho các thiết bị di động, kể cả máy tính

Trang 11

2.2.2 Ứng dụng trong lĩnh vực vận tải

Ứng dụng điển hình nhất trong lĩnh vực này là gắn chíp lấy tọa độ GPS lên xe chở hàng, nhằm kiểm soát lộ trình, tốc độ, thời gian đi đến của các xe chở hàng Ứng dụng này giúp quản lý tốt khâu vận chuyển, có những xử lý kịp thời khi xe

đi không đúng lộ trình hoạt bị hỏng hóc trên những lộ trình mà ở đó mạng di động không phủ sóng tới được, kiểm soát được lượng nhiên liệu tiêu hao ứng với lộ trình đã được vạch trước Theo dõi lộ trình đi của xe chở hàng

2.2.3 Ứng dụng trong lĩnh vực sản xuất nông nghiệp

Quá trình sinh trưởng và phát triển của cây trồng trải qua nhiều giai đoạn từ hạt nảy mầm đến ra hoa kết trái Ở mỗi giai đoạn cần có sự chăm sóc khác nhau

về chất dinh dưỡng cũng như chế độ tưới tiêu phù hợp Những yêu cầu này đòi hỏi sự bền bỉ và siêng năng của người nông dân từ ngày này sang ngày khác làm cho họ phải vất vả Nhưng nhờ vào ứng dụng khoa học kỹ thuật, sử dụng cảm biến

Trang 12

để lấy thông số nhiệt độ, độ ẩm, độ pH của đất trồng, cùng với bảng dữ liệu về quy trình sinh trưởng của loại cây đó, hệ thống sẽ tự động tưới tiêu bón lót cho

cây trồng phù hợp với từng giai đoạn phát triển của cây trồng Người nông dân bây giờ chỉ kiểm tra, quan sát sự vận hành của hệ thống chăm sóc cây trồng trên một màn hình máy tính có nối mạng Theo dõi tình trạng sinh trưởng của cây trồng Sản phẩm của mỗi loại nông sản sẽ được gắn mã ID, nếu tủ lạnh nhà chúng

ta sắp hết một loại nông sản nào đó thì ngay lập tức nó sẽ tự động gửi thông báo cần mua đến cơ sở dữ liệu của trang trại có trồng loại nông sản đó, và chỉ sau một thời gian nông sản mà bạn cần sẽ được nhân viên đem đến tận nhà

2.2.4 Ứng dụng trong nhà thông minh:

Vài năm trở lại đây, khi thế giới đang dần tiến vào kỷ nguyên Internet of Things, kết nối mọi vật qua Internet, nhà thông minh trở thành một xu hướng công nghệ tất yếu, là tiêu chuẩn của nhà ở hiện đại Trong căn hộ thông minh, tất cả các thiết bị từ rèm cửa, điều hoà, dàn âm thanh, hệ thống ánh sáng, hệ thống an ninh, thiết bị nhà tắm… được kết nối với nhau và hoạt động hoàn toàn tự động theo kịch bản lập trình sẵn, đáp ứng đúng nhu cầu sử dụng của khách hàng

Trang 13

Ví dụ, vào buổi sáng, đèn tắt, rèm cửa tự động chuyển tới vị trí thích hợp để giảm bớt những tác động náo nhiệt từ đường phố và nhường không gian cho ánh sáng tự nhiên Tối đến, hệ thống đèn bật sáng, các rèm cửa kéo lên người dùng có thể thưởng ngoạn từ trên cao bức tranh thành phố rực rỡ ánh đèn, đồng thời âm nhạc cũng nhẹ nhàng cất lên các giai điệu yêu thích của gia đình

Hình 2.12: Ví dụ về nhà thông minh Nếu có việc cả nhà phải đi vắng, chế độ "Ra khỏi nhà" sẽ được kích hoạt, toàn

bộ thiết bị điện tử gia dụng sẽ tự động tắt hoặc đóng lại và khi chủ nhân về, chúng cũng sẽ khôi phục lại trạng thái trước đó Thậm chí, nước nóng cũng đã sẵn sàng

từ vài phút trước khi gia chủ về đến cửa Riêng hệ thống an ninh luôn hoạt động 24/24 và sẽ thông báo đến chủ nhà mọi thay đổi "đáng ngờ" trong ngôi nhà, dù đang ở bất cứ đâu

2.3 Blynk

Trang 14

Đây là một nền tảng IoT được ưa thích bởi hơn 500.000 kỹ sư trong lĩnh vực

IoT trên toàn thể giới

2.3.1 Hệ sinh thái Blynk

Library Blynk – support cho hầu hết tất cả các nền tảng phần cứng phổ biến cho phép giao tiếp với máy chủ và xử lý tất cả các lệnh đến và đi

Hình 2.13: Sơ đồ hệ sinh thái Blynk Nguyên lý hoạt động của Blynk: mỗi khi ta nhấn một nút trong ứng dụng

Trang 15

của chúng ta thông qua library Tương tự thiết bị phần cứng sẽ truyền dữ liệu ngược lại đến server Vì thế chúng ta có thể tự mình xây dụng một hệ sinh thâí nhà thông minh dựa trên nền tảng của Blynk

2.3.2.Tính năng của Blynk

- Cung cấp API & giao diện người dùng tương tự cho tất cả các thiết bị và phần cứng được hỗ trợ

- Kết nối với server bằng cách sử dụng:Wifi, Bluetooth và BLE, Ethernet, USB (Serial), GSM, …

- Các tiện ích trên giao diện được nhà cung cấp dễ sử dụng

- Thao tác kéo thả trực tiếp giao diện mà không cần viết mã

- Dễ dàng tích hợp và thêm chức năng mới bằng cách sử dụng các cổng kết nối

ảo được tích hợp trên blynk app

- Theo dõi lịch sử dữ liệu

- Thông tin liên lạc từ thiết bị đến thiết bị bằng Widget

2.4 Nhà thông minh

2.4.1 Khái niệm

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

Trang 16

Hình 2.14: Mô hình nhà thông minh Trong căn nhà thông minh, đồ dùng trong nhà từ phòng ngủ, phòng khách đến toilet đều 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êm vào đó, các đồ gia dụng có thể hiểu được ngôn ngữ của nhau và có khả năng tương tác với nhau

2.4.2 Chức năng

- Điều khiển chiếu sáng (on/off, dimmer, scence, timer, logic, )

- Điều khiển mành, rèm, cửa cổng

- Hệ thống an ninh, báo động, báo cháy

- Điều khiển điều hòa, máy lạnh

- Hệ thống âm thanh đa vùng

- Camera, chuông hình

- Hệ thống Bảo vệ nguồn điện

Trang 17

2.4.3 Các hệ sinh thái nhà thông minh trên thế giới:

Với nhu cầu ngày càng cao về nhà thông minh trên thế giới Các hãng công nghệ

lớn trên thế giới đã phát triển các hệ sinh thái SmartHome cho riêng mình Với

trung tâm là trợ lý ảo tích hợp AI cùng các thiết bị điện thông minh kết nối IoT và

các phần mềm hỗ trợ trên Smart phone Tiêu biểu trong các hệ sinh thái này phải

kể đến: Amazon, Google, Samsung, Xiaomi, GeekLink, …

Trang 18

CHƯƠNG 3 THIẾT BỊ VÀ GIẢI PHÁP CÔNG NGHỆ

3.1 Kit NodeMCU Lua ESP8266

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

Hình 3.1: Module NodeMCU Lua ESP8266

Trang 19

Module thu phát Wifi ESP8266 NodeMCU Lua là kit phát triển dựa trên nền

chip Wifi SoC ESP8266 với thiết kế dễ sử dụng và đặc biệt là có thể sử dụng trực

tiếp trình biên dịch của Arduino để lập trình và nạp code, điều này khiến việc sử

dụng và lập trình các ứng dụng trên ESP8266 trở nên rất đơn giản

Module thu phát Wifi ESP8266 NodeMCU Lua là kit phát triển dựa trên nền

chip Wifi SoC ESP8266 với thiết kế dễ sử dụng và đặc biệt là có thể sử dụng trực

tiếp trình biên dịch của Arduino để lập trình và nạp code, điều này khiến việc sử

dụng và lập trình các ứng dụng trên ESP8266 trở nên rất đơn giản

Hình 3.2: Sơ đồ nguyên lý kit NodeMCU

Trang 20

3.2 Module và Board phát triển của ESP8266

ESP8266 cần một số linh kiện nữa mới có thể hoạt động, trong đó phần khó

nhất là Anten Đòi hỏi phải được sản xuất, kiểm tra với các thiết bị hiện đại Do

đó, trên thị trường xuất hiện nhiều Module và Board mạch phát triển đảm đương hết để người dùng đơn giản nhất trong việc phát triển ứng dụng Một số Module

và Board phát triển phổ biến:

Hiện nay phiên bản sử dụng phổ biến nhất là ESP8266 12E

Hình 3.4: Chip ESP 12E

Trang 21

3.3 Giới thiệu về module ESP 12E( NodeMCU V1).

NodeMCU v1.0 Lua - ESP8266 ESP12E

Hình 3.5 NODE MCU ESP8266

NodeMCU V1.0 đượ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 qua quá trình học, nghiên cứu 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

Trang 22

Thông số kỹ thuật:

Chip: ESP8266EX

 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

 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, NodeMCU – Lua

3.4 Sơ đồ chân GPIO và những lưu ý khi sử dụng:

NodeMCU:

Trang 23

Hình 3.6 Sơ đồ chân MODULE Node MCU

Chúng ta biết rằng ở mỗi chân trên vi điều khiển có thể thực hiện nhiều chức năng khác nhau, NodeMCU có tổng cộng 13 chân GPIO tuy nhiên một số chân được dùng cho những mục đích quan trọng khác vì vậy chúng ta phải lưu ý khi sử dụng như sau:

Tất cả các GPIO đều có trở kéo lên nguồn bên trong (ngoại trừ GPIO16 có trở kéo xuống GND) Người dùng có thể cấu hình kích hoạt hoặc không kích hoạt trở kéo này

GPIO1 và GPIO3: hai GPIO này được nối với TX và RX của bộ UART0, NodeMCU nạp code thông qua bộ UART này nên tránh sử dụng 2 chân GPIO này

GPIO0, GPIO2, GPIO15: đây là các chân có nhiệm vụ cấu hình mode cho ESP8266 điều khiển quá trình nạp code nên bên trong NodeMCU (có tên gọi là strapping pins) có các trở kéo để định sẵn mức logic cho chúng như sau: GPIO0: HIGH, GPIO2: HIGH, GPIO15: LOW Vì vậy khi muốn sử dụng các chân này ở

Trang 24

vai trò GPIO cần phải thiết kế một nguyên lý riêng để tránh xung đột đến quá trình nạp code.

GPIO9, GPIO10: hai chân này được dùng để giao tiếp với External Flash của ESP8266 vì vậy cũng không thể dùng được (đã test thực nghiệm)

Như vậy, các GPIO còn lại: GPIO 4, 5, 12, 13, 14, 16 có thể sử dụng bình thường

Trang 25

3.5 Phần mềm IDE

Đây là phần mềm dùng để lập trình nạp code vô kit NodeMCU Lua ESP8266

3.5.1 Cấu trúc một chương trình trong phần mềm IDE:

Phần 1: Khai báo biến

Đây là phần khai báo kiểu biến, tên các biến, định nghĩa các chân trên board một

số kiểu khai báo biến thông dụng:

* #define

Nghĩa của từ define là định nghĩa, hàm #define có tác dụng định nghĩa, hay còn gọi là gán, tức là gán một chân, một ngõ ra nào đó với 1 cái tên Ví dụ #define led

13

Chú ý: sau #define thì không có dấu “,” (dấy phẩy)

*Khai báo các kiểu biến khác như: int (kiểu số nguyên), float,…

Các chúng ta có thể tham khảo thêm các kiểu biến cũng như công dụng tại arduino.cc

Phần 2: Thiết lập (void setup())

Phần này dùng để thiết lập cho chương trình, cần nhớ rõ cấu trúc của nó:

void setup()

{

}

Trang 26

Cấu trúc của nó có dấu ngoặc nhọn ở đầu và ở cuối, nếu thiếu phần này khi kiểm tra chương trình thì chương trình sẽ báo lỗi Phần này dùng để thiết lập các tốc độ truyền dữ liệu, kiểu chân là chân ra hay chân vào Trong đó:

Serial.begin(9600); Dùng để truyền dữ liệu từ board Arduino lên máy tính pinMode(biến, kiểu vào hoặc ra); Dùng để xác định kiểu chân là vào hay ra

Ví dụ: pinMode(ChanDO, INPUT);

Phần 3: Vòng lặp

Dùng để viết các lệnh trong chương trình để mạch Arduino thực hiện các

nhiệm vụ mà chúng ta mong muốn, thường bắt đầu bằng: void loop()

{

………

}

Một số câu lệnh, cấu trúc thường gặp:

// : Dấu // dùng để giải thích, khi nội dung giải thích nằm trên 1 dòng, khi kiểm tra chương trình thì phần mềm kiểm tra sẽ bỏ qua phần này, không kiêm tra hay biên dịch

#define: Dùng để định nghĩa một chân nào đó, hay gán biến tới 1 chân, địa chỉ ghi đọc tín hiệu Ví dụ: #define LED, 13

3.5.2 Hàm nhập xuất Digital I/O:

a digitalWrite():Miêu tả: Viết một giá trị HIGH hoặc một LOW cho một chân số

của arduino

Trang 27

Nếu chân đã được cấu hình như một OUTPUT với pinMode(), điện áp của nó

sẽ được thiết lập với giá trị tương ứng: 5V (hoặc 3.3V trên 3.3V) cho HIGH, 0V cho LOW

Nếu chân được cấu hình như là một INPUT, digitalWrite()sẽ cho phép ( HIGH) hoặc vô hiệu hóa ( LOW) pullup nội bộ trên chân đầu vào Nên thiết

lập pinMode() để INPUT_PULLUP cho phép các điện trở kéo lên bên trong

Cú pháp:

digitalWrite(pin, value);

Thông số:

pin: Số của chân digital mà bạn muốn thiết đặt

value: HIGH hoặc LOW

Trang 28

digitalWrite(led, HIGH); // bật led

delay(1000); // dừng chương trình 1 giây

digitalWrite(led, LOW); // tắt led

delay(1000); // dừng chương trình 1 giây

pin: số chân có chế độ bạn muốn thiết lập

mode: INPUT, OUTPUT, Hoặc INPUT_PULLUP

Trả về:

Không có

Ví dụ:

void setup()

Trang 29

Điều này có nghĩa là nó sẽ lập bản đồ điện áp đầu vào từ 0 đến 5 volts thành các số nguyên từ 0 đến 1023 Điều này tạo ra độ phân giải giữa các lần đọc: 5 volts / 1024 đơn vị hoặc, 0,0049 volt (4,9 mV) trên một đơn vị Dải đầu vào và độ phân giải có thể được thay đổi bằng cách sử dụng

Hàm analogRead() cần 100 micro giây để thực hiện Khi người ta nói "đọc tín hiệu analog", bạn có thể hiểu đó chính là việc đọc giá trị điện áp

Cú pháp: analogRead (pin) ;

b analogWrite()

Trang 30

Miêu tả analogWrite() là lệnh xuất ra từ một chân trên mạch Arduino một mức

tín hiệu analog (phát xung PWM) Người ta thường điều khiển mức sáng tối của đèn LED hay điều chỉnh tốc độ động cơ.Tần số của tín hiệu PWM trên hầu hết các chân khoảng 490 Hz Trên board Node MCU và các board tương tự, chân

PWM có tần số khoảng 980Hz

Bạn không cần gọi hàm pinMode() để đặt chế độ OUTPUT cho chân sẽ dùng để phát xung PWM trên mạch Arduino Cú pháp: analogWrite([chân phát xung PWM], [giá trị xung PWM]); Giá trị mức xung PWM nằm trong khoảng từ

0 đến 255, tương ứng với mức duty cycle từ 0% đến 100% Trả về

Tạm dừng chương trình cho khoảng thời gian (tính bằng mili giây) được chỉ

định là tham số (Có 1000 mili giây = 1 giây.)

Trang 31

int ledPin = 13; // LED pin 13

Trang 32

3.6 Lập trình ESP 12E bằng Arduino IDE

3.6.1 Giới thiệu

Để bắt đầu với những dự án Wifi các bạn

cần ESP8266 với giá thành rẻ, và dễ dàng sử

dụng Đặc biệt ESP8266 12E có thể được lập

trình bằng Arduino IDE Trước khi bắt đầu

những chuỗi dự án với ESP8266, ở bài viết

này, mình sẽ chia sẻ cách cài đặt Arduino

IDE để nạp code cho ESP8266

3.6.2 Chuẩn bị phần cứng:

1 Module ESP8266 V12 hoặc V12E đã tích hợp sẵn mạch nạp

3.6.3 Cài đặt phần mềm arduino IDE và thư viện cho esp8266

Sau khi tải phần mềm Arduino IDE, chúng ta tiến hành cài đặt như bình thường

và mở chương trình lên Cần cài driver để phần mềm nhận diện được module (file driver có sẵn trong file cài)

Trang 33

Để tiến hành cài đặt thư viện và chức năng nạp code cho IDE chúng ta làm như sau:

Vào File→ Preferences, vào textbox Additional Board Manager URLs thêm

đường link sau vào

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Click OK để chấp nhận

Trang 34

Tiếp theo vào Tool→Board→Boards Manager

Đợi một lát để chương trình tìm kiếm Ta kéo xuống và click vào ESP8266 by ESP8266 Community, click vào Install Chờ phần mềm tự động download và

cài đặt

Trang 35

Kết nối mudule ESP8266 -12E vào máy tính Vào Tool→Board→NodeMCU 1.0,chọn cổng COM tương ứng với module tương ứng

Chọn chế độ nạp Arduino as ISP và chọn cổng COM cho đúng nhé.Vậy là ta đã

có môi trường lập trình cho esp8266 rất thân thiện

Trang 36

Sau khi kết nối ESP8266 với máy tính, chúng ta sẽ test code ESP8266 ở đây: Code

ở dưới test led trên board esp8266 12E ở chân 13 (D7 ) sáng tắt trong vòng 1 giây

void setup() {

pinMode(LED_BUILTIN, OUTPUT);

}

void loop() {

digitalWrite(LED_BUILTIN, HIGH); // bật led sáng 1 giây

delay(1000); // wait for asecond

digitalWrite(LED_BUILTIN, LOW); // tắt led 1 giây

delay(1000); // wait for a

Trang 37

CHƯƠNG 4

NỘI DUNG THỰC HIỆN VÀ MÔ HÌNH

4.1 Điều khiển LED ma trận Max7219 với module WIFI NodeMCU.

Mục tiêu:

 Lập trình chạy chữ led ma trận Max7219 sử dụng module Wifi

NodeMCU web server

Phần mềm cần chuẩn bị

 Cài đặt phần mềm arduino IDE

Phần cứng cần chuẩn bị:

 1 Mạch Node MCU

 Dây cắm board test

1 module led ma trận Max7219 (32x8) Hình 4.1 ảnh thực tế mô hình

Trang 38

Hình 4.2 Sơ đồ lắp mạch

Trang 39

Code chương trình:

#include <LEDMatrixDriver.hpp>

#include <ESP8266WiFi.h>

#include <WiFiClient.h>

const char* ssid = "PHI QUANG"; // Thay đôi tên wifi

const char* password = "88888888"; // Thay đổi pass wifi

// TCP server at port 80 will respond to HTTP requests

WiFiServer server(80);

const uint8_t LEDMATRIX_CS_PIN = 15;

// Define LED Matrix dimensions (0-n) - eg: 32x8 = 31x7

const int LEDMATRIX_WIDTH = 31;

const int LEDMATRIX_HEIGHT = 7;

const int LEDMATRIX_SEGMENTS = 4;

// The LEDMatrixDriver class instance

LEDMatrixDriver lmd(LEDMATRIX_SEGMENTS, LEDMATRIX_CS_PIN);

void displayText ( char * theText)

Trang 40

// stop if char is outside visible area

if( x + idx * 8 > LEDMATRIX_WIDTH )

Ngày đăng: 25/08/2021, 15:49

HÌNH ẢNH LIÊN QUAN

Hình 2.12: Ví dụ về nhà thông minh - DO AN   SMART HOME SU DUNG NODE MCU   ESP 8266
Hình 2.12 Ví dụ về nhà thông minh (Trang 13)
Hình 2.13: Sơ đồ hệ sinh thái Blynk - DO AN   SMART HOME SU DUNG NODE MCU   ESP 8266
Hình 2.13 Sơ đồ hệ sinh thái Blynk (Trang 14)
Hình 2.14: Mô hình nhà thông minh - DO AN   SMART HOME SU DUNG NODE MCU   ESP 8266
Hình 2.14 Mô hình nhà thông minh (Trang 16)
Hình 3.1: Module NodeMCU Lua ESP8266 - DO AN   SMART HOME SU DUNG NODE MCU   ESP 8266
Hình 3.1 Module NodeMCU Lua ESP8266 (Trang 18)
Hình 3.2: Sơ đồ nguyên lý kit NodeMCU - DO AN   SMART HOME SU DUNG NODE MCU   ESP 8266
Hình 3.2 Sơ đồ nguyên lý kit NodeMCU (Trang 19)
Hình 3.4: Chip ESP12E - DO AN   SMART HOME SU DUNG NODE MCU   ESP 8266
Hình 3.4 Chip ESP12E (Trang 20)
Hình 3.5 NODE MCU ESP8266 - DO AN   SMART HOME SU DUNG NODE MCU   ESP 8266
Hình 3.5 NODE MCU ESP8266 (Trang 21)
Hình 3.6 Sơ đồ chân MODULE NodeMCU - DO AN   SMART HOME SU DUNG NODE MCU   ESP 8266
Hình 3.6 Sơ đồ chân MODULE NodeMCU (Trang 23)
Hình ảnh thực tế - DO AN   SMART HOME SU DUNG NODE MCU   ESP 8266
nh ảnh thực tế (Trang 36)
NỘI DUNG THỰC HIỆN VÀ MÔ HÌNH - DO AN   SMART HOME SU DUNG NODE MCU   ESP 8266
NỘI DUNG THỰC HIỆN VÀ MÔ HÌNH (Trang 37)
Hình 4.2 Sơ đồ lắp mạch - DO AN   SMART HOME SU DUNG NODE MCU   ESP 8266
Hình 4.2 Sơ đồ lắp mạch (Trang 38)
4.2. Khóa cửa thông minh sử dụng NodeMCU và Module RFID Rc522 4.2.1. Mục tiêu:  - DO AN   SMART HOME SU DUNG NODE MCU   ESP 8266
4.2. Khóa cửa thông minh sử dụng NodeMCU và Module RFID Rc522 4.2.1. Mục tiêu: (Trang 41)
4.2.6. Cài đặt app Blynk: - DO AN   SMART HOME SU DUNG NODE MCU   ESP 8266
4.2.6. Cài đặt app Blynk: (Trang 53)
Quét mã QR trên đây để khởi tạo Project đã được cấu hình tối ưu - DO AN   SMART HOME SU DUNG NODE MCU   ESP 8266
u ét mã QR trên đây để khởi tạo Project đã được cấu hình tối ưu (Trang 53)
Hình ảnh thực tế trên mô hình - DO AN   SMART HOME SU DUNG NODE MCU   ESP 8266
nh ảnh thực tế trên mô hình (Trang 54)
Ta thực hiện theo thứ tự như hình dưới: - DO AN   SMART HOME SU DUNG NODE MCU   ESP 8266
a thực hiện theo thứ tự như hình dưới: (Trang 66)
Bước 3: Lập app như hình dưới. - DO AN   SMART HOME SU DUNG NODE MCU   ESP 8266
c 3: Lập app như hình dưới (Trang 71)
Bước 6: Chọn vào hình chữ nhật như hình dưới và thay đổi thông tin giống hình.  - DO AN   SMART HOME SU DUNG NODE MCU   ESP 8266
c 6: Chọn vào hình chữ nhật như hình dưới và thay đổi thông tin giống hình. (Trang 72)
Bước 8: Chọn vào hình tam giác như hình dưới để chuyển qua chế độ online  - DO AN   SMART HOME SU DUNG NODE MCU   ESP 8266
c 8: Chọn vào hình tam giác như hình dưới để chuyển qua chế độ online (Trang 73)
Bước 7: Chọn vào hình chữ nhật như hình dưới và thay đổi thông tin giống hình.  - DO AN   SMART HOME SU DUNG NODE MCU   ESP 8266
c 7: Chọn vào hình chữ nhật như hình dưới và thay đổi thông tin giống hình. (Trang 73)
Màn hình Oled 0.96’ Hiển thị giá trị nhiệt độ và độ ẩm trong căn phòng - DO AN   SMART HOME SU DUNG NODE MCU   ESP 8266
n hình Oled 0.96’ Hiển thị giá trị nhiệt độ và độ ẩm trong căn phòng (Trang 74)
Upload code cho Nodemcu ( trước khi upload ta chọn giống như hình dưới) - DO AN   SMART HOME SU DUNG NODE MCU   ESP 8266
pload code cho Nodemcu ( trước khi upload ta chọn giống như hình dưới) (Trang 76)
4.5.6. Cấu hình trên app blynk - DO AN   SMART HOME SU DUNG NODE MCU   ESP 8266
4.5.6. Cấu hình trên app blynk (Trang 77)
Bước 3: Thiết lập các lựa chọn như hình trên - DO AN   SMART HOME SU DUNG NODE MCU   ESP 8266
c 3: Thiết lập các lựa chọn như hình trên (Trang 77)
Bước 2: Mở app lên chọn như trên hình - DO AN   SMART HOME SU DUNG NODE MCU   ESP 8266
c 2: Mở app lên chọn như trên hình (Trang 77)
Bước 6: Chọn vào hình tam giác như hình dưới để chuyển qua chế độ online. - DO AN   SMART HOME SU DUNG NODE MCU   ESP 8266
c 6: Chọn vào hình tam giác như hình dưới để chuyển qua chế độ online (Trang 78)
 Cấu hình Wifi để kết nối với các Module trong dự án: - DO AN   SMART HOME SU DUNG NODE MCU   ESP 8266
u hình Wifi để kết nối với các Module trong dự án: (Trang 89)
 Hình ảnh quá trình thực hiện mô hình. - DO AN   SMART HOME SU DUNG NODE MCU   ESP 8266
nh ảnh quá trình thực hiện mô hình (Trang 90)

TỪ KHÓA LIÊN QUAN

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

w