/*
  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);
}
$abcdeabcde151015202530354045505560fghijfghij