



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