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

ĐỀ tài SMARTHOME điều KHIỂN THIẾT bị điện QUA WIFI DÙNG APP INVENTOR có kết hợp BẰNG GIỌNG nói

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

BỢGIAẠ́DUCC̣ VAC̣ĐAC̣T
Ạ́ AẠ́
…………..
KHHAC̣CƠNGC̣ NGHỆC̣THƠNGC̣ TIN
 

BAẠ́CAẠ́BAỊTẬPC̣LỚN

\

GiảngC̣viêṇhướngC̣dẫn :
…………..
BộC̣mơṇthựcC̣hiệ : Internet of Things (IoT)
n
SinḥviêṇthựcC̣hiện :
……………..

Khánh Hòa – 10/2022



BỢGIAẠ́DUCC̣ VAC̣ĐAC̣Ạ́TAẠ́
…………..
KHHAC̣CƠNGC̣ NGHỆC̣THƠNGC̣ TIN
 

ĐỆỆ̀TAỊC̣C̣
SMARTHHMẸ-C̣ĐIỀUC̣KHIỂṆTHIẾṬBỊC̣ĐIỆṆ
̣C̣
̣C̣C̣C̣QUAC̣WIFỊDÙNGC̣ APPC̣INVENTHṚCĨẠ́KẾṬHỢPC̣BẰNGC̣ GIĨNGC̣ NĨI



GiảngC̣viêṇhướngC̣dẫn :
…………..
BộC̣mơṇthựcC̣hiệ : Internet of Things (IoT)
n
SinḥviêṇthựcC̣hiện :
…………..

Khánh Hòa – 10/2022


LỜỊCẢṂƠN
Trước tiên em xin gửi lời cám ơn chân thành sâu sắc tới các thầy cô giáo trong
………….. và các thầy cơ giáo của KhoạCơngC̣ nghệC̣ThơngC̣ tin đã tận tình
giảng
dạy, truyền đạt cho em những kiến thức, kinh nghiệm quý báu trong suốt thời gian
qua. Đặc biệt em xin gửi lời cảm ơn đến thầy …………..đã tận tình giúp đỡ, trực
tiếp chỉ bảo, hướng dẫn em trong suốt quá trình làm dự án.Trong thời gian làm việc
với thầy, cô, em khơng ngừng tiếp thu thêm nhiều kiến thức bổ ích mà còn học tập
được tinh thần làm việc, thái độ nghiên cứu khoa học nghiêm túc, hiệu quả, đây là
những điều rất cần thiết cho em trong quá trình học và công tác sau này. Sau cùng
xin gửi lời cảm ơn chân thành tới gia đình, bạn bè đã động viên,đóng góp ý kiến và
giúp đỡ trong q trình học tâp, nghiên cứu và hồn thành báo cáo.
Khánh Hịa, ngày 26 tháng 10 năm 2022


LỜỊCAṂĐHAN
Chúng em xin cam đoan: Những nội dung trong dự án này là do chúng em thực
hiện dưới sự hướng dẫn của thầy ………….. và nghiên cứu trên Internet,sách báo,
các tài liệu trong và ngồi nước có liên quan, khơng sao chép hay sử dụng bài làm

của bất kỳ các mơ hình đề tài ai khác. Mọi tham khảo dùng trong đồ án đều được
trích dẫn rõ ràng tên tác giả, tên cơng trình, thời gian, địa điểm cơng bố. Chúng em
xin chịu hoàn toàn trách nhiệm về lời cam đoan của mình trước các thầy cơ và nhà
trường.
Khánh Hịa, ngày 26 tháng 10 năm 2022


