본문 바로가기
모두의 아두이노 환경 센서/2장 미세먼지 측정 센서

SDS011 미세먼지 아두이노 센서 - LCD16X2 동작 확인

by 로니킴 2021. 5. 12.


본 절은 LCD16X2 아두이노 실드를 이용해 실시간으로 SDS011 미세먼지 센서의 측정값을 화면에 표시할 수 있다.  [모두의 아두이노 환경 센서] 책에서 설명하지 않았지만   LCD16X2 키패드 실드를 이용해 실시간으로 측정이 가능하고 센서 응용 동작을 구성할 수 있다. 

 

 

 

 


SDS011 아두이노 센서와 LCD16X2 쉴드

 

SDS011-아두이노-센서와-LCD16X2-쉴드-이미지
SDS011-아두이노-센서와-LCD16X2-쉴드-이미지


 

 

 



LCD16X2 아두이노 키패드실드

Arduino 호환 보드 용 LCD 키패드 실드이다. 아두이노 호환 보드 용 LCD 키패드 실드이다. 
HD44780 병렬 인터페이스 칩셋과 4 비트 Arduino LCD 라이브러리를 사용한 16 행 2 열의 흰색 문자와 파란색 백라이트의 LCD 디스플레이이다. 키패드 구성은 select, up, right, down, left로 되어 있다.

 

LCD16X2-아두이노-키패드실드-화면
LCD16X2-아두이노-키패드실드-화면

 

 


 

LCD 1602 Keypad shield 

LCD1602 keypad sheild 는 알리익스프레스, 네이버 쇼핑몰, 아마존 등에서 센서를 구입할 수 있다

 

LCD-1602-Keypad-shield 
LCD-1602-Keypad-shield 

특성 
운영 전압: 4.5-5.5V 
작동 현재: 2.0mA (5.0V) 
모듈 최고의 작동 전압: 5.0V

 

 

 

 

 


 

 



SDS011 LCD16X2 하드웨어 구성

다음과 같이 연결 한다. LCD키패드에 결합된 아두이노와 SDS011 센서를 연결한다. 

 

SDS011-LCD16X2-하드웨어-구성-이미지
SDS011-LCD16X2-하드웨어-구성-이미지

 

 

 

 


 

 

SDS011 LCD16X2 소프트웨어 코딩


sds011 센서를 사용하기 위해서는 SDS011 라이브러리를 설치해야 한다.  제일 아래에 있는 SDS011_by jo-seph 을 설치한다. 물론 다른 라이브러리를 설치해서 사용해도 된다. 헤더만 수정해서 사용할 수 있다. 

 

 

SDS011-라이브러리-설치
SDS011-라이브러리-설치

 

 

다음과 같이 소프트웨어 구조로 구성된다. 

SDS011-소프트웨어-구성
SDS011-소프트웨어-구성

 

 

다음과 같이 코딩한다.  

/*
  PPD42NS Sensor

   @ 2018.07.10
   @ author STEAMEDU123 <steamedu123@gmail.com>
*/
  
#include <LiquidCrystal.h>
#include <SDS011.h>

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

int rxPin = 3;
int txPin = 2;

float Pm10, Pm25;
int error;

SDS011 sds;

void setup() {
  lcd.begin(16, 2);
  sds.begin(rxPin, txPin);
}

void loop() {
  sds011_read();

  delay(100);
}


//------------------------------------------------------------------

void sds011_read() {
  error = sds.read(&Pm25, &Pm10);

  if (! error) {
    recalculateSensor();
    displayLCD();
  }
}

void recalculateSensor() {
  int offset = 5.6;

  Pm25 += offset;
  Pm10 += offset;
}
 

void displayLCD() {
  lcd.clear();

  lcd.setCursor(0, 0);
  if (Pm25 <= 15 || Pm10 <= 30)lcd.print("DUST: Good");
  else if (Pm25 <= 35 || Pm10 <= 80)lcd.print("DUST: Normal");
  else if (Pm25 <= 75 || Pm10 <= 150)lcd.print("DUST: Bad");
  else lcd.print("DUST: Very Bad");

  lcd.setCursor(0, 1);
  lcd.print("P2.5:");
  lcd.print(Pm25, 0);
  lcd.print(" P10:");
  lcd.print(Pm10, 0);
}

 

 

 

 



PPD42NS 아두이노 센서 동작 확인

[모두의 아두이노 환경 센서] 책에서 설명하지 않았지만, LCD16X2 아두이노 쉴드를 이용해 실시간으로 Shinyei PPD42NS 미세먼지 센서의 측정값을 화면에 표시할 수 있다. 

 

------------------------------------------------------ 
개발환경 : WINDOWS 10 
아두이노 IDE : 1.8.13 
------------------------------------------------------ 


01 *.ino 파일 실행 
 - 아두이노와 PC 연결 
 - 아두이노 IDE 실행 
 - 메뉴 → 툴 → 보드:아두이노 UNO 확인 
  - 메뉴 → 스케치 → 확인/컴파일 



02 컴파일 확인 

스케치>확인/컴파일(CTRL+R) 를 선택해서 컴파일을 진행한다.

SDS011-컴파일-화면
SDS011-컴파일-화면

 

03 아두이노 우노 업로드 

컴파일이 이상없이 완료되면 스케치>업로드(CTRL+U) 를 선택해서 컴파일 파일을 업로드 한다. 


04 동작 확인

다음과 같이 동작을 확인할 수 있다.

 

 

 

 

 

 

 

 

 

 


+ 이 글도 읽어보세요. 

 

 

 

 


 

모두의 아두이노 환경 센서 책

[모두의 아두이노 환경 센서] 책은 예스24, 인터넷 교보문고, 알라딘, 영풍문고, 반디 앤 루니스 등에서 구입할 수 있다. 이 책에서는 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