#include <SoftwareSerial.h>
int bluetoothTx = 2;
int bluetoothRx = 3;
int i = 0;
SoftwareSerial bluetooth(bluetoothTx, bluetoothRx);
float temperature;
int reading;
int lm35Pin = A0;
int ledPin = 12;
int ledPin1 = 13; // 13번 핀에 LED를 연결합니다.
int flame = A1; // 디지털 2번핀에 불꽃감지센서를 연결합니다.
int pirState = LOW; // 불꽃 감지 센서의 상태를 저장합니다.(처음 상태를 LOW로 설정)
int pirState1 = LOW; // 온도 감지 센서의 상태를 저장합니다.(처음 상태를 LOW로 설정)
int val = 0; // 센서 값을 읽기 위해 변수를 선언합니다.
int pinSpeaker = 10; // PWM 핀에 스피커 혹은 피에조 센서를 연결합니다.(digital 9, 10, or 11)
void setup() {
pinMode(ledPin1, OUTPUT); // LED 를 출력으로 설정합니다.
pinMode(flame, INPUT); // 불꽃 센서를 입력으로 설정합니다.
pinMode(pinSpeaker, OUTPUT); // 스피커를 출력으로 설정합니다.
Serial.begin(9600); // 시리얼 통신(9600)를 준비합니다.
delay(100);
bluetooth.begin(9600);
analogReference(INTERNAL);
pinMode (ledPin, OUTPUT) ; // 온도 센서를 입력으로 설정합니다
}
void loop(){
val = digitalRead(flame); // 센서값을 읽어들입니다.
reading = analogRead(lm35Pin);
temperature = reading / 9.31;
{
//온도가 30도 위로 올라가면 LED를 켠다
if(temperature > 30) {
digitalWrite (ledPin, HIGH);
} else {
digitalWrite (ledPin, LOW);
}
delay(1000);
}
if (val == HIGH) { // 만약 값이 HIGH 일때,
digitalWrite(ledPin1, HIGH); // 13번 핀(보드에 내장되어 있는 LED) 를 켭니다.
playTone(300, 160);// 주파수 0 - 0 즉, 아무소리도 내지 않습니다.
delay(150);// 30ms 동안 대기.
if (pirState == LOW) {
// 센서의 상태가 LOW일때
Serial.println("Beware of fire.");
// 다음의 문구를 시리얼 모니터로 출력합니다.
pirState = HIGH;
}
} else {
digitalWrite(ledPin, LOW); // LED를 끕니다.
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);
}
}
=========================================================================
아까 답변해주신 그소스인데요. 그소스에서 핸드폰으로 블루투스로 일정 온도나 불꽃이 일정 수치를 넘엇을때 핸드폰으로 블루투스를 이용해서 소리를 나게하고싶은데. 어떻게 해야될지 잘모르겠네요. 앱을 만들어야할지. 아시면 도움좀 부탁드립니다.
|