반응형
비교적 저렴하고 성능이 좋은 미세먼지 센서는 PMSX003 (PMS5003, PMS7003)가 있다. 샤오미 공기청정기 역시 동일한 센서를 사용한다고 알고 있는데 1~2만원대의 가격으로 꽤 준수한 측정 성능을 보여준다.
국내에서 구입하는 것보다 알리가 좀 더 저렴한 듯싶다.
반응형
다만 로직 레벨이 3.3V이기 때문에 일반적인 아두이노에서 사용하기 어렵다. 따라서 nodemcu를 이용해 센서의 값을 읽는 것이 더 편하다. 그리고 이러한 센서는 대부분 IOT 기기 구축을 위해 많이 사용하기 때문에 WIFI가 내장된 nodemcu와 궁합이 좋다. 연결 방법은 아래 그림을 참고하자.
필자의 경우 그림의 RSV 핀이 각각 G (GND), VU (5V 출력)이므로 혹시 다른 버전의 nodemcu를 가지고 있는 경우 참고하면 된다. 코드는 다음과 같다.
#include <SoftwareSerial.h>
SoftwareSerial mySerial(5, 4);
unsigned char pms[32];
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(115200);
mySerial.begin(9600);
}
void loop() {
if(mySerial.available()>=32){
for(int j=0; j < 32; j++){
pms[j] = mySerial.read();
}
int PM1_0 = (pms[10] << 8) | pms[11];
int PM2_5 = (pms[12] << 8) | pms[13];
int PM10 = (pms[14] << 8) | pms[15];
Serial.printf("PM1.0 : %d, PM2.5 : %d, PM10 : %d \r\n", PM1_0, PM2_5,PM10);
}
}
코드를 업로드한 뒤 시리얼 모니터를 확인해보면 정상적으로 PM1.0, PM2.5, PM10이 측정되는 것을 확인할 수 있다.
조만간 OLED 모니터를 장착하여 휴대용 미세먼지 측정기를 만들어볼 계획이다.
반응형
'아두이노' 카테고리의 다른 글
NodeMCU와 PMS5003 센서로 미세먼지 측정하기 (0) | 2022.12.04 |
---|---|
Blynk와 아두이노에서 미세먼지센서 사용하기 (3) | 2018.12.27 |
Blynk와 아두이노로 온습도 표시하기 (0) | 2018.12.26 |
아두이노에서 Wii 눈차크 사용하기 [Wii Nunchuck] (0) | 2018.11.10 |
아두이노 스케치에서 package_index.json 파일 서명확인 실패 오류가 발생하는 경우 해결법 (아두이노 보드 매니저 오류) (2) | 2018.09.07 |