?>

Hard Copy World

HCW

Q&A

Home > Forum >

Q&A

아두이노 블루투스를 이용한 온습도센서 및 팬 on/off

페이지 정보

작성자 zbrobo 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일15-10-15 16:27 조회2,152회 댓글1건

본문

#include <LiquidCrystal.h>
#include <DHT11.h>
#include <SoftwareSerial.h>

LiquidCrystal lcd(2,3,4,9,10,11,12);
DHT11 dht11(7);
SoftwareSerial BTSerial(0,1);

int fan = 8;

void setup()
{

  Serial.begin(9600);
  lcd.begin(20,4);
  lcd.clear();
  BTSerial.begin(9600);
  
}

void loop() 
{
  int err;
  float humi;
  float tem;


if((err = dht11.read(humi, tem)) == 0)
{
  char humiCharValue[10];
  dtostrf(humi, 4, 1, humiCharValue);

  String humiDisplayStr = "Humidity: " ;
  humiDisplayStr += (String)humiCharValue;
  humiDisplayStr += "%";

  lcd.setCursor(0,0);
  lcd.print(humiDisplayStr);

char temCharValue[10];
dtostrf(tem, 4, 1, temCharValue);

  String temDisplayStr = "Temper : ";
 temDisplayStr +=(String)temCharValue;
 temDisplayStr += "C";

 lcd.setCursor(0,1);
 lcd.print(temDisplayStr);
Serial.println();
Serial.println("Humidity : ");
Serial.println(humi);
Serial.println("Temper : ");
Serial.println(tem);
Serial.println();
delay(1000);
}
if (Serial.available())
{
    BTSerial.write(Serial.read());
     
     char cmd = (char)BTSerial.read();

    if(cmd == '0') //0을넣으면 on
    {
      digitalWrite(fan,HIGH);
      
    }
    if(cmd =='1')//1을넣으면 off
    {
      digitalWrite(fan,LOW);
    }
  }

 

delay(DHT11_RETRY_DELAY);
  
}

 

나머지는 다 되는데 fan을 on off하는게 되지가 않네요ㅠㅠ

댓글목록

최고관리자님의 댓글

최고관리자 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일

if (Serial.available()) {
    BTSerial.write(Serial.read());
    char cmd = (char)BTSerial.read();
    ////////////////////////////////////////////////////
    // 아래 코드는 if문 밖으로 빼주세요. 여기에 있으면 Serial 입력이 있을때만 처리하게 됩니다.
    if(cmd == '0') //0을넣으면 on
    {
      digitalWrite(fan,HIGH);
    } if(cmd =='1')//1을넣으면 off
    {
      digitalWrite(fan,LOW);
    }
    ////////////////////////////////////////////////////
}