에듀이노-아두이노 전문 교육쇼핑몰 에듀이노-코딩교육 전문 쇼핑몰
뒤로가기

묻고답하기

제목

아두이노 미세먼지 키트 관련

작성자 박지우(ip:)

작성일 2020-06-19

조회 25

평점 0점  

추천 추천하기

내용

#include <Wire.h>

#include <LiquidCrystal_I2C.h>

#include <DHT.h>

#define DHTPIN A1

#define DHTTYPE DHT11

DHT dht(DHTPIN, DHTTYPE);


int dust_sensor = A0;


int rgb_red = 5;

int rgb_green = 6;

int rgb_blue = 7;


float dust_value = 0;

float dustDensityug = 0;


int sensor_led = 12;

int sampling = 280;

int waiting = 40;

float stop_time = 9680;


double five_dust[5] = {0};

double recent_dust = 0, total_dust = 0;


LiquidCrystal_I2C lcd(0x27,16,2);


byte humi[8] = {

  0b00000,

  0b10001,

  0b10001,

  0b10001,

  0b11111,

  0b11111,

  0b11111,

  0b11111,

};

byte temp[8] = {

  0b00100,

  0b01010,

  0b01010,

  0b01010,

  0b01010,

  0b10001,

  0b11111,

  0b01110,

};

byte char_temp[8] = {

  0b10000,

  0b00110,

  0b01001,

  0b01000,

  0b01000,

  0b01000,

  0b01001,

  0b00110,

};


void setup(){

  lcd.init();

  lcd.backlight();

  lcd.createChar(1, temp);

  lcd.createChar(2, humi);

  lcd.createChar(3, char_temp);

  pinMode(sensor_led, OUTPUT);

  pinMode(4, OUTPUT);


  pinMode(rgb_red, OUTPUT);

  pinMode(rgb_green, OUTPUT);

  pinMode(rgb_blue, OUTPUT);


  Serial.begin(9600);

}


void loop(){

  digitalWrite(sensor_led, LOW);

  delayMicroseconds(sampling);


  int count=0;

  dust_value = analogRead(dust_sensor);


  delayMicroseconds(waiting);


  digitalWrite(sensor_led, HIGH);

  delayMicroseconds(stop_time);


  recent_dust = (0.17 * (dust_value * (5.0 / 1024)) - 0.1)*1000;

  five_dust[4] = recent_dust;

  total_dust = five_dust[4];


  for(int i=0; i<4; i+1)

  {

    total_dust += five_dust[i];

    five_dust[i] = five_dust[i+1];

  }


    if(five_dust[0] !=0)

    {

      dustDensityug = total_dust / 5;

      Serial.print("Dust Density [ug/m^3]: ");

      Serial.println(dustDensityug);

    }


    int humi = dht.readHumidity();

    int temp = dht.readTemperature();

   

   Serial.print("humidity:");

   Serial.print(humi);

   Serial.print("/t temperature:");

   Serial.println(temp);


  Serial.println();


  lcd.setCursor(0,0);

  lcd.write(byte(1));

  lcd.setCursor(2,0);

  lcd.print((int)temp);

  lcd.setCursor(5,0);

  lcd.write(byte(3));


  lcd.setCursor(8,0);

  lcd.write(byte(2));

  lcd.setCursor(10,0);

  lcd.print(humi);

  lcd.setCursor(13,0);

  lcd.print("%");


  lcd.setCursor(0,1);

  lcd.print("F.Dust");

  lcd.setCursor(7,1);

  lcd.print(dustDensityug);

  lcd.setCursor(11,1);

  lcd.print("ug/m3");


if(dustDensityug <=30.0)

  light(0, 0, 255);

else if(30.0 < dustDensityug && dustDensityug <= 80.0)

  light(0, 255, 0);

else if(80.0 < dustDensityug && dustDensityug <= 150.0)  

  light(255, 80, 1);

else

  light(255, 0, 0);


  delay(1000);

  }


  void light(int a, int b, int c){

    analogWrite(rgb_red, a);

    analogWrite(rgb_green, b);

    analogWrite(rgb_blue, c);

  }

 

