Advertisement
pleasedontcode

**Signal Monitoring** rev_01

Jan 17th, 2025
385
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /********* Pleasedontcode.com **********
  2.  
  3.     Pleasedontcode thanks you for automatic code generation! Enjoy your code!
  4.  
  5.     - Terms and Conditions:
  6.     You have a non-exclusive, revocable, worldwide, royalty-free license
  7.     for personal and commercial use. Attribution is optional; modifications
  8.     are allowed, but you're responsible for code maintenance. We're not
  9.     liable for any loss or damage. For full terms,
  10.     please visit pleasedontcode.com/termsandconditions.
  11.  
  12.     - Project: **Signal Monitoring**
  13.     - Source Code NOT compiled for: Arduino Nano ESP32
  14.     - Source Code created on: 2025-01-17 12:33:11
  15.  
  16. ********* Pleasedontcode.com **********/
  17.  
  18. /****** SYSTEM REQUIREMENTS *****/
  19. /****** SYSTEM REQUIREMENT 1 *****/
  20.     /* Khi có tín hiệu của cảm biến rung hãy mở loa báo */
  21.     /* động và in” Động đất” và ngược lại  Khi có tín */
  22.     /* hiệu hồng ngoại (cháy) hãy mở loa và in “hỏa hoạn” */
  23.     /* Báo kết quả nhiệt độ và độ ẩm,khi nhiệt độ quá 30 */
  24.     /* độ c thì mở quạt */
  25. /****** END SYSTEM REQUIREMENTS *****/
  26.  
  27. /* START CODE */
  28.  
  29. /****** DEFINITION OF LIBRARIES *****/
  30. #include <ESP_AT_WiFiManager.h> //https://github.com/khoih-prog/ESP_AT_WiFiManager
  31. #include <Arduino.h>
  32. #include <DHT.h>
  33. #include <IRremote.h>
  34.  
  35. /****** FUNCTION PROTOTYPES *****/
  36. void setup(void);
  37. void loop(void);
  38.  
  39. /****** DEFINITION OF LIBRARIES CLASS INSTANCES*****/
  40.  
  41. #define DHTPIN 4     // Chân kết nối của cảm biến DHT11
  42. #define DHTTYPE DHT11   // Chọn loại cảm biến DHT11
  43. #define DO_PIN 13 // Chân digital để đọc trạng thái ánh sáng
  44. #define SENSOR_PIN 25 // Chân kết nối cảm biến rung
  45. #define RECV_PIN 14 // Chân nhận tín hiệu hồng ngoại
  46. #define FAN_PIN 12 // Chân điều khiển quạt
  47.  
  48. DHT dht(DHTPIN, DHTTYPE);
  49. IRrecv irrecv(RECV_PIN);
  50. decode_results results;
  51.  
  52. void setup(void)
  53. {
  54.     // put your setup code here, to run once:
  55.     Serial.begin(115200);    // Khởi động Serial với tốc độ 115200
  56.     dht.begin();             // Khởi động cảm biến DHT11
  57.     irrecv.enableIRIn();     // Bắt đầu nhận tín hiệu hồng ngoại
  58.     pinMode(SENSOR_PIN, INPUT_PULLDOWN); // Cấu hình chân cảm biến rung
  59.     pinMode(DO_PIN, INPUT); // Thiết lập chân DO_PIN là đầu vào cho cảm biến ánh sáng
  60.     pinMode(FAN_PIN, OUTPUT); // Thiết lập chân quạt là đầu ra
  61. }
  62.  
  63. void loop(void)
  64. {
  65.     // put your main code here, to run repeatedly:
  66.     // Đọc trạng thái cảm biến rung
  67.     if (digitalRead(SENSOR_PIN)) {
  68.         Serial.println("Động đất...");
  69.         // Mở loa báo động
  70.         // Code to activate the alarm sound here
  71.     } else {
  72.         Serial.println("Không phát hiện rung động...");
  73.     }
  74.  
  75.     // Đọc giá trị từ cảm biến ánh sáng
  76.     int lightState = digitalRead(DO_PIN);
  77.     Serial.print("Trạng thái ánh sáng: ");
  78.     Serial.println(lightState);
  79.  
  80.     if (lightState == HIGH) {
  81.         Serial.println("Nó tối");
  82.     } else {
  83.         Serial.println("Nó sáng");
  84.     }
  85.  
  86.     // Đọc nhiệt độ và độ ẩm từ cảm biến DHT11
  87.     delay(2000); // Đợi giữa các lần đọc cảm biến DHT
  88.     float h = dht.readHumidity();  // Đọc độ ẩm
  89.     float t = dht.readTemperature(); // Đọc nhiệt độ
  90.  
  91.     if (isnan(h) || isnan(t)) {
  92.         Serial.println("Không thể đọc từ cảm biến DHT!");
  93.     } else {
  94.         Serial.print("Độ ẩm: ");
  95.         Serial.print(h);
  96.         Serial.print(" %\t");
  97.         Serial.print("Nhiệt độ: ");
  98.         Serial.print(t);
  99.         Serial.println(" *C");
  100.  
  101.         // Kiểm tra nhiệt độ và điều khiển quạt
  102.         if (t > 30) {
  103.             digitalWrite(FAN_PIN, HIGH); // Bật quạt
  104.             Serial.println("Quạt đã bật do nhiệt độ quá 30 độ C.");
  105.         } else {
  106.             digitalWrite(FAN_PIN, LOW); // Tắt quạt
  107.             Serial.println("Quạt đã tắt.");
  108.         }
  109.     }
  110.  
  111.     // Đọc tín hiệu hồng ngoại
  112.     if (irrecv.decode(&results)) {
  113.         Serial.print("Mã tín hiệu nhận được: ");
  114.         Serial.println(results.value, HEX); // In ra mã tín hiệu nhận được
  115.         // Mở loa báo động cho hỏa hoạn
  116.         // Code to activate the alarm sound here
  117.         irrecv.resume();  // Tiếp tục nhận tín hiệu
  118.     }
  119.  
  120.     delay(1000); // Đợi 1 giây trước khi lặp lại
  121. }
  122.  
  123. /* END CODE */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement