// 소리 감지 관련 변수
int soundSensor = 2; // 사운드 센서 핀
int clapCounter = 0; // 소리 카운터
Unsigned long lastClapTime = 0; // 마지막 소리 시간
void setup() {
pinMode(soundSensor, INPUT); // 사운드 센서를 입력으로 설정
Serial.begin(9600); // 시리얼 통신 시작
}
void loop() {
detectClap(); // 소리 감지 함수 호출
// 소리 카운터 리셋 (900ms 후)
if (lastClapTime > 0 && millis() - lastClapTime > 900) {
clapCounter = 0;
}
}
void detectClap() {
int soundState = digitalRead(soundSensor); // 사운드 센서 상태 읽기
unsigned long now = millis(); // 현재 시간
// 사운드가 감지되고 마지막 박수로부터 200ms 이상 경과했을 때
if (soundState == LOW && now - lastClapTime > 200) {
clapCounter++; // 소리 카운터 증가
lastClapTime = now; // 마지막 소리 시간 업데이트
Serial.println("소리감지");
}
}