본문 바로가기
모두의 아두이노 센서/아두이노 센서 (공기)

DSM501A 아두이노 미세먼지 센서 (LCD16X2 키패드실드)

by 로니킴 2021. 5. 26.


본 절은 [DSM501A] 아두이노 센서를 사용하기 위해 알아야 할 내용과 실습 방법에 대해 설명한다. 아두이노 센서의 특징, 동작원리, 사양, 연결 핀 배열, 출력 값, 주의사항을 알아본다. 아두이노와 센서를 연결하고, 간단한 코딩으로 센서를 쉽게 실습할 수 있다. 

 

목차

     

     

     


    DSM501A 아두이노 미세먼지 센서 (LCD16X2 키패드실드) 

     

     

     

     

     

     

     


    DSM501A 센서란?

    DSM501A 센서 먼지 센서 모듈은 미세먼지를 측정할 수 있다. 저비용, 소형 크기다. 

     

     

     

    다음은 센서의 데이터시트 파일이다. 

    DSM501A_Dust_Sensor.pdf
    0.47MB


     

    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) 를 사용한다.  

     

    모두의 아두이노 환경 센서

    아두이노와 센서로 내 건강을 지킬 수 있다!다양한 환경 센서를 실생활 프로젝트에 응용해보자!시중에 판매되고 있는 간이측정기도 센서로 값을 측정합니다. 똑같은 센서를 아두이노에 연결하

    book.naver.com

     

     

     

     



    댓글