// 引入所需库 #include <Wire.h> #include <Adafruit_Sensor.h> #include <Adafruit_BME280.h>

// 定义芯片所需直流电源引脚和开关引脚 const int VCC_PIN = 3; const int SWITCH_PIN = 4;

// 定义环境传感器引脚和实例 const int LIGHT_SENSOR_PIN = A0; Adafruit_BME280 bme;

// 定义照明和风扇引脚 const int LIGHT_PIN = 5; const int FAN_PIN = 6;

// 定义环境参数阈值和实例 float light_threshold = 500; float temp_threshold = 25; float humidity_threshold = 50; float light_value, temp_value, humidity_value;

void setup() { // 初始化串口 Serial.begin(9600);

// 初始化电源和开关引脚 pinMode(VCC_PIN, OUTPUT); pinMode(SWITCH_PIN, INPUT);

// 初始化环境传感器 bme.begin(0x76);

// 初始化照明和风扇引脚 pinMode(LIGHT_PIN, OUTPUT); pinMode(FAN_PIN, OUTPUT); }

void loop() { // 打开电源 digitalWrite(VCC_PIN, HIGH);

// 检测开关状态,控制通断 if (digitalRead(SWITCH_PIN) == HIGH) { // 获取环境亮度、温度和湿度值 light_value = analogRead(LIGHT_SENSOR_PIN); temp_value = bme.readTemperature(); humidity_value = bme.readHumidity();

// 显示环境参数值
Serial.print('Light: ');
Serial.print(light_value);
Serial.print(' lux, Temp: ');
Serial.print(temp_value);
Serial.print(' *C, Humidity: ');
Serial.print(humidity_value);
Serial.println(' %');

// 检测环境参数是否超过阈值
if (light_value > light_threshold) {
  digitalWrite(LIGHT_PIN, HIGH);
} else {
  digitalWrite(LIGHT_PIN, LOW);
}
if (temp_value > temp_threshold || humidity_value > humidity_threshold) {
  digitalWrite(FAN_PIN, HIGH);
} else {
  digitalWrite(FAN_PIN, LOW);
}

}

// 关闭电源 digitalWrite(VCC_PIN, LOW);

// 延迟一段时间 delay(1000); }

// 代码功能说明: // 1. 初始化:引入所需库,定义引脚和实例,初始化串口、电源、开关、传感器和执行器。 // 2. 主循环:打开电源,检测开关状态,获取环境参数,显示参数值,根据阈值控制照明和风扇,关闭电源,延迟一段时间。

Arduino 代码:电池供电环境监测与控制系统

原文地址: http://www.cveoy.top/t/topic/oN2n 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录