BASIC4MCU | 질문게시판 | 아두이노 가스센서 MQ7과 Piezo buzzer 이용 관련 질문있습니다.
페이지 정보
작성자 아쿠아맨 작성일2019-05-12 19:28 조회3,200회 댓글0건본문
아두이노 잘하시는 분들 도와주세요!!..ㅠㅠ
제가 mq7 가스센서하고 피에조 부저를 이용해서 흡연을 했을 시 피에조 부저에서 설정해놓은 경고음을 울리게
하려고 합니다. 지금 제가 해보고 있는 소스가 이 2개입니다. 관련 영상 찾아서 공부해보고 시도해보는데도 잘 안됩니다...
#include "pitches.h"
int melody[] = {
NOTE_A5,NOTE_G4,NOTE_A5,NOTE_G4,NOTE_A5,
NOTE_G4,NOTE_A5,NOTE_G4,NOTE_A5,NOTE_G4,
NOTE_A5,NOTE_G4,NOTE_A5,NOTE_G4,NOTE_A5,
NOTE_G4,NOTE_A5,NOTE_G4,NOTE_A5,NOTE_G4,
NOTE_A5,NOTE_G4,NOTE_A5,NOTE_G4,
0};
int noteDurations[] = {
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
};void setup(){
for(int thisNote = 0; thisNote < 26; thisNote++){int noteDuration = 250 * noteDurations[thisNote];
tone(6, melody[thisNote],noteDuration);int pauseBetweenNotes = noteDuration * 1.30;
delay(pauseBetweenNotes);
noTone(6);
}
}void loop(){
}
#include "pitches.h" const int buzzerPin = 6; const int analogPin=A0; const int digitalPin=7; int Analogstate=0; boolean Digitalstate=0; int sensorThres = 350; void setup() { pinMode (digitalPin,INPUT);//sets digitalPin as INPUT pinMode(buzzerPin,OUTPUT);//sets redledPin as OUTPUT Serial.begin(9600); } void loop() { Analogstate=analogRead(analogPin); Digitalstate=digitalRead(digitalPin); Serial.println(Analogstate); Serial.println(Digitalstate); if( Analogstate > sensorThres) { tone(buzzerPin, 1000, 200);//turn on the buzzer } else { noTone(buzzerPin);//turn off the buzzer } delay(100);//sets delay for 100 ms }
#include "pithces.h"
const int buzzerPin = 6;
const int analogPin=A0;
const int digitalPin=7;
int Analogstate=0;
boolean Digitalstate=0;
int sensorThres = 400;
int melody[] = {
NOTE_A5,NOTE_G4,NOTE_A5,NOTE_G4,NOTE_A5,
NOTE_G4,NOTE_A5,NOTE_G4,NOTE_A5,NOTE_G4,
NOTE_A5,NOTE_G4,NOTE_A5,NOTE_G4,NOTE_A5,
NOTE_G4,NOTE_A5,NOTE_G4,NOTE_A5,NOTE_G4,
NOTE_A5,NOTE_G4,NOTE_A5,NOTE_G4,
0};
int noteDurations[] = {
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
};
void setup()
{
pinMode (digitalPin,INPUT);
pinMode(buzzerPin,OUTPUT);
Serial.begin(9600);
}
void loop()
{
Analogstate=analogRead(analogPin);
Digitalstate=digitalRead(digitalPin);
Serial.println(Analogstate);
Serial.println(Digitalstate);
if( Analogstate > sensorThres)
{
for(int thisNote = 0; thisNote < 26; thisNote++){int noteDuration = 250 * noteDurations[thisNote];
tone(6, melody[thisNote],noteDuration);
}
else
{
int pauseBetweenNotes = noteDuration * 1.30;
delay(pauseBetweenNotes);
noTone(6);
}
delay(100);
}
마지막 것이 제가 해봤던 것들 중 하나입니다. 이게 맞는지 모르겠네요...아두이노 잘하시는 분들 도와주세요...ㅠ
댓글 0
조회수 3,200등록된 댓글이 없습니다.