/*
Arduino入門 第6回 スピーカーを追加
スイッチが押されたらLEDの点滅を開始して、
設定時間になったらアラームを鳴らす
*/
#define TIMER 3 // タイマー時間(秒)
#define SW_PIN A5 // スイッチ接続端子
#define SW_OFF 1 // スイッチOFFのdigitalReadの値
#define LED_PIN 12 // LED接続端子
#define LED_ON_INTERVAL 50 // LEDを点灯する時間
#define LED_OFF_INTERVAL 950 // LEDを消灯する時間
#define SPEAKER_PIN A0 // スピーカー接続端子
#define ALARM_TONE 1760 // アラーム音の周波数
void setup() {
// LED接続端子を出力制御にする
pinMode(LED_PIN, OUTPUT);
// スイッチ接続端子をプルアップ機能有効にする
pinMode(SW_PIN, INPUT_PULLUP);
}
void loop() {
// スイッチが押されるまで待つ
while( digitalRead(SW_PIN) == SW_OFF ) {
}
// 指定した時間、LEDを点滅する
for(int i=0; i<TIMER; i++) {
// LEDをピカッと点滅(1秒間)
digitalWrite(LED_PIN, HIGH);
delay(LED_ON_INTERVAL);
digitalWrite(LED_PIN, LOW);
delay(LED_OFF_INTERVAL);
}
// アラームを鳴らす
tone(SPEAKER_PIN, ALARM_TONE);
delay(60);
noTone(SPEAKER_PIN);
delay(60);
tone(SPEAKER_PIN, ALARM_TONE);
delay(60);
noTone(SPEAKER_PIN);
delay(60);
tone(SPEAKER_PIN, ALARM_TONE);
delay(120);
noTone(SPEAKER_PIN);
}