MUCC̣ LUC
LỜỊCẢṂƠN..........................................................................................................3
LỜỊCAṂĐHAN....................................................................................................4
PHẦṆI.C̣TỔNGC̣ QUAṆVỆỆ̀ĐỆỆ̀TAI......................................................................7
1. Lý do chọn đề tài..........................................................................................7
2. Mục tiêu nghiên cứu.....................................................................................7
3. Nhiệm vụ nghiên cứu....................................................................................7
4. Phương pháp nghiên cứu...............................................................................8
5. Đối tượng nghiên cứu...................................................................................8
6. Phạm vi nghiên cứu......................................................................................8
PHẦṆII.C̣NÔỊDUNGC̣ CỦAC̣ĐỆỆ̀TAI.....................................................................9
CHƯƠNG I: KHÁI QUÁT...................................................................................9
1.1. Giới thiệu phần mềm Arduino IDE............................................................9
1.2. Giới thiệu Module Wifi ESP8266............................................................10
1.3. Giới thiệu tạo và tải App Inventor trên Smartphone................................11
1.4. Các thiết bị có liên quan đề tài.................................................................14
CHƯƠNG II: MƠ PHỎNG VÀ LẬP TRÌNH TRÊN ARDUINO IDE..............16
2.1. Giới thiệu mơi trường tích hợp Arduino..................................................16
2.2. Lập trình cho ESP8266 trên Arduino IDE...............................................20
CHƯƠNG III: ĐIỀU KHIỂN THIẾT BỊ ĐIỆN TỪ XA QUA APP INVENTOR
VÀ ESP8266.......................................................................................................23
3.1. Sơ đồ thiết kế...........................................................................................23
3.2. Tiến hành thực thi và kết quả thực tế.......................................................24

PHẦṆIII.C̣KẾṬLUẬṆVAC̣HƯỚNGC̣ PHAṬTRIỂN.........................................28
1.Kết luận dự án..................................................................................................28
2. Hướng phát triển.............................................................................................28
PHẦṆIV:C̣TAỊLIỆUT
C̣ HAṂKHẢẠ́..................................................................29


DANḤMUCC̣ HÌNH

Hình 1 Phần mềm Arduino IDE........................................................................................9
Hình 2 Esp8266...............................................................................................................10
Hình 3 Module Relay 5V................................................................................................14
Hình 4 Đèn led trái ớt......................................................................................................15
Hình 5 Thiết bị quạt điện 220V......................................................................................16
Hình 6 Ví dụ Điều khiển led đơn giản............................................................................19
Hình 7 Sơ đồ thiết kế mạch.............................................................................................23
Hình 8 Sơ đồ thực thi......................................................................................................23
Hình 9 Mơ hình triển khai thực tế...................................................................................24
Hình 10 Cắm nguồn cho Esp và thiết bị điện.................................................................24
Hình 11 Nạp chương trình và xuất địa chỉ IP.................................................................25
Hình 12 Giao diện ứng dụng và nhập IP.........................................................................25
Hình 13 Bật tắt đèn phịng..............................................................................................26
Hình 14 Bật tắt quạt điện................................................................................................26
Hình 15 Bật tắt đèn vệ sinh.............................................................................................27
CAỊĐẶṬAPPC̣INVENTHR

Bước 1.1 Truy cập trang chủ App Inventor....................................................................11
Bước 1.2 Tạo project.......................................................................................................11
Bước 1.3 Thiết kế View của project...............................................................................12
Bước 1.4 Chuyển đổi trang thiết kế................................................................................12

Bước 1.5 Thiết kế Block của project..............................................................................13
Bước 1.6 Xây dựng ứng dụng.........................................................................................13
Bước 1.7 Nhận mã QR quét và sử dụng.........................................................................14
CAỊĐẶṬARDUIN

Bước 2.1 Truy cập trang chủ Arduino IDE....................................................................16
Bước 2.2 Chọn tải Arduino IDE.....................................................................................17
Bước 2.3 Lựa chọn ổ đĩa tải............................................................................................17
Bước 2.4 Cài đặt Aduino IDE.........................................................................................17
Bước 2.5 Thiết lập cấu hình kết nối Arduino và Esp8266.............................................18


PHẦṆI.C̣TỔNGC̣ QUAṆVỆỆ̀ĐỆỆ̀TAI
1.C̣LýẠ́dọchọṇđệỆ̀tà
i
Mỗi giai đoạn phát triển của lịch sử thế giới đều gắn liền với những cuộc cách
mạng về khoa học kĩ thuật.Và ngày nay, cuộc cách mạng Internet of Things đã tạo
nên những thay đổi đáng kể cho cuộc sống con người ở hiện tại và trong tương lai.
Với sự phát triển của Internet, smartphone và đặc biệt là các thiết bị điều khiển từ
xa, Internet of Things (IoT) đang trở thành xu hướng mới của thế giới. IoT được
định nghĩa là những vật dụng có khả năng kết nối Internet. Bạn vào nhà, mở khóa
cửa, đèn sẽ tự động sáng chỗ bạn đứng, điều hòa sẽ tự động điều chỉnh nhiệt độ,
nhạc sẽ tự động bật để chào đón bạn… những điều chỉ có trong phim khoa học viễn
tưởng, đang dần trở thành hiện thực với công nghệ IoT.
Việc điều khiển từ xa thiết bị đèn là một vấn đề rất quan trọng nó khiến cho cơng
việc bật tắt thiết bị trở nên đơn giản, tiện lợi và nhanh chóng hơn. Hơn hết, nó
chứng tỏ được từng bước phát triển về khoa học và cơng nghệ giúp ích khiến cho
đời sống thoải mái và đơn giản hơn trong thời đại 4.0.
Từ nhu cầu thực tế cần có một thiết bị điều khiển, giám sát nhiệt đồ, độ ẩm, tủ
lạnh, dữ liệu,… bằng smartphone, thông qua Module Wifi Esp8266 hay Esp32. Từ

