[모듈] 6장. 아두이노 미세먼지 센서 LED LCD 출력하기 페이스북 트위터 카카오톡 
작성자 관리자 등록일 2021-02-22 10:58:28 조회수 56

저번 시간에는 미세먼지 센서 사용법에 대해 알아보았는데요. 


이때는 시리얼 모니터로만 확인이 가능해서 컴퓨터가 없으면 안 됐었습니다.



그래서 오늘은 미세먼지 센서에 I2C LCD + RGB LED 을 


이용해 눈으로 쉽게!! 볼 수 있도록 해보겠습니다.




미세먼지 농도를 LCD , LED 로 확인하기


준비물


RGB LED 모듈 


I2C LCD 모듈


Arduino UNO


PPD42NS 먼지센서 모듈




PPD42NS 먼지센서 모듈과  RGB LED , I2C LCD 모듈을 연결해주세요


그 다음 소스를 업로드 해주시면 됩니다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
 
#define BLUE 9      // RGB LED Module
#define GREEN 10
#define RED 11
 
LiquidCrystal_I2C lcd(0x27162); // I2C LCD 주소값 확인
 
 
int DustPin = 8;    //먼지 센서 
unsigned long duration;
unsigned long starttime;
unsigned long sampletime_ms = 30000;
unsigned long lowpulseoccupancy = 0;
float ratio = 0;
float concentration = 0;
float ugm3 = 0;
 
int redValue = 0;     //RGB LED
int greenValue = 0;
int blueValue = 0;
 
void setup() {
  Serial.begin(9600);
 
  pinMode(DustPin ,INPUT);      // 먼지센서
  starttime = millis();
  
  lcd.init();                   // LCD
  lcd.backlight();
  lcd.setCursor(0,0);           //
  lcd.print("  Dust Density "); 
 
  pinMode(RED, OUTPUT);         // RGB LED
  pinMode(GREEN, OUTPUT);
  pinMode(BLUE, OUTPUT);
  digitalWrite(RED, LOW);
  digitalWrite(GREEN, LOW);
  digitalWrite(BLUE, HIGH);
}
 
void loop() {
  
  redValue = 0
  greenValue = 0;
  blueValue = 0;
 
  duration = pulseIn(DustPin , LOW);
  lowpulseoccupancy = lowpulseoccupancy+duration;
 
  if ((millis()-starttime) > sampletime_ms)
  {
    ratio = lowpulseoccupancy/(sampletime_ms*10.0);  // Integer percentage 0=>100
    concentration = 1.1*pow(ratio,3)-3.8*pow(ratio,2)+520*ratio+0.62// using spec sheet curve
    ugm3= concentration * 100 /13000;
    
    Serial.print("ugm3 = " ); //미세먼지 시리얼모니터
    Serial.print(ugm3);
    Serial.println("ug/m3" );
    
    lcd.setCursor(0,1);       //미세먼지 LCD 출력
    lcd.print("  ");
    lcd.print(ugm3);
    lcd.print(" ug/m3  ");
 
    if(ugm3<30)  //각 수치에 따른 LED 색상 
    {
      greenValue = 20;
      blueValue = 255;
      redValue = 0
      analogWrite(GREEN, greenValue);
      analogWrite(BLUE, blueValue);
      analogWrite(RED, redValue);
    }
      else if(ugm3<80)
      {
        greenValue = 255;
        blueValue = 20;
        redValue = 0
        analogWrite(GREEN, greenValue);
        analogWrite(BLUE, blueValue);
        analogWrite(RED, redValue);
        
      }
        else if(ugm3<150)
        {
          redValue = 250
          greenValue = 60;
          blueValue = 0;
          analogWrite(RED, redValue);
          analogWrite(GREEN, greenValue);
          analogWrite(BLUE, blueValue);
        }
            else if(ugm3>150)
          {
            redValue = 220;     
            greenValue = 0;
            blueValue = 0;
            analogWrite(RED, redValue);
            analogWrite(GREEN, greenValue);
            analogWrite(BLUE, blueValue);  
          }
     
    lowpulseoccupancy = 0;
    starttime = millis();
  }
}
cs


이제 시리얼모니터로 보지 않아도

LCD와 LED를 통해서 미세먼지 값을 볼 수 있습니다.















    


    




아두이노 예제 lcd i2c 캐릭터 character 먼지 미세먼지 미먼 ppd42ns 센서 sensor rgb green red blue 모듈 rgb모듈 arduino 아두이노예제 코딩 code coding 인투피온 intopion


다음글 7장. 아두이노 블루투스 HC-06 관리자 2021-02-22 11:56
이전글 5장. 아두이노 RGB LED 모듈 사용방법 관리자 2021-02-18 16:54
댓글(0)
로그인 또는 댓글권한이 있을 경우 등록하실 수 있습니다.

비밀번호 확인

댓글 등록시에 입력했던 비밀번호를 입력해 주세요.

비밀번호 확인

게시글 등록시에 입력했던 비밀번호를 입력해 주세요.

비밀번호 확인

댓글/답글 등록시에 입력했던 비밀번호를 입력해 주세요.

CS CENTER

1644 - 4457

CUSTOMER SERVICE

주문/배송문의 쇼핑문의 이용안내 제품문의 1:1문의 자주하는질문

BANK INFO

신한은행 140 011 044291 예금주 (주)인투피온 소영삼
  • 회사소개 개인정보처리방침 이용약관 입점안내 광고안내 아이디/비밀번호찾기
  • 통장사본 파일다운 회사소개서 다운

(주)인투피온

대표:소영삼 사업자등록번호:113-86-29364 [사업자정보확인] 통신판매신고:2015-서울구로-1028

본사 : 서울 구로구 경인로 53길 90 STX W-Tower 1307호

매장 : 서울 구로구 경인로 53길 15 중앙유통단지 가동 3101호

전화번호 :1644-4457 팩스번호: 02-6124-4242 이메일: info@intopion.com / Hosting Provider : ㈜가비아씨엔에

개인정보관리책임자 : 이성민

회원님의 소중한 개인정보 보호를 위해 비밀번호를 주기적으로 변경하시는 것이 좋습니다.
현재 비밀번호
신규 비밀번호
신규 비밀번호 확인
6~20자, 영문 대소문자 또는 숫자 특수문자 중 2가지 이상 조합