August 24, 2008

タイマーん 試作機

ゴム銃の1対1対戦競技用タイマー「タイマーん」をArduinoで試作してみました。
写真の左がブレッドボード上で開発した物、写真の右がArduinoのミニボードを組み込んだ試作機です。手持ちのパーツで組み上げたのでちょっと気になる点もあるのですが、まあ、試作機ですから、、、


Arduinoのスケッチは、以下に置いておきますので何かの参考にしてください。

// MatchUp Timer Ver.0.1

int soundPin = 12; //スピーカ出力
int startPin = 14; //スタート・スイッチ
int selectPin = 15; //on:60sec, off:30sec

int LED01Pin = 2; //LED 1 - 10
int LED02Pin = 3;
int LED03Pin = 4;
int LED04Pin = 5;
int LED05Pin = 6;
int LED06Pin = 7;
int LED07Pin = 8;
int LED08Pin = 9;
int LED09Pin = 10;
int LED10Pin = 11;

int timeStep;

void setup() //ポートの初期設定
{
pinMode(soundPin, OUTPUT);
pinMode(startPin, INPUT);
pinMode(selectPin, INPUT);

for(int i = LED01Pin; i <= LED10Pin; i++)
{
pinMode(i, OUTPUT);
}
}

void loop()
{
for(int i = LED01Pin; i <= LED10Pin; i++) //全てのLEDをOFF
{
digitalWrite(i, LOW);
}

while(digitalRead(startPin)){} //スタート・スイッチ ON ?

delay(2000);

digitalWrite(LED01Pin, HIGH); //LED Red ON
digitalWrite(LED02Pin, HIGH);
digitalWrite(LED03Pin, HIGH);
soundLow();

digitalWrite(LED04Pin, HIGH); //LED Yellow ON
digitalWrite(LED05Pin, HIGH);
digitalWrite(LED06Pin, HIGH);
soundLow();

digitalWrite(LED07Pin, HIGH); //LED Green ON
digitalWrite(LED08Pin, HIGH);
digitalWrite(LED09Pin, HIGH);
digitalWrite(LED10Pin, HIGH);
soundHigh();

for(int i = LED10Pin; i >= LED01Pin; i--)
{
if(digitalRead(selectPin) == HIGH)
{
timeStep = 5;
}
else
{
timeStep = 2;
}

int k = timeStep;

if(i == LED10Pin)
{
k--;
}

for(int j = 0; j <= k; j++) //LEDの点滅及び減少
{
digitalWrite(i, LOW);
delay(500);
digitalWrite(i, HIGH);
delay(500);
}

digitalWrite(i, LOW);
}

soundHigh();
}

void soundHigh() //サウンド 2kHz(1秒間)
{
for(int i = 0; i <= 1999; i++)
{
digitalWrite(soundPin, HIGH);
delayMicroseconds(250);
digitalWrite(soundPin, LOW);
delayMicroseconds(250);
}
}

void soundLow() //サウンド 1kHz(0.1 + 0.9秒間)
{
for(int i = 0; i <= 99; i++)
{
digitalWrite(soundPin, HIGH);
delayMicroseconds(500);
digitalWrite(soundPin, LOW);
delayMicroseconds(500);
}

delay(900);
}

Posted by onchanks at 19:44:07 | from category: Arduino | DISALLOWED (TrackBack) TrackBacks
Comments
No comments yet
:

:

Trackbacks
DISALLOWED (TrackBack)