环境检测系统
关于环境检测系统的搭建,接着,我开始设计并搭建智能环境检测监测系统。我先将 DHT11 温湿度传感器和光线传感器连接到 adruino nano,并编写了相应的代码,实时读取并显示温度、湿度和光线强度的数值。
这样,我可以监测到环境的基本情况,并根据需要进行相应的调整。
接下来,我将声音传感器和按键模块连接到 adruino nano,通过编写代码实现声音的检测和按键的响应。例如,当检测到噪声超过一定阈值时,系统会自动发出警报,同时显示具体的警报信息。而按键模块则可用于手动设置一些参数和功能,增加系统的人机交互性和灵活性。
最后,我将 I2C 的 LCD 显示屏连接到 adruino nano,并编写了代码,将各个模块的数据以及系统状态信息实时显示在屏幕上。通过 LCD 的直观显示,我可以更方便地监测整个智能环境检测监测系统的运行情况。如图是我搭建的智能环境检测系统。
完成整个项目后,我对 adruino nano 的编程方法和多个模块的综合运用有了更深入的了解。
这个智能环境检测监测系统不仅展示了自动化技术的应用能力,而且提供了一个实用、智能化的解决方案。
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <DHT_U.h>
#include <LiquidCrystal_I2C.h>
#define DHTPIN 5
#define DHTTYPE DHT11
#define SOUND_PIN 3
#define LIGHT_PIN 4
#define BUTTON_PIN 1
DHT_Unified dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
pinMode(BUTTON_PIN, INPUT_PULLUP); // 设置按键引脚为输入模式,启用内部上拉电阻
Serial.begin(9600);
lcd.begin();
lcd.clear();
dht.begin();
pinMode(SOUND_PIN, INPUT);
pinMode(LIGHT_PIN, INPUT);
pinMode(BUTTON_PIN, INPUT_PULLUP);
}
void loop() {
sensors_event_t event;
dht.temperature().getEvent(&event);
float temperature = event.temperature;
dht.humidity().getEvent(&event);
float humidity = event.relative_humidity;
int soundValue = analogRead(SOUND_PIN);
int lightValue = analogRead(LIGHT_PIN);
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(temperature);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("Humidity: ");
lcd.print(humidity);
lcd.print(" %");
delay(2000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Sound: ");
lcd.print(soundValue);
lcd.setCursor(0, 1);
lcd.print("Light: ");
lcd.print(lightValue);
delay(2000);
if (digitalRead(BUTTON_PIN) == LOW) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Pause detection");
delay(2000);
}
}