Japanino (Arduino)の調べ 将棋の調べ 鉄道の調べ 旅先料理の調べ ビールコレクション
MusicGame.sk
/* Music Game 音程当てゲーム スイッチを ON にすると2つの音が聞こえます。 後ろの音が高くなっていると思えば、スイッチを OFF にして、1秒以内に ON にしてください。(その後、2秒以内に OFF にしないと次のゲームが始まります) 後ろの音が低くなっていると思えば、スイッチを OFF にして、そのままに してください。 正解の場合は LED が 4個点灯します。不正解の場合は LED は 1個です。 Copyright (C) GOMI Hiroshi 2010 All right reserved. */ int ledPin[] = {7, 8, 9, 10, 11, 12, 13}; int inputPin = 6; int tonePin = 14; #define NOTE_C4 262 #define NOTE_D4 294 #define NOTE_E4 330 #define NOTE_F4 349 #define NOTE_G4 392 #define NOTE_A4 440 #define NOTE_B4 494 #define NOTE_C5 523 int note[] = {NOTE_C4, NOTE_D4, NOTE_E4, NOTE_F4, NOTE_G4, NOTE_A4, NOTE_B4}; void setup() { for (int led = 0; led < 7; led++) { pinMode(ledPin[led], OUTPUT); } pinMode(inputPin, INPUT); digitalWrite(inputPin, HIGH); randomSeed(millis()); } void loop() { waitForON(); // スイッチが ON になるまで待つ on(3); tone(tonePin, note[4], 500); long r = random(6); // サイコロを振る(乱数発生) if (r == 4) r++; delay(500); tone(tonePin, note[r], 500); waitForOFF(); // スイッチが OFF になるまで待つ int sw = readSW(); // 1秒以内にスイッチが ON されたかどうか if (sw == 1) on(0); else on(6); if (r < 4) on(2); else on(4); if (sw == 1 && r < 4) on(1); else if (sw == 0 && r > 4) on(5); else off(3); delay(2000); clearLED(); } /* スイッチが ON になるまで待つ */ void waitForON(){ for (;;) { if (digitalRead(inputPin) == LOW) break; delay(10); } } /* スイッチが OFF になるまで待つ */ void waitForOFF(){ for (;;) { if (digitalRead(inputPin) == HIGH) break; delay(10); } } /* LED を点灯させる @param led LEDの相対位置(0-6) */ void on(int led) { digitalWrite(ledPin[led], HIGH); // set the LED on } /* LED を消灯させる @param led LEDの相対位置(0-6) */ void off(int led) { digitalWrite(ledPin[led], LOW); // set the LED off } /* LED の全消灯 */ void clearLED() { for (int i = 0; i < 7; i++) off(i); } /* 一定時間にスイッチがオンになったかどうか */ int readSW() { unsigned long time = millis(); int sw = 0; // 1秒経過するまで待つ for(;;) { if (digitalRead(inputPin) == LOW) { sw = 1; break; } if (time + 1000L <= millis()) break; off(3); delay(10); on(3); delay(10); } return sw; }
更新記録
Japanino (Arduino)の調べ 将棋の調べ 鉄道の調べ 旅先料理の調べ ビールコレクション
Copyright © 2010 GOMI Hiroshi All Rights Reserved