#include <DHT11.h> .
DHT11 dht11(A1);
const int gasPin = A0; //가스센서 아웃을 아두이노 A0로 설정
// 13번 핀을 LED로 지정합니다.
int ledPin = 13;
// 디지털 2번핀을 불꽃감지센서로 지정합니다.
int inputPin = 2;
// 불꽃 감지 센서의 상태를 저장합니다.(처음 상태를 LOW로 설정)
int pirState = LOW;
// 센서 값을 읽기 위해 변수를 선언합니다.
int val = 0;
// PWM 핀에 스피커 혹은 피에조 센서를 연결합니다.(digital 9, 10, or 11)
int pinSpeaker = 10;
void setup() {
// LED 를 출력으로 설정합니다.
pinMode(ledPin, OUTPUT);
// 센서를 입력으로 설정합니다.
pinMode(inputPin, INPUT);
// 스피커를 출력으로 설정합니다.
pinMode(pinSpeaker, OUTPUT);
// 시리얼 통신(9600)를 준비합니다.
Serial.begin(9600);
}
void loop() {
Serial.println(analogRead(gasPin)); //센서값을 시리얼모니터로 전송
if (analogRead(gasPin) > 400) // 가스 검출 시(자신의 센서 감도에 알맞게 조절필요)
{
tone(12,2000,1000); // 피에조 ON (주파수 2000으로 1초간 울리기)
}
delay(1000);
float temp, humi;
int result = dht11.read(humi, temp);
if (result == 0)
{
Serial.print("temperature:");
Serial.print(temp);
Serial.print(" humidity:");
Serial.print(humi);
Serial.println();
}
else
{
Serial.println();
Serial.print("Error No :");
Serial.print(result);
Serial.println();
}
val = digitalRead(inputPin);
// 만약 값이 HIGH 일때,
if (val == HIGH) {
// 13번 핀(보드에 내장되어 있는 LED) 를 켭니다.
digitalWrite(ledPin, HIGH);
playTone(300, 160);
delay(150);
if (pirState == LOW) {
// 센서의 상태가 LOW일때
Serial.println("Beware of fire.");
// 다음의 문구를 시리얼 모니터로 출력합니다.
pirState = HIGH;
}
} else {
// LED를 끕니다.
digitalWrite(ledPin, LOW);
playTone(0, 0);
delay(30);
if (pirState == HIGH) {
//센서값이 HIGH 일때
Serial.println("FIRE!!!!");
// 다음의 문구를 시리얼 모니터로 출력합니다.
pirState = LOW;
}
}
}
// 경보음을 만들어 냅니다.
void playTone(long duration, int freq) {
duration *= 1000;
int period = (1.0 / freq) * 1000000;
long elapsed_time = 0;
while (elapsed_time < duration) {
digitalWrite(pinSpeaker,HIGH);
delayMicroseconds(period / 2);
digitalWrite(pinSpeaker, LOW);
delayMicroseconds(period / 2);
elapsed_time += (period);
}
}
아두이노를 이용한 화재감지기를 만들고 있습니다. 현재 온습도 센서와 연기감지센서는 아두이노 스케치로 업로드를 한 상태이며 동작도 됩니다. 그리고 이제 블루투스 모듈 HC-06을 이용하여 화재가 감지가 될 때 앱인벤터로 만든 앱으로 블루투스 모듈을 이용 스마트폰으로 소리가 나도록 할 예정입니다. 현재 앱인벤터로 앱을 디자인하고 블록 설정도 마친상태입니다. 근데 아두이노 스케치를 하는데 블루투스 소스를 넣어야하는데 계속 오류가 나서 현재 손도 못대고 있는 상황입니다... 아두이노 스케치로 어떻게 코드를 넣어야 하는지 도와주시면 감사하겠습니다ㅠㅠ(앱인벤터 블록설정 사진 첨부하겠습니다.)
|