본 절은 [DSM501A] 아두이노 센서를 사용하기 위해 알아야 할 내용과 실습 방법에 대해 설명한다. 아두이노 센서의 특징, 동작원리, 사양, 연결 핀 배열, 출력 값, 주의사항을 알아본다. 아두이노와 센서를 연결하고, 간단한 코딩으로 센서를 쉽게 실습할 수 있다.
목차
DSM501A 아두이노 미세먼지 센서 (LCD16X2 키패드실드)
DSM501A 센서란?
DSM501A 센서 먼지 센서 모듈은 미세먼지를 측정할 수 있다. 저비용, 소형 크기다.
다음은 센서의 데이터시트 파일이다.
DSM501A 아두이노 센서 특징
DSM501A 센서의 특징은 다음과 같다.
- 공급 전압 : DC5V ± 10 %
- 소비 전력 : 90mA
- 작동 온도 범위 : -10 ~ + 65 ℃
- 사용 습도 범위 : 95 % RH 이하 (결로가 없을 것)
- 권장 보관 조건 : -20 ~ + 80 ℃
- 치수 : W59 * H45 * D20 (mm)
- 검출 가능한 입자 크기 : 약. 1㎛ (최소)
- 검출 가능한 농도 범위 : 0 ~ 1.4㎎ / ㎥
- 출력 신호 : PWM (펄스 폭 변조)
- 안정화 시간 : 전원을 켠 후 1 분
- 센서 특성 : 상한값과 표준 먼지 센서 장치의 하한
DSM501A 먼지 센서 모듈 유형
- DSM501A : 2mm 피치 커넥터 타입 (20010WR-05).
- DSM501B : 2.5mm 피치 커넥터 유형 (S5B-EH).
DSM501A 센서 동작 원리
DSM501 시리즈는 실내 공기 중의 먼지, 입자 및 꽃가루 수준을 감지하며 독립형 공기 청정기 또는 IAQ 모니터에 사용하기할 수 있다. 센서의 PWM 출력을 μ-com에 직접 연결하여 팬 속도 또는 환기를 제어하고 입자 수준을 표시 할 수도 있다. 검출 가능한 입자 크기는 최소 0.7μm로 제한되며 연기 또는 화재 경보기의 적용은 금지된다.
센서는 미세먼지 입자 계수기의 원리로 정량 입자 (> 1 마이크론) 측정에 사용되며 담배 연기 및 꽃가루, 집 먼지를 감지 할 수 있다. 이 센서는 발광 다이오드 램프, 감지기, 신호 증폭기 회로 및 히터로 구성되어 공기 청정기 나 공기 청정기 등의 용도로 사용이 가능하다. 센서의 PWM 출력으로 사용자가 쉽게 사용할 수 있다.
DSM501A 센서 구입하기
[DSM501A 센서]는 알리익스프레스, 네이버 쇼핑몰, 아마존 등에서 센서를 구입할 수 있다
DSM501A 센서 하드웨어 연결
다음과 같이 DSM501A 아두이노 센서를 연결할 수 있다.
DSM501A 센서 소프트웨어 코딩
하드웨어 연결이 완료되면, 아두이노 IDE를 이용해 아두이노 센서 소스코드를 코딩할 수 있다.
센서 코드는 다음과 같다.
/*
DSM501A
@ 모두의 아두이노 환경 센서 (Arduino Sensors for Everyone)
https://book.naver.com/bookdb/book_detail.nhn?bid=18030644
@ author STEAMEDU123 <steamedu123@gmail.com>
*/
#include<string.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
byte buff[11];
uint32_t duration;
uint32_t starttime;
uint32_t endtime;
uint32_t sampletime_ms = 30000;
uint32_t lowpulseoccupancy = 0;
float ratio = 0;
long concentration = 0;
float pcsPerCF = 0;
float ugm3 = 0;
int i = 0;
int pin = 3;
void setup()
{
lcd.begin(16, 2);
lcd.clear();
initDsm501A();
}
void loop()
{
dsm501A_read();
delay(1000);
}
void initDsm501A() {
pinMode(pin, INPUT);
starttime = millis();
}
void dsm501A_read() {
duration = pulseIn(pin, LOW);
lowpulseoccupancy += duration;
endtime = millis();
if ((endtime - starttime) >= sampletime_ms)
{
ratio = lowpulseoccupancy / (sampletime_ms * 10.0);
concentration = 1.1 * pow(ratio, 3) - 3.8 * pow(ratio, 2) + 520 * ratio + 0.62;
pcsPerCF = concentration * 100;
ugm3 += pcsPerCF / 1300;
lowpulseoccupancy = 0;
starttime = millis();
}
display_LCD(concentration);
}
void display_LCD(float concentration) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("DSM501A");
if ( concentration == 0) {
lcd.setCursor(0, 1);
lcd.print("Analyzing ....");
delay(100);
} else {
lcd.setCursor(0, 1);
lcd.print("DUST: ");
lcd.print(ugm3, 0);
lcd.print("ug/m3");
}
}
소스 코드의 구조는 다음과 같다.
DSM501A 센서 동작확인
하드웨어 연결, 소프트웨어 코딩이 완료되면 다음과 같이 동작 화면을 확인할 수 있다.
------------------------------------------------------
개발환경 : WINDOWS 10
아두이노 IDE : 1.8.13
------------------------------------------------------
01 연결
- 아두이노와 PC 연결
- 아두이노 IDE 실행
- 메뉴 → 툴 → 보드:아두이노 UNO 확인
- 메뉴 → 스케치 → 확인/컴파일
02 컴파일 확인
스케치>확인/컴파일(CTRL+R) 를 선택해서 컴파일을 진행한다.
03 아두이노 우노 업로드
컴파일이 이상없이 완료되면 스케치>업로드(CTRL+U) 를 선택해서 컴파일 파일을 업로드 한다.
04 동작 확인
다음과 같이 동작을 확인할 수 있다.
마무리
아두이노와 DSM501A 센서를 연결하고, 간단한 코딩으로 센서를 쉽게 실습할 수 있다.
- 저렴하고 컴팩트한 크기의 센서로 입자(1 마이크론 이상 크기)의 양을 측정하는 방식으로 먼지를 측정
- 담배연기나, 집안 먼지 등을 센싱
- 센서는 LED 다이오드와, 디텍터, 신호 앰프 회로, 히터 등으로 구성되어 있으며, 공기 품질 관리 등의 어플리케이션사용이 가능
- 센서는 PWM을 출력
모두의 아두이노 환경 센서 책
[모두의 아두이노 환경 센서] 책은 예스24, 인터넷 교보문고, 알라딘, 인터파크도서, 영풍문고, 반디앤루니스 , 도서11번가 등에서 구입할 수 있다. 이 책에서는 PMS7003, GP2Y1010AU0F, PPD42NS, SDS011 미세먼지 센서, DHT22 온습도 센서, MH-Z19B 이산화탄소 센서, ZE08-CH2O 포름알데히드 센서, CCS811 총휘발성유기화합물 TVOC, GDK101 방사선(감마선) 센서, MQ-131 오존(O3) 센서, MQ-7 일산화탄소, MICS-4514 이산화질소 센서, MICS-6814 암모니아 센서, DGS-SO2 아황산가스(SO2) 센서, BME280 기압 센서, GUVA-S12SD 자외선(UV) 센서, MD0550 기류 센서, QS-FS01 풍속 센서(Wind speed) 를 사용한다.
'모두의 아두이노 센서 > 아두이노 센서 (공기)' 카테고리의 다른 글
MQ2 아두이노 가스 센서 (LCD16X2 키패드실드) (0) | 2021.05.26 |
---|---|
MQ135 아두이노 대기오염 센서 (LCD16X2 키패드실드) (0) | 2021.05.26 |
HTU21D 아두이노 온도 습도 센서 (LCD16X2 키패드실드) (0) | 2021.05.25 |
DHT11 아두이노 온도 습도 센서 (LCD16X2 I2C) (0) | 2021.05.25 |
DHT11 아두이노 온도 습도 센서 (0) | 2021.05.25 |
KY-028 아두이노 온도 센서 (LCD16X2 키패드실드) (0) | 2021.05.25 |
KY-013 아두이노 온도 센서 (LCD16X2 키패드실드) (0) | 2021.05.25 |
댓글