해당코드로 돌렸는데 lcd판에 아무것도안나오고...for문을 지워보니 lcd판에뜨긴하는데 값이출력안되고..


방법좀요..

첨부파일

비밀번호
수정

비밀번호 입력후 수정 혹은 삭제해주세요.

댓글목록

등록된 댓글이 없습니다.

댓글 수정

이름

비밀번호

내용

/ byte

수정 취소

비밀번호 :

확인 취소

댓글 입력

이름

비밀번호

내용

/ byte

평점

왼쪽의 문자를 공백없이 입력하세요.

에게만 댓글 작성 권한이 있습니다.

댓글 입력

이름

비밀번호

내용

/ byte

왼쪽의 문자를 공백없이 입력하세요.

에게만 댓글 작성 권한이 있습니다.

관련 글 보기

고객센터

    1670-9626

  • 팩스.063-902-6678
  • 이메일.eduino@robodyne.co.kr
  • Kakao. 에듀이노
  • 운영시간 : AM 10:00 ~ PM 16:30
  • 점심시간 : PM 12:00 - PM 13:00 토/일/공휴일 휴무
  • 고객센터 연결하기
입금계좌
  • 예금주: (주)로보다인시스템
  • 국민. 754801-01-760296
  • 농협. 301-0234-1423-01
  • IBK기업은행. 506-080015-01-016
배송 안내
  • 배송 방법 : 택배
  • 배송 지역 : 전국지역
  • 배송 비용 : 조건부 무료 : 주문 금액 100,000원 미만일 때 배송비 3,000원을 추가합니다.
  • 배송 기간 : 1일 ~ 2일
  • 배송 안내 :
    - 제주도, 산간벽지나 도서지방은 별도의 추가금액을 지불하셔야 하는 경우가 있습니다.
    고객님께서 주문하신 상품은 입금 확인후 배송해 드립니다. 다만, 상품종류에 따라서 상품의 배송이 다소 지연될 수 있습니다.
교환/반품 안내
교환 및 반품이 가능한 경우
- 상품을 공급 받으신 날로부터 7일이내 단, 가전제품의
  경우 포장을 개봉하였거나 포장이 훼손되어 상품가치가 상실된 경우에는 교환/반품이 불가능합니다.
- 공급받으신 상품 및 용역의 내용이 표시.광고 내용과
  다르거나 다르게 이행된 경우에는 공급받은 날로부터 3월이내, 그사실을 알게 된 날로부터 30일이내

교환 및 반품이 불가능한 경우
- 고객님의 책임 있는 사유로 상품등이 멸실 또는 훼손된 경우. 단, 상품의 내용을 확인하기 위하여
  포장 등을 훼손한 경우는 제외
- 포장을 개봉하였거나 포장이 훼손되어 상품가치가 상실된 경우
  (예 : 가전제품, 식품, 음반 등, 단 액정화면이 부착된 노트북, LCD모니터, 디지털 카메라 등의 불량화소에
  따른 반품/교환은 제조사 기준에 따릅니다.)
- 고객님의 사용 또는 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우 단, 화장품등의 경우 시용제품을
  제공한 경우에 한 합니다.
- 시간의 경과에 의하여 재판매가 곤란할 정도로 상품등의 가치가 현저히 감소한 경우
- 복제가 가능한 상품등의 포장을 훼손한 경우
  (자세한 내용은 고객만족센터 1:1 E-MAIL상담을 이용해 주시기 바랍니다.)

※ 고객님의 마음이 바뀌어 교환, 반품을 하실 경우 상품반송 비용은 고객님께서 부담하셔야 합니다.
  (색상 교환, 사이즈 교환 등 포함)
«
»