đó, tính linh động cao, cập nhật các dữ liệu 24/24h nhằm tăng hiệu quả quản lý.
Xuất phát từ những lý do trên, chúng em chọn đề
tài:”ĐiềụkhiểṇthiếṭbịC̣điệṇ
quạappC̣inventoṛtựỆ̀modulẹwifịesp8266” làm dự án của bộ mơn
“InterneṭofC̣
things”. Trong q trình thực hiện dự án khơng tránh khỏi thiếu sót, chúng em rất
2.C̣
MụcC̣
tiêụnghiêṇc
mong
nhận
được sự góp ý của thầy và các bạn để đề tài được hoàn thiện hơn.
ứu
Thiết kế mạch điều khiển thiết bị từ xa bằng smartphone để bật tắt thiết bị điện.
3.C̣NhiệṃvụC̣nghiêṇcứu
Nghiên cứu về phần mềm Arduino IDE, Module Wifi ESP8266, ModuleC̣Relay 2
kênh, thiết bị điện.
Nghiên cứu Module Wifi ESP8266, phần mềm App Inventor trên điện thoại.


4.C̣PhươngC̣phápC̣nghiêṇc
ứu
NghiêṇcứụlýẠ́thuyết: Tìm hiểu khái niệm, cấu tạo, các thơng số ký thuật, sơ
đồ
mạch giữa Esp8266 với Module Relay 2 kênh. Tìm hiểu cách cài đặt và tải app
Inventor về điện thoại.
NghiêṇcứụthựcC̣nghiệm: Thiết kế mạch điều khiển từ xa thiết bị điện trên
điện
thoại thông qua Module Wifi ESP8266.
5.C̣ĐốịtượngC̣nghiêṇc

ứu
Module Wifi ESP8266, Module Relay 2 kênh và các thiết bị điện.
6.C̣Phạṃvịnghiêṇcứu
Thiết kế mạch điều khiển từ xa thiết bị điện trên điện thoại thông qua Module
Wifi ESP8266.


PHẦṆII.C̣NƠỊDUNGC̣ CỦAC̣ĐỆỆ̀TAI
CHƯƠNGC̣ I:C̣KHAỊQUAT
1.1.C̣GiớịthiệụphầṇmềṃArduinọIDE
1.1.1.C̣PhầṇmềṇArduinọIDẸlạỆ̀gì?
- Arduino IDE là một phần mềm với một mã nguồn mở, được sử dụng chủ yếu
để viết và biên dịch mã vào module Arduino. Nó bao gồm phần cứng và phần
mềm. Phần cứng chứa đến 300,000 board mạch được thiết kế sẵn với các cảm
biến, linh kiện. Phần mềm giúp bạn có thể sử dụng các cảm biến, linh kiện ấy của
Arduino một cách linh hoạt phù hợp với mục đích sử dụng.

Hìnḥ1C̣ PhầṇmềṃArduinọID
E

- Đây là một phần mềm Arduino chính thống, giúp cho việc biên dịch mã trở
nên dễ dàng, ngay cả một người bình thường khơng có kiến thức kỹ thuật cũng có
thể làm được.
1.1.2.C̣ArduinọIDẸhoạṭđộngC̣nhựthệẠ́
nào?
- Khi người dùng viết mã và biên dịch, IDE sẽ tạo file Hex cho mã. File Hex là
các file thập phân Hexa được Arduino hiểu và gửi đến bo mạch bằng cáp USB.
Mỗi bo Arduino đều được tích hợp một bộ vi điều khiển, bộ vi điều khiển sẽ nhận
file Hex và chạy theo mã được viết.
1.1.3.C̣LýẠ́dọbạṇnêṇsựự̉dụngC̣ArduinọI

DE
 Phần mềm lập trình mã nguồn mở miễn phí.
 Sử dụng ngơn ngữ lập trình C/C++ thân thiện với các lập trình viên.
 Hỗ trợ lập trình tốt cho bo mạch Arduino.
 Thư viện hỗ trợ phong phú.
 Giao diện đơn giản, dễ sử dụng.


1.2.C̣GiớịthiệụModulẹWifịESP8266
1.2.1.C̣ModulẹWifịESP8266C̣ lạỆ̀gì?
- ESP8266 là một chip của Espressif Systems có tích hợp cơng nghệ Wi-Fi với
đặc tính giá rẻ, tương thích với nhiều nền tảng. Nó thường được sử dụng trong các
board mạch smart home giá rẻ như Sonoff Basic và các công tắc Wi-Fi. Module
sơ khai nhất của ESP8266 là ESP-01.
1.2.2.C̣ThôngC̣sộẠ́củạESP8
266
TầṇsộẠ́hoạṭđộng:C̣80 MHzC̣
BộC̣nhợẠ́flash:C̣1MB 17 GPIO pinsC̣
Giaọtiếp:C̣I2C, SPI, I²S, UARTC̣
ĐặcC̣biệt:C̣10bit ADC
1.2.3.C̣CácC̣modulẹespC̣thườn
gC̣gặp

̣C̣
̣C̣C̣

̣C̣C̣

̣C̣ESP-01C̣
C̣ ESP-07C̣C̣ ESP-32

C̣C̣C̣
C̣C̣C̣
C̣C̣C̣
C̣C̣C̣


Hìnḥ2C̣ Esp826
6


1.3.C̣GiớịthiệụtạọvạỆ̀tảịAppC̣InventoṛtrêṇSmartphone
1.3.1.C̣AppC̣InventoṛlạỆ̀gì?
- MIT App Inventor là một ứng dụng web cung cấp người dùng nền tảng để lập
trình ứng dụng android. Được phát triển bởi Google và đang được duy trì bởi viện
công nghệ Massachusetts (MIT). Mục tiêu của App Inventor là giúp cho người
dùng dễ dàng tạo ra các ứng dụng android mà khơng cần kiến thức lập trình. Bằng
cách kéo thả các khối mã và sắp xếp chúng lại với nhau để tạo thành một ứng
dụng.
1.3.2.C̣HướngC̣dẫṇtạọtrêṇappC̣Inventor
- Truy cập:C̣ để vào app. Sau khi
nhấp vào


CreatẹApps!“ ở góc trên cùng bên trái, bạn tiến hành đăng nhập với tài
khoản
gmail của mình nhé.
BướcC̣1.1C̣ TruýcậpC̣trangC̣chụự̉AppC̣Inven
tor

- Sau khi đăng nhập, bạn nhấp vào “Projects” trên màn hình tiếp theo và sau đó

chọnC̣“Starṭneẉproject
”.

BướcC̣1.2C̣ Tạọprojec
t

- Bây giờ bạn tiến hành thiết kế giao diện cho ứng dụng bằng cách chọn nhấp
chọn nútC̣“Designer”C̣ở góc trên bên phải.
- Trong màn hình thiết như hình bên dưới, bạn nhấp chọn và kéo các đối tượng
(component) ở cột Palettẹvào trong màn hình thiết kếC̣Vieweṛnhư hình bên
dưới.


BướcC̣1.3C̣ ThiếṭkệẠ́Vieẉcủạproj
ect

- Các bạn lưu ý, cộtC̣Componentscho thấy các đối tượng được sử dụng để
thiết
kế giao diện cho ứng dụng này.
- Bạn có thể thay đổi thuộc tính của các đối tượng trong cộtC̣Properties.C̣Sau
khi
thiết kế giao diện cho ứng dụng xong, bạn nhấp vào “Blocks”C̣ở góc trên bên phải
để lập trình cho ứng dụng của bạn.

BướcC̣1.4C̣ ChuyểṇđổịtrangC̣thiế
ṭkế

