BASIC4MCU | 질문게시판 | 답변 2: 아두이노를 이용한 스마트 환풍기
페이지 정보
작성자 master 작성일2018-09-04 15:54 조회6,978회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=2907
본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2018-09-08 오전 11:26:09// by Ok-Hyun Park//#include <DHT.h>#include <Stepper.h>#include <LiquidCrystal.h>#define DHTPIN1 24#define DHTPIN2 25#define DHTTYPE DHT22LiquidCrystal lcd(6,7,2,3,4,5);const int stepsPerRevolution=1024;int lcd_key=0;int adc_key_in=0;int MQ5=A1;int MQ7=A2;int Vo=A0;int V_LED=23;int FAN=26;int SM=A3;int target=0;int angle=0;int MQ5_val,MQ7_val;float t1=0;float t2=0;float Vo_value=0;float Voltage=0;float dustDensity=0;Stepper myStepper(stepsPerRevolution,11,9,10,8);DHT dht1(DHTPIN1,DHTTYPE);DHT dht2(DHTPIN2,DHTTYPE);//void setup(){pinMode(MQ5,INPUT);pinMode(MQ7,INPUT);pinMode(V_LED,OUTPUT);pinMode(Vo,INPUT);lcd.begin(16,2);pinMode(FAN,OUTPUT);pinMode(SM,OUTPUT);myStepper.setSpeed(14);Serial.begin(9600);}//void loop(){t1=dht1.readTemperature(); Serial.print("Temperature_01(℃)="); Serial.print(t1);t2=dht2.readTemperature(); Serial.print("Temperature_02(℃)="); Serial.print(t2);dht22();//MQ5_val=analogRead(MQ5);MQ7_val=analogRead(MQ7);Serial.print("MQ-5="); Serial.println(MQ5_val);Serial.print("MQ-7="); Serial.println(MQ7_val);//digitalWrite(V_LED,LOW); delayMicroseconds(280);Vo_value=analogRead(Vo); delayMicroseconds(40);digitalWrite(V_LED,HIGH); delayMicroseconds(9680);Voltage=(Vo_value*5.0)/1024.0; dustDensity=(Voltage-0.10)/0.005;Serial.print("dustDensity="); Serial.println(dustDensity);//lcd.print(t1); lcd.print(t2);lcd.print(MQ5_val); lcd.print(MQ7_val);lcd.print(dustDensity);//if((MQ7_val>=500)||(MQ7_val>=500)){ // 가스검출while(180>angle){ angle++; myStepper.step(1); delay(10); } // 커버 OPENdigitalWrite(FAN,HIGH); // FAN ON}else{if(dustDensity>?????){ // 먼지 농도가 높으면while(180>angle){ angle++; myStepper.step(1); delay(10); } // 커버 OPENdigitalWrite(FAN,HIGH); // FAN ON}else{if((t1>25)&&(t1>t2)){ // 실내온도가 높고,실외온도가 실내 온도보다 낮으면while(180>angle){ angle++; myStepper.step(1); delay(10); } // 커버 OPENdigitalWrite(FAN,HIGH); // FAN ON}else if((t1<18)&&(t1<t2)){ // 실내온도가 낮고,실외온도가 실내 온도보다 높으면while(180>angle){ angle++; myStepper.step(1); delay(10); } // 커버 OPENdigitalWrite(FAN,HIGH); // FAN ON}else{while(0<angle){ angle--; myStepper.step(-1); delay(10); } // 커버 CLOSEdigitalWrite(FAN,LOW); // FAN OFF}}}//delay(1000);}
댓글 0
조회수 6,978등록된 댓글이 없습니다.