#include "DHT.h"
/*
RXD = 아두이노 2번핀에 연결
TXD = 아두이노 3번핀에 연결
*/
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(3,2); // (TX, RX)
#define DHTPIN 8 //DHT를 아두이노 8번핀에 연결
#define DHTTYPE DHT11 // DHT 11 모델 사용
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600); //HW Serial.
BTSerial.begin(9600); //SW Serial.
pinMode(9, OUTPUT); // LED를 아두이노 9번에 연결
Serial.println(F("DHTxx test!"));
dht.begin();
}
void loop() {
//LED ON, OFF
if(BTSerial.available()){
char ch = BTSerial.read();
Serial.write(ch);
if (ch =='0'){ //'0'이 BTSerial 일때
Serial.write("LED OFF\n"); //LED OFF를 시리얼 모니터에 출력
digitalWrite(9, LOW); //9번 LED를 끔
}
else if (ch == '1'){ //'1'이 BTSerial 일때
Serial.write("LED ON\n"); //LED ON을 시리얼 모니터에 출력
digitalWrite(9, HIGH); //9번 LED를 켬
}
}
//DHT
float h = dht.readHumidity();
// Read temperature as Celsius (the default)
float t = dht.readTemperature();
// Read temperature as Fahrenheit (isFahrenheit = true)
float f = dht.readTemperature(true);
// Check if any reads failed and exit early (to try again).
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
// Compute heat index in Fahrenheit (the default)
float hif = dht.computeHeatIndex(f, h);
// Compute heat index in Celsius (isFahreheit = false)
float hic = dht.computeHeatIndex(t, h, false);
//시리얼 모니터 상에 출력
Serial.print(F("Humidity: "));
Serial.print(h);
Serial.print(F("% Temperature: "));
Serial.print(t);
Serial.print(F("°C "));
Serial.print(f);
Serial.print(F("°F Heat index: "));
Serial.print(hic);
Serial.print(F("°C "));
Serial.print(hif);
Serial.println(F("°F"));
// BT 전송
BTSerial.print(F("Humidity: "));
BTSerial.print(h);
BTSerial.print(F("% Temperature: "));
BTSerial.print(t);
BTSerial.print(F("°C "));
BTSerial.print(f);
BTSerial.print(F("°F Heat index: "));
BTSerial.print(hic);
BTSerial.print(F("°C "));
BTSerial.print(hif);
BTSerial.println(F("°F"));
delay(5000); // 5초 딜레이. 5초마다 수신하기 위해
}
폰에서 1 보내면 5초뒤에 라이트켜짐 . 코드가 순차대로 진행되서 마지막 delay(5000) 때문....
이 문제 없애려면 타이머인터럽트 사용해야함
'임베디드 > Arduino' 카테고리의 다른 글
button_led (0) | 2020.09.01 |
---|---|
CDS 조도센서 , Potentiometer 가변저항 (0) | 2020.08.21 |
dht11 온도습도 (0) | 2020.08.20 |
가변저항 (0) | 2020.08.20 |
Light 1 ON 0 OFF (0) | 2020.08.20 |