ENS160和AHT21是强大的传感器,通常将其配对以用于环境监测项目。 ENS160是一种数字空气质量传感器,而AHT21测量温度和湿度。他们可以一起监视室内空气质量和气候条件。在本教程中,我们将向您展示如何与Arduino一起使用ENS160和AHT21。
你需要什么
- ENS160空气质量传感器
- AHT21温度和湿度传感器
- Arduino董事会(例如Uno,Mega,Nano)
- 面包板
- 跳线
- 安装了带有Arduino IDE的计算机
步骤1:了解ENS160和AHT21传感器
ENS160 PINOUT
别针 | 功能 |
---|---|
VCC | 电源(3.3V/5V) |
gnd | 地面 |
SDA | I2C数据线 |
SCL | I2C时钟线 |
AHT21 PINOUT
别针 | 功能 |
---|---|
VCC | 电源(3.3V/5V) |
gnd | 地面 |
SDA | I2C数据线 |
SCL | I2C时钟线 |
两个传感器通过I2C接口进行通信,并且可以共享相同的I2C总线。
步骤2:将传感器接线到Arduino
这是将两个传感器连接到Arduino Uno的方法:
ENS160针 | AHT21 PIN | Arduino Pin |
---|---|---|
VCC | VCC | 5V |
gnd | gnd | gnd |
SDA | SDA | A4 |
SCL | SCL | A5 |
步骤3:安装所需的库
为了简化与这些传感器的交互,您需要以下库:
- Adafruit ENS160库
- ADAFRUIT AHTX0库
安装步骤:
- 打开Arduino IDE。
- 去 草图 > 包括库 > 管理库.
- 搜索“ Adafruit Ens160”,然后单击 安装.
- 搜索“ Adafruit AHTX0”,然后单击 安装.
步骤4:上传代码
这是一个示例草图,可以读取两个传感器的数据:
#include <Wire.h>
#include <Adafruit_ENS160.h>
#include <Adafruit_AHTX0.h>
Adafruit_ENS160 ens160;
Adafruit_AHTX0 aht;
void setup() {
Serial.begin(9600);
Wire.begin();
// Initialize ENS160
if (!ens160.begin()) {
Serial.println("ENS160 not found. Check connections.");
while (1);
}
Serial.println("ENS160 initialized.");
// Initialize AHT21
if (!aht.begin()) {
Serial.println("AHT21 not found. Check connections.");
while (1);
}
Serial.println("AHT21 initialized.");
}
void loop() {
// Read temperature and humidity from AHT21
sensors_event_t humidity, temp;
aht.getEvent(&humidity, &temp);
Serial.print("Temperature: ");
Serial.print(temp.temperature);
Serial.println(" °C");
Serial.print("Humidity: ");
Serial.print(humidity.relative_humidity);
Serial.println(" %");
// Read air quality data from ENS160
ens160.setTempAndHumidity(temp.temperature, humidity.relative_humidity); // Provide environmental data
Serial.print("AQI (Air Quality Index): ");
Serial.println(ens160.getAQI());
delay(2000); // Wait 2 seconds before next reading
}
步骤5:测试设置
- 通过USB将Arduino连接到您的计算机。
- 打开Arduino IDE并选择正确的 木板 和 港口 在 工具 菜单。
- 单击将代码上传到Arduino 上传.
- 打开串行监视器(工具 > 串行监视器)并将波特率设置为
9600
. - 您应该看到每2秒显示一次温度,湿度和空气质量读数。
故障排除
- 传感器未检测到: 仔细检查接线并确保正确连接SDA/SCL线。
- 没有阅读: 确保这两个传感器的I2C地址不会发生冲突。如果需要,请使用I2C扫描仪。
- 不稳定的值: 在初始化过程中,使传感器远离极端条件或突然的环境变化。
ENS160 + AHT21的应用
- 室内空气质量监测系统
- 智能恒温器
- 物联网项目的环境数据记录
- 空气净化系统
结论
您已成功将ENS160空气质量传感器和AHT21温度和湿度传感器与Arduino联系起来。这些传感器共同努力,提供全面的环境监控,使其非常适合智能家庭或物联网应用程序。尝试数据以构建您自己的环境项目!