BASIC4MCU | 질문게시판 | 부탁드립니다
페이지 정보
작성자 푸린 작성일2018-06-18 11:50 조회9,770회 댓글2건본문
마스터님 이거 전에 질문했던 온도습도 LCD출력 알려주신대로 했는데 이런오류가 떠서 문의 드립니다..
sketch_jun18b.ino:4:17: fatal error: DHT.h: No such file or directory
compilation terminated.
컴파일 오류 발생.
#include <Servo.h> // 서보모터를 위한 라이브러리
#include <Wire.h> // i2C 통신을 위한 라이브러리
#include <LiquidCrystal_I2C.h> // LCD 1602 I2C용 라이브러리
#include "DHT.h"
#define DHTPIN 8 // DHT11이 연결된 핀
#define DHTTYPE DHT11 // DHT 11,DHT시리즈중 11을 선택합니다.
DHT dht(DHTPIN,DHTTYPE);
LiquidCrystal_I2C lcd(0x3F,16,2); // 접근주소: 0x3F or 0x27
Servo servo;int servoPin=9; //서보모터 핀 번호
int dust_sensor = A0; // 미세먼지 핀 번호
int rgb_red = 5; // rgb 핀 빨간색 핀
int rgb_green = 6; // rgb핀 녹색 핀
int rgb_blue = 7; // rgb핀 파란색 핀
int piezo = 3;
float dust_value = 0; // 센서에서 입력 받은 미세먼지 값
float dustDensityug=0; // ug/m^3 값을 계산
int sensor_led = 12; // 미세먼지 센서 안에 있는 적외선 led 핀 번호
int sampling = 300; // 적외선 led를 키고, 센서 값을 읽어 들여 미세먼지를 측정하는 샘플링 시간
int waiting = 40;
float stop_time = 9680; // 센서를 구동하지 않는 시간
void setup(){
pinMode(sensor_led,OUTPUT); // 미세먼지 적외선 led를 출력으로 설정
pinMode(rgb_red, OUTPUT); // 3색 LED 모듈 출력으로 설정, 붉은색
pinMode(rgb_green, OUTPUT); // 녹색
pinMode(rgb_blue, OUTPUT); // 파란색
pinMode(3, OUTPUT);
lcd.init(); // LCD 초기화
lcd.backlight(); // 백라이트 켜기
servo.attach(9);
dht.begin();}
void loop(){
float h=dht.readHumidity(); // 습도 측정
float t=dht.readTemperature(); // 온도 측정
if(isnan(h)||isnan(t)){ // 오류 출력
lcd.println("Failed to read from DHT sensor!");
return;
}
digitalWrite(sensor_led, LOW); // LED 켜기
delayMicroseconds(sampling); // 샘플링해주는 시간.
dust_value = analogRead(dust_sensor); // 센서 값 읽어오기
delayMicroseconds(waiting); // 너무 많은 데이터 입력을 피해주기 위해 잠시 멈춰주는 시간.
digitalWrite(sensor_led, HIGH); // LED 끄기
delayMicroseconds(stop_time); // LED 끄고 대기
dustDensityug = (0.17 * (dust_value * (5.0 / 1024)) - 0.1) * 1000; // 미세먼지 값 계산
lcd.setCursor(0,0); //1번째, 1라인
lcd.println(h,0);
lcd.println("% ");
lcd.println(hic,0);
lcd.println("*C ");lcd.setCursor(0,1); // , 2라인
lcd.println("HAP:"dustDensityug);
if(dustDensityug <= 30.0){ // 대기 중 미세먼지가 좋음 일 때 파란색 출력
analogWrite(rgb_red, 0);
analogWrite(rgb_green, 0);
analogWrite(rgb_blue, 255);
lcd.println("blue");
servo.write(100);
}else if(30.0 < dustDensityug && dustDensityug <= 80.0){ // 대기 중 미세먼지가 보통 일 때 녹색 출력
analogWrite(rgb_red, 0);
analogWrite(rgb_green, 255);
analogWrite(rgb_blue, 0);
lcd.println("green");
}else if (80.0 < dustDensityug && dustDensityug <= 150.0){ // 대기 중 미세먼지가 나쁨 일 때 노란색 출력
analogWrite(rgb_red, 255);
analogWrite(rgb_green, 155);
analogWrite(rgb_blue, 0);
lcd.println("yellow");
digitalWrite(3, HIGH);
delay(1000);
digitalWrite(3, LOW);
delay(1000);
}else{ // 대기 중 미세먼지가 매우 나쁨 일 때 빨간색 출력
analogWrite(rgb_red, 255);
analogWrite(rgb_green, 0);
analogWrite(rgb_blue, 0);
lcd.println("red");
digitalWrite(3, HIGH);
delay(1000);
digitalWrite(3, LOW);
delay(1000);
servo.write(200);
}
delay(2000);
}
댓글 2
조회수 9,770master님의 댓글
master 작성일
DHT.h 라이브러리 설치하세요
스케치/라이브러리포함하기/라이브러리관리
DHT.h 검색
해당항목 찾아서 설치
master님의 댓글
master 작성일
같은 내용의 글을 반복적으로 작성하시면 도배 행위로 간주해서 탙퇴처리하겠습니다.
//
새로운 글을 작성하지 않더라도
이 글처럼 댓글로 적어도 충분하지 않나요?