?>

Hard Copy World

HCW

Q&A

Home > Forum >

Q&A

습도 센서 관련 질문입니다 ㅜㅜ

페이지 정보

작성자 이정현 이름으로 검색 작성일15-06-15 13:21 조회1,312회 댓글1건

본문

전전글에 올린거랑 코드가 좀 바꼈는데 습도센서가 센싱하는 값이 좀 이상해요..

한 6~7초 정도는 30~32사이의 값이 센싱 되는데

그이후에는 141 같은 숫자랑 번갈아서 센싱됩니다..

delay를 쓰지 않을건데 delay로 인한 문젠가요?

time out 오류라고 뜨긴하는데 ㅠㅠ

#include <dht11.h>
#define DHT11PIN 2
dht11 DHT11;
int RED=8;
void setup()

{

Serial.println("start");
Serial.begin(9600);
Serial.begin(9600);
pinMode(RED,OUTPUT);
}
unsigned long t1,t2;
void loop()

{
int sensorValue1 = analogRead(A0);
int sensorValue2 = analogRead(A1);
int chk=DHT11.read(DHT11PIN);
Serial.print("Humidity (%):");
Serial.println((float)DHT11.humidity,2);
 

Serial.println("Read");
switch(chk){
case 0:Serial.println("ok");break;
case -1:Serial.println("checksum error"); break;
case -2:Serial.println("time out"); break;
default:Serial.println("unknown"); break;
}
if(DHT11.humidity>30){
if(sensorValue1>20){
Serial.print("sensorValue1 ");
Serial.println(sensorValue1);
t1 = millis();
Serial.print("t1 ");
Serial.println(t1);
}

if(sensorValue2>20)
{Serial.print(" sensorValue2 ");
Serial.println(sensorValue2);
t2= millis();
Serial.print("t2 ");
Serial.println(t2);
}
if(t2-t1>0 && t2-t1<400)
{

Serial.println("Too fast");
Serial.println(t1);
Serial.println(t2);
digitalWrite(RED,HIGH);
delay(3000);
digitalWrite(RED,LOW);
t1=0;t2=0;
}

}}

댓글목록

하드카피님의 댓글

하드카피 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일

저도 가끔 그런 현상을 겪었는데.. 처음엔 잘 되다가 시간이 지나면 dht11 에서 읽는 값에 오류가 발생하더라구요. 구글 검색을 한 번 해보세요.. 모듈이 불량인것 같기도하고 아직 원인을 잘 모르겠습니다.