Japanino (Arduino)の調べ 将棋の調べ 鉄道の調べ 旅先料理の調べ ビールコレクション
Dice.sk
/* サイコロ dice Copyright (C) GOMI Hiroshi 2010 All right reserved. */ int tonePin = 14; int inputPin = 6; int ledPins[] = {7, 8, 9, 10, 11, 12, 13}; int note ; void setup() { for (int led = 0; led < 7; led++) { pinMode(ledPins[led], OUTPUT); } pinMode(inputPin, INPUT); randomSeed(millis()); for (int led = 0; led < 7; led++) { digitalWrite(ledPins[led], LOW); // set the LED off } initDice(); } void initDice() { digitalWrite(inputPin, HIGH); note = 131; } void loop() { // 入力スイッチ(inputPin)が ON になるまで待つ for (;;) { if (digitalRead(inputPin) == LOW) break; delay(10); } diceloop(); initDice(); } /* サイコロ本体 */ void diceloop() { prePlay(); // サイコロを投げる様子を LED の点滅と音で演出 long r = random(6); // サイコロを振る(乱数発生) digitalWrite(ledPins[r], HIGH); // スイッチが OFF になるまで待つ for(;;) { if (digitalRead(inputPin) == HIGH) return; delay(10); } } /* LED を音を出しながら、点滅を往復させる */ void prePlay() { for(int i = 0; i <= 6; i++) { playAndLED(i); } for(int i = 6; i >= 0; i--) { playAndLED(i); } } /* 1個の LED を点滅させ、音を出す @param led LED の相対位置 */ void playAndLED(int led) { tone(tonePin, note, 100); note += 8; digitalWrite(ledPins[led], HIGH); delay(100); digitalWrite(ledPins[led], LOW); }
更新記録
Japanino (Arduino)の調べ 将棋の調べ 鉄道の調べ 旅先料理の調べ ビールコレクション
Copyright © 2010 GOMI Hiroshi All Rights Reserved