// 來客報知機
#define PIR_Pin 15
#define buzzerPin 25
void setup() {
Serial.begin(115200);
pinMode(PIR_Pin, INPUT);
pinMode(buzzerPin, OUTPUT);
}
void loop() {
int value = digitalRead(PIR_Pin); // 讀取PIR數位訊號
if(value == HIGH){ // 偵測到人體體溫紅外線的變化輸出高電位
Serial.println();
Serial.println("來客了");
ring(); // 播放音樂
delay(5000); // 會依所設延遲時間保持高電位
}else{
Serial.print("沒人");
}
delay(1000); // 每隔1秒感測1次
}
// 全家鈴聲
void ring(){
// E6 C6 G5 C6 D6 G6 D6 E6 D6 G5 C6
// 1 1 1 1 1 2 1 1 1 1 2
int t = 300;
tone(buzzerPin, 1319, t); // E6
tone(buzzerPin, 1047, t); // C6
tone(buzzerPin, 784 , t); // G5
tone(buzzerPin, 1047, t); // C6
tone(buzzerPin, 1175, t); // D6
tone(buzzerPin, 1568, 2*t); // G6
tone(buzzerPin, 1175, t); // D6
tone(buzzerPin, 1319, t); // E6
tone(buzzerPin, 1175, t); // D6
tone(buzzerPin, 784 , t); // G5
tone(buzzerPin, 1047, 2*t); // C6
}