lOMoARcPSD|4 7892172
lOMoARcPSD|4 7892172
5. // Đnh template Blynk
6. #define BLYNK_TEMPLATE_ID "TMPL6950Uwoay"
7. #define BLYNK_TEMPLATE_NAME "smartHome"
8. #define BLYNK_AUTH_TOKEN "_w3_vShGB0IEKDvvxBDGpXbMC222zB3P"
9.
10. // Khai báo thư vin DHT, Blynk, Wifi
11. #include <WiFi.h>
12. #include <WiFiClient.h> // t
a
o m
ô
t máy đ
ê
co th
ê
k
ê
t n
ô
i v
ơ
i m
ô
t đ
a IP đa
đ
ươ
c đ
nh nghia
13. #include <BlynkSimpleEsp32.h>
LAB 1
1. Thiết kế nhà thông minh
- Điều khiển đèn các phòng
- Theo dõi nhiệt độ, độ ẩm
2. Hệ thống gồm
- ESP32
- Digital Humidity and Temperature sensor
- LED
- Relay Modul
- Điện trở
3. phỏng trên Wokwi
4. Code
lOMoARcPSD|4 7892172
14.#include <DHT.h>
15.
16.#define BLYNK_PRINT Serial
17.
18. const int Lounge = 23; // Đ
nh nghia s
ô
19. const int Dining = 22; // Đnh nghia sô
chân k
ê
t n
ô
i v
ơ
i thi
ê
t b
chân k
ê
t n
ô
i v
ơ
i thi
ê
t b
Lounge
Dining
20. const int Bedroom = 21; // Đnh nghia sô
21.
chân k
ê
t n
ô
i v
ơ
i thi
ê
t b
Bedroom
22. #define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
23. #define DHTPIN 12 //Đnh nghia sô chân kêt nôi vơi cm biên DHT
đ
c d
li
u t
25. float temp,humi ; //Khai báo biên đê
26.
l
ư
u tr
giá tr
nhi
t đ
ô
đ
ô
m
27. //Kêt nôi Wifi
28. char auth[] = "_w3_vShGB0IEKDvvxBDGpXbMC222zB3P"; //Khai báo biên lưu tr
ma thông o xác thc Blynk
29. char ssid[] = "Wokwi-GUEST"; //Khai báo bi
ê
n l
ư
u tr
tên m
a
ng WiFi (SSID)
30. char pass[] = ""; // Khai báo biên lưu tr
31.
mt khu mang WiFi
32.void setup()
33.{
34. Serial.begin (115200);
35. dht.begin(); //Khi đông cm biên DHT
36.pinMode(Lounge, OUTPUT); // Thiêt đt chân đa gn cho đèn phòng ch
output
37.pinMode(Dining, OUTPUT); // Thiêt đt chân đa gn cho đèn phòng ăn
output
38.pinMode(Bedroom, OUTPUT); // Thiêt đt chân đa gn cho đèn phòng ng
output
39. Blynk.begin (auth,ssid,pass);
40.}
41. // đo nhit đô đô m trong nhà
42. void DHT22Read(){
43. float temp = dht.readTemperature(); //Đc d
li
u nhi
t đ
ô
đ
ô
m t
c
m bi
ê
n DHT22 b
ng cách g
i c ph
ươ
ng th
c readTemperature() c
a đ
ô
i
t
ươ
ng dht
44. float humi = dht.readHumidity(); //Đc d
li
u nhi
t đ
ô
đ
ô
m t
c
m
biên DHT22 bng cách gi các phương thc readHumidity() ca dôi tương dht
45. Serial.println("Nhiet do: " + String(temp) + "°C");
46. Serial.println("Do am: " + String(humi) + "%");
47. Serial.println("---");
48. Blynk.virtualWrite(V3, temp); //Gi giá tr
nhi
t đ
ô
lên Blynk thông qua
các b
ô
ghi
o V3
49. Blynk.virtualWrite(V4, humi); //Gi giá tr đô m lên Blynk thông qua
các b
ô
50.}
51.
ghi
o V4
lOMoARcPSD|4 7892172
52.void loop() {
53.
54. Blynk.run(); //s dung đê duy tri kêt nôi, gi nhn d liu
55. DHT22Read(); //đ
ê
đ
c g
i d
li
u nhi
t đ
ô
đ
ô
m lên Blynk
56.
57.}
58.
59.BLYNK_CONNECTED() // K
ê
t n
ô
i thành công v
ơ
i n
n t
ng Blynk
60.{
61. Blynk.syncVirtual(V0);
62. Blynk.syncVirtual(V1);
63. Blynk.syncVirtual(V2);
64.}
65.
66.BLYNK_WRITE(V0) // Hàm Blynk điu khiên đèn phòng ch
67. {
68.
69.
70.
71.
int p = param.asInt(); // Đ
c giá tr
t
switch widget Blynk c
a
đèn phòng ch
digitalWrite(Lounge, p);
}
72.BLYNK_WRITE(V1) // Hàm Blynk điu khiên đèn phòng ăn
73. {
74.
75.
76.
77.
int s = param.asInt(); // Đ
c giá tr
t
switch widget Blynk c
a đèn
phòng ăn
digitalWrite(Dining, s);
}
78.BLYNK_WRITE(V2) // Hàm Blynk đi
u khi
ê
n đèn phòng ngh
79. {
80.
81.
82.
int r = param.asInt(); // Đc giá tr t switch widget Blynk ca
đèn phòng ng
digitalWrite(Bedroom, r);
}
5. Link wokwi
https://wokwi.com/projects/381264330164891649