- Trong màn hình lập trình như hình bên dưới, bạn hãy nhấp vào các đối tượng
tương ứng trên màn hình thiết kế rồi chọn và sắp xếp các khối như hình dưới đây.



BướcC̣1.5C̣ ThiếṭkệẠ́Blocḳcủạproj
ect

- Sau khi thiết kế giao diện và lập trình cho ứng dụng xong, chúng ta sẽ đóng gói
ứng dụng ra file apk và cài vào điện thoại của mình. Để xuất ra được file apk các
bạn chọn “Build” trên menu rồi chọn “App“.

BướcC̣1.6C̣ XâýdựngC̣ứngC̣dụ
ng

- Sau đó, sẽ nhận được mã QR, bạn hãy sử dụng công cụ để quét app về rồi sử
dụng.

BướcC̣1.7C̣ Nhậṇmạạ̃QṚquéṭvạỆ̀sựự̉dụ
ng


1.4.C̣CácC̣thiếṭbịC̣cọẠ́liêṇquaṇđệỆ̀tài
- Sau đây là danh sách các linh kiền cần thiết để thực hiện ứng dụng điều khiển
thiết bị điện qua wifi bằng MIT App Inventor và NodeMCU ESP8266.
STT

Têṇlinḥkiện

SộẠ́lượng

1

NodeMCUC̣ESP8266


1

2

ModulẹRelaý5Ṿ(2C̣ kên
h)

2

3

2

4

Đèṇđiện
Quạṭđiện

5

Dâýđiện

1

6

Phícḥcắm

1


1

BảngC̣1C̣ CácC̣thiếṭbịC̣liêṇquaṇđếṇđệỆ̀
tài

- Giới thiệu sơ lược về các thiết bị trừ NodeMCU ESP8266 (có phần chi tiết
khác):
1.4.1.C̣ModulẹRel5Ṿ(2C̣ kê
nh)

Tínḥnăng:C̣

Hìnḥ3C̣ ModulẹRel5
V

- Module Relay 2-Channel 5V được dùng nhiều trong các ứng dụng đóng ngắt
các thiết bị tiêu thụ dòng điện lớn (<10A). Module có thể đóng ngắt cùng lúc hai
kênh bằng tín hiệu điều khiển từ các vi điều khiển khác nhau như: Arduino, 8051,
AVR, PIC, DSP, ARM, ARM, MSP430, logic TTL, đồng thời module được cách
ly bằng optocoupler giúp bảo vệ tốt hơn cho các vi điều khiển.
ThơngC̣số:C̣
 Đóng ngắt được dịng điện cao: AC250V 10A, DC30V 10A
 2 led báo trạng thái relay
 Điện áp điều khiển: 5V
 Mạch cách ly bằng opto
 Kích thước: 50x45 mm


1.4.2.C̣Đèṇđiệ

n
- Có 2 loại đèn được sử dụng trong dự án này:

Hìnḥ4C̣ Đèṇleḍtráịớt

Tínḥnăng:
- Thiết kế theo hình dáng đèn dây tóc truyền thống, sử dụng cơng nghệ Led. Tiết
kiệm năng lượng và thân thiện với môi trường, độ sáng cao, tỏa nhiệt ít, màu sắc
trung thựcm tuổi thọ đạt tới 35.000 giờ và không UV hoặc bức xạ
ThôngC̣số:


 Màu ánh sáng: nhiều màu

 Chất liệu: thủy tinh

 Nhiệt độ màu:3200k

 Đi đèn: E14

 Điện áp: 220V
1.4.3.C̣Quạṭđi
ện

Tínḥnăng:C̣

Hìnḥ5C̣ ThiếṭbịC̣quạṭđiệṇ220
V

- Sử dụng tạo gió làm mát cho các thiết bị điện tử, điện gia dụng, y tế.

ThôngC̣số:
 Điện áp 220V

 Dịng điện 0.14A

 Tần số 50/60Hz

 Kích thước 12x12x3.8cm


CHƯƠNGC̣ II:C̣MƠC̣PHỎNGC̣ VAC̣LẬPC̣TRÌNḤTRÊṆARDUIṆẠ́IDE
2.1.C̣GiớịthiệụmơịtrườngC̣tícḥhợpC̣Arduino
2.1.1.C̣HướngC̣dẫṇtảịvạỆ̀càịđặṭArduinọIDE
a.C̣TảịArduinọIDE
- Truy cập vào link: để tải phần mềm.

BướcC̣2.1C̣ TruýcậpC̣trangC̣chụự̉ArduinọI
DE

-C̣Ợự̉đâýsẹạ̃xuấṭhiệṇcácC̣Link
DownloadC̣củạcácC̣hệC̣điềụhànḥkhácC̣nhaụnhư
(Windows, Mac OS X,
Linux).C̣Mìnḥsẹạ̃demọchọcácC̣bạṇcácḥcàịđặṭtrêṇ
Windows:
Click chọn vào WindowsInstaller, foṛWindowsXPC̣ anḍupC̣ hoặc
Windows
ZIPC̣filẹfoṛnoṇadmiṇinstalḷvạỆ̀ trang sẽ chuyển hướng đến phần
“Contribute
tọthẹArduinọSoftware“(đây là một nền tảng mở bạn có thể đóng góp
tiền để

phát triển phần mềm).

BướcC̣2.2C̣ ChọṇtảịArduinọID
E

Bước tiếp theo bạn Click vào JUSṬDHWNLAD, bạn chọn nơi lưu trữ phần
mềm có thể là ộự̉C,D,E.. tùy các bạn.


BướcC̣2.3C̣ Lựạchọṇộự̉đĩạtả
i

- Sau khi đã tải về hoàn tất bạn vào nơi lưu trữ bản cài đặt và tiến hành cài đặt
Arduino IDE.

BướcC̣2.4C̣ CàịđặṭAduinọID
E

- Bạn Click vào “ỊAgree / Nexṭ/ Install” (bạn chờ giây lát để IDE tiến hành
cài
đặt).
Như vây là bạn đã cài xong ArduinọIDE.
b.C̣CàịđặṭvạỆ̀chứcC̣năngC̣ArduinọIDE
Sau khi kết nối và cài đặt xong, sẽ xuất hiện cổng COM ảo trên máy tính (Tùy
từng loại hệ điều hành mà có những tên cổng như: COM1, COM2 ... đối với
Windows.
- Mở Arduino IDE và lựa chọn (tham khảo cấu hình kết nối như hình dưới):
 Board: NodeMCU 1.0 (ESP-12E Module)
 Port: chọn cổng khi gắn thiết bị vào sẽ thấy xuất hiện.
 Uploaḍspeed: Chọn cao nhất, nếu nạp không được chọn thấp

dần.


BướcC̣2.5C̣ ThiếṭlậpC̣cấụhìnḥkếṭnốịArduinọvạỆ̀Esp
8266

2.1.2.C̣CấụtrúcC̣củạmộṭchươngC̣trìnḥlậpC̣trìnḥAr
duinọ
- Cũng như các ngơn ngữ lập trình khác, ngôn ngữ trong Arduino sử dụng ngôn
ngữ C, cấu trúc một chương trình Arduino bao gồm 2 phần chính :
voiḍsetup(
)C̣
{̣C̣
Thực hiện việc thiết lập ban đầu cho các ứng dụng.
}̣C̣
Voiḍloop()C̣
{C̣
Vòng lặp thực hiện chương trình.
}C̣

- Hàm setup() được sử dụng để khởi tạo giá trị các biến, thiết lập chế độ chân,
bắt
đầu sử dụng các thư viện…Hàm setup chỉ thực hiện một lần khi cấp nguồn hoặc
reset Arduino.
- Hàm loop()C̣được hiểu như là chương trình chính, thực hiện các chức năng được
lập trình và có tính lặp lại liên tục.
2.1.3.C̣MộṭsộẠ́víẠ́dụC̣lậpC̣trìnḥcácC̣ứngC̣dụngC̣
- Trong Arduino hỗ trợ rất nhiều ví dụ với các thư viện mở, có thể sử dụng tùy
vào mục đích mà điều chỉnh cho phù hợp.
Ví dụ: Lập trình Điều khiển led



Hìnḥ6C̣ VíẠ́dụC̣Điềụkhiểṇleḍđơṇgiả
n

- Trong hình trên led được kết nối tới chân 13 của Arduino board, với hiệu ứng
nhấp nháy cách nhau 1 giây.
- Chương trình lập trình như sau:
int led = 13; // khoi tao chan led la 13
void setup() {
pinMode(led, OUTPUT); // chon che do ra
}
void loop() {
digitalWrite(led, HIGH); // xuat muc 1 ra chan led
delay(1000); // tre 1s
digitalWrite(led, LOW); // xuat muc thap ra led
delay(1000); // tre1s
}


2.
2.C̣LậpC̣trìnḥchọESP8266C̣ trêṇArduinọIDẸ
Nạp chương trình cho Esp8266 qua Arduino IDE
a.Nạp và giải thích chương trình code
#include <ESP8266WiFi.h>
WiFiClient client;

Thư viện có sẵn cho module
Esp8266 Wifi và truyền
nhận cổng 80


WiFiServer server(80);

/* Cài đặt WIFI */
const char* ssid = "TMV";

Nhập thông tin đăng nhập
WiFi như SSID và mật
khẩu.

const char* password = "minhvu1202";

/* dữ liệu nhận được từ ứng dụng */

Truyền nhận dữ
liệu

String data ="";
/* xác định chân điều khiển động cơ */
int relay1 = 4;

/* GPIO4(D2) -> IN3 */

int relay2 = 2; /* GPIO2(D4) -> IN1 */

Khai báo kết nối relay với
chân trên Esp8266

int relay3 = 13; /* GPIO13(D7) -> IN1 */


void setup()
{
/* khởi tạo chân điều khiển động cơ làm đầu ra */
pinMode(relay1, OUTPUT);
pinMode(relay2, OUTPUT);
pinMode(relay3, OUTPUT);
Serial.begin(115200);
connectWiFi();
server.begin(); Nếu kết nối được thì sẽ bắt đầu.
}

Dữ liệu của 3 chân relay là
OUTPUT, cổng Serial 115200 và
lệnh kết nối Wifi.
Nếu kết nối thành công sẽ nhận
được địa chỉ IP.


void loop()
{
/* Nếu máy chủ có sẵn, hãy chạy chức năng "checkClient" */
client = server.available();
if (!client) return;
data = checkClient ();

if (data == "r1on") turnonrelay(relay1);
else if (data == "r1off") turnoffrelay(relay1);
else if (data == "r2on") turnonrelay(relay2);

Kiểm tra dữ liệu gửi về để bật

tắt relay.
Tương ứng nếu lệnh r1on/r1off
thì sẽ bật tắt đèn và r2on/r2off sẽ
bật/tắt quạt, cũng như đèn vệ sinh.

else if (data == "r2off") turnoffrelay(relay2);
else if (data == "r3on") turnonrelay(relay3);
else if (data == "r3off") turnoffrelay(relay3);
}

/****************************** BẬT RELAY ***********************/
void turnonrelay(int relay)
{
digitalWrite(relay,HIGH);
Hàm bật tắt
Module relay.

}
void turnoffrelay(int relay)
{
digitalWrite(relay,LOW);
}

/***************** NHẬN DỮ LIỆU TỪ ỨNG DỤNG *****************/
String checkClient (void)
{
while(!client.available()) delay(1);

Hàm tách đoạn
test muốn gửi về

từ điện thoại.


String request = client.readStringUntil('\r');
Serial.println(request);

Hàm tách đoạn
test muốn gửi về
từ điện thoại.

return request;
}

void connectWiFi()
{
Serial.println("Connecting to WIFI");
WiFi.begin(ssid, password);
while ((!(WiFi.status() == WL_CONNECTED)))
{
delay(300);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("NodeMCU Local IP is : ");
Serial.print((WiFi.localIP()));
}

Hàm kết nối
Wifi



CHƯƠNGC̣ III:C̣ ĐIỀUC̣KHIỂṆTHIẾṬBỊC̣ ĐIỆṆTỪỆ̀ X AC̣Q UAC̣ APPC̣INVENTH R
VAC̣ESP8266.

3.1.C̣SợđộỆ̀thiếṭk
ế
3.1.1.C̣SợđộỆ̀thiếṭkệẠ́mạ
ch

Hìnḥ7C̣ SợđộỆ̀thiếṭkệẠ́mạc
h

- Kết nối lần lượt chân DC+, DC-, IN1, IN3 (Module relay 1) và IN1 (Module
relay 1) với lần lượt chân VU,G,D2, D4 và D1 của Esp8266 để tương ứng với
thiết bị điện.
3.1.2.C̣SợđộỆ̀sợlượcC̣củạdựC̣
án

Hìnḥ8C̣ SợđộỆ̀thựcC̣thi


×