반응형
알리익스프레스
- 구입가: ₩6,693
- 배송: 초이스 무료. 4일 만에 도착.
상품페이지
https://s.click.aliexpress.com/e/_op7j1mJ
이 모듈의 특징은 두 가지의 센서가 하나의 PCB에 붙어있습니다.
I2C 핀연결
ENS160+AHT21 | ESP32 |
VIN | 5V |
3V3 | 3V3 |
GND | GND |
SCL | 22 |
SDA | 21 |
ADD | x |
CS | x |
INT | x |
전원은 5V, 3.3V 두 가지 모두 가능하며 3.3V에서도 정상 동작 합니다.
ADD는 I2C 주소 설정이며 High일 때 0x53이며, Low일 때 0x52입니다.
Arduino IDE
- ENS160 - Adafruit Fork 라이브러리를 설치합니다.
- Adafruit_AHTX0 라이브러리를 설치합니다.
예제를 참고하여 코딩을 합니다.
Arduino 코드
#include <Wire.h>
#include "ScioSense_ENS160.h"
ScioSense_ENS160 ens160(0x53);
#include <Adafruit_AHTX0.h>
Adafruit_AHTX0 aht;
void setup() {
Serial.begin(115200);
Serial.print("ENS160...");
ens160.begin();
Serial.println(ens160.available() ? "done." : "failed!");
if (ens160.available()) {
Serial.print("\tRev: "); Serial.print(ens160.getMajorRev());
Serial.print("."); Serial.print(ens160.getMinorRev());
Serial.print("."); Serial.println(ens160.getBuild());
Serial.print("\tStandard mode ");
Serial.println(ens160.setMode(ENS160_OPMODE_STD) ? "done." : "failed!");
}
aht.begin();
}
void loop() {
static unsigned long i2c_start = millis();
if (millis() - i2c_start > 1000) {
sensors_event_t humidity, temp;
aht.getEvent(&humidity, &temp);
Serial.print("Temperature: ");
Serial.print(temp.temperature);
Serial.println(" ℃");
Serial.print("Humidity: ");
Serial.print(humidity.relative_humidity);
Serial.println("% rH");
if (ens160.available()) {
ens160.set_envdata(temp.temperature, humidity.relative_humidity);
ens160.measure(true);
ens160.measureRaw(true);
Serial.print("AQI: ");
Serial.print(ens160.getAQI());
Serial.print("\t");
Serial.print("TVOC: ");
Serial.print(ens160.getTVOC());
Serial.print("ppb\t");
Serial.print("eCO2: ");
Serial.print(ens160.geteCO2());
Serial.println("ppm\t");
Serial.println();
}
i2c_start = millis();
}
}
AHT21 센서로 온습도를 구한다음 ENS160 센서로 공기질을 측정하는 방식입니다.
열화상
센서 두 개가 같은 모듈에 있으면 단순해지고 편할 것이라 믿으면 오산.
제조사마다 AHT21 센서 주위에 PCB 커팅을 하는 이유는 열방해로 측정 온도값이 틀어지기 때문입니다. 그런데도 AHT21 센서에 영향을 줍니다.
열화상 카메라로 살펴보면 ENS160 센서 주위에서 30도를 넘는 열이 측정됩니다. 왼쪽의 TR에서도 훨씬 더 높은 열이 측정됩니다. 가능하면 전원 입력에 3.3V를 사용하는 것이 좋습니다.
기판에는 GND Zone이 채워져있습니다. 센서에는 구리 패턴이 연결됩니다. 구리는 열전도율이 매우 높기 때문에 패턴을 따라 열이 전달됩니다. 통신 측정값을 보면 정밀 디지털, 아날로그 온도계보다 약 +2~3℃ 더 높게 측정됩니다. 온도 센서만 내장된 BMP280 모듈의 측정값보다 +1 ℃ 더 측정되었습니다.
이런 모듈은 프로그래밍을 위한 개발 목적으로만 사용해야 합니다.
대한민국 실시간 공기질 지수
대한민국의 공기질 지수 (AQI) 및 공해 정보 | IQAir
반응형