Preview text:

lOMoARcPSD|47892172 lOMoARcPSD|47892172 LAB 1
1. Thiết kế nhà thông minh

- Điều khiển đèn các phòng
- Theo dõi nhiệt độ, độ ẩm 2. Hệ thống gồm - ESP32
- Digital Humidity and Temperature sensor - LED - Relay Modul - Điện trở
3. Mô phỏng trên Wokwi 4. Code 5. // Định template Blynk
6. #define BLYNK_TEMPLATE_ID "TMPL6950Uwoay"
7. #define BLYNK_TEMPLATE_NAME "smartHome"
8. #define BLYNK_AUTH_TOKEN "_w3_vShGB0IEKDvvxBDGpXbMC222zB3P" 9.
10. // Khai báo thư viện DHT, Blynk, Wifi 11. #include
12. #include // tao môt máy đê co thê kêt nôi vơi môt địa IP đa đươc định nghia 13. #include lOMoARcPSD|47892172 14.#include 15.
16.#define BLYNK_PRINT Serial 17.
18. const int Lounge = 23; // Định nghia sô chân kêt nôi vơi thiêt bị Lounge
19. const int Dining = 22; // Định nghia sô chân kêt nôi vơi thiêt bị Dining
20. const int Bedroom = 21; // Định nghia sô chân kêt nôi vơi thiêt bị Bedroom 21. 22. #define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
23. #define DHTPIN 12 //Định nghia sô chân kêt nôi vơi cảm biên DHT
24. DHT dht(DHTPIN, DHTTYPE); // Khai báo môt đôi tương DHT đê đọc dữ liệu từ cảm biên DHT
25. float temp,humi ; //Khai báo biên đê lưu trữ giá trị nhiệt đô và đô ẩm 26. 27. //Kêt nôi Wifi
28. char auth[] = "_w3_vShGB0IEKDvvxBDGpXbMC222zB3P"; //Khai báo biên lưu trữ
ma thông báo xác thực Blynk
29. char ssid[] = "Wokwi-GUEST"; //Khai báo biên lưu trữ tên mang WiFi (SSID)
30. char pass[] = ""; // Khai báo biên lưu trữ mật khẩu mang WiFi 31. 32.void setup() 33.{
34. Serial.begin (115200);
35. dht.begin(); //Khởi đông cảm biên DHT 36.pinMode(Lounge, OUTPUT);
// Thiêt đặt chân đa gắn cho đèn phòng chờ là output 37.pinMode(Dining, OUTPUT);
// Thiêt đặt chân đa gắn cho đèn phòng ăn là output 38.pinMode(Bedroom, OUTPUT);
// Thiêt đặt chân đa gắn cho đèn phòng ngủ là output
39. Blynk.begin (auth,ssid,pass); 40.}
41. // đo nhiệt đô đô ẩm trong nhà 42. void DHT22Read(){ 43.
float temp = dht.readTemperature(); //Đọc dữ liệu nhiệt đô và đô ẩm từ
cảm biên DHT22 bằng cách gọi các phương thức readTemperature() của đôi tương dht 44.
float humi = dht.readHumidity(); //Đọc dữ liệu nhiệt đô và đô ẩm từ cảm
biên DHT22 bằng cách gọi các phương thức readHumidity() của dôi tương dht 45.
Serial.println("Nhiet do: " + String(temp) + "°C"); 46.
Serial.println("Do am: " + String(humi) + "%"); 47. Serial.println("---"); 48.
Blynk.virtualWrite(V3, temp); //Gửi giá trị nhiệt đô lên Blynk thông qua các bô ghi ảo V3 49.
Blynk.virtualWrite(V4, humi); //Gửi giá trị đô ẩm lên Blynk thông qua các bô ghi ảo V4 50.} 51. lOMoARcPSD|47892172 52.void loop() { 53.
54. Blynk.run(); //sử dung đê duy tri kêt nôi, gửi và nhận dữ liệu
55. DHT22Read(); //đê đọc và gửi dữ liệu nhiệt đô và đô ẩm lên Blynk 56. 57.} 58.
59.BLYNK_CONNECTED() // Kêt nôi thành công vơi nền tảng Blynk 60.{ 61. Blynk.syncVirtual(V0); 62. Blynk.syncVirtual(V1); 63. Blynk.syncVirtual(V2); 64.} 65.
66.BLYNK_WRITE(V0) // Hàm Blynk điều khiên đèn phòng chờ 67. { 68.
int p = param.asInt(); // Đọc giá trị từ switch widget Blynk của đèn phòng chờ 69. digitalWrite(Lounge, p); 70. } 71.
72.BLYNK_WRITE(V1) // Hàm Blynk điều khiên đèn phòng ăn 73. { 74.
int s = param.asInt(); // Đọc giá trị từ switch widget Blynk của đèn phòng ăn 75. digitalWrite(Dining, s); 76. } 77.
78.BLYNK_WRITE(V2) // Hàm Blynk điều khiên đèn phòng nghỉ 79. { 80.
int r = param.asInt(); // Đọc giá trị từ switch widget Blynk của đèn phòng ngủ 81. digitalWrite(Bedroom, r); 82. } 5. Link wokwi
https://wokwi.com/projects/381264330164891649
Document Outline

  • 1.Thiết kế nhà thông minh
  • 2.Hệ thống gồm
  • 3.Mô phỏng trên Wokwi
  • 5. Link wokwi https://wokwi.com/projects/381264330