so woon!

아두이노 수동 부저 (도레미 소리 내기) + 화재 감지 센서 본문

아두이노/구현해보기

아두이노 수동 부저 (도레미 소리 내기) + 화재 감지 센서

xowoony 2022. 12. 24. 11:11

학습일 : 2022. 12. 24

 


1번을 콘솔에 입력하면 도레미~ 음이 출력되고
0번을 콘솔에 입력하면 음이 꺼지도록 구현할 것이다.

 

 

아두이노 스케치 코드

int Buzzer = 7;

void setup() {
 Serial.begin(9600);
 pinMode(Buzzer, OUTPUT);
}

void loop() {
 if(Serial.available()){   // 수신이 감지 되었을 때 
      char userInput = Serial.read();
      Serial.println(userInput);
      if(userInput =='1'){
        tone(Buzzer, 523);
        delay(500);
        tone(Buzzer, 587);
        delay(500);
        tone(Buzzer, 659);
        delay(500);
      }
      if(userInput =='0'){
        noTone(Buzzer);
      }
   }
}

실행결과

콘솔에 1 입력시 도레미~ 소리가 나고

0 입력시 소리가 멈추게 된다.


화재감지센서 부착

 

아두이노 스케치 코드

int flame = A2;
int buzzer = 7;

void setup() {
 Serial.begin(9600);
 pinMode(flame, INPUT);
 pinMode(buzzer, OUTPUT);
}

void loop() {
  int val = analogRead(flame);

  Serial.print("flame_sensor : ");
  Serial.println(val);
  delay(1000);
}

실행결과

 

화재 감지 센서가 뜨거운 걸 감지하게 되면

센서값이 올라가게 된다.

 

 


화재감지센서 코드 수정

int flame = A2;
int buzzer = 7;

void setup() {
 Serial.begin(9600);
 pinMode(flame, INPUT);
 pinMode(buzzer, OUTPUT);
}

void loop() {
  int val = analogRead(flame);

  Serial.print("flame_sensor : ");
  Serial.println(val);

  if(10 < val) {
    tone(buzzer, 523);
    delay(500);
    tone(buzzer, 587);
    delay(500);
    tone(buzzer, 659);
    delay(500);
    Serial.println("FIRE!!!!");
  }

  else{
    noTone(buzzer);
    Serial.println("No Fire");
  }
  delay(1000);
}

센서 값이 10 이상일 경우 FIRE!!!  라고 출력되며 부저가 도레미~라고 울리게 되고

아닐 경우 No Fire라고 출력 되며 부저가 종료된다.

 

실행결과

 

 

Comments