February 10, 2010

¥´¥à½Æ¶¥µ»Íѥݥ±¥Ã¥È¡¦¥¿¥¤¥Þ¡¼

µ×¤·¤Ö¤ê¤Ë¥´¥à½Æ¶¥µ»Íѥݥ±¥Ã¥È¡¦¥¿¥¤¥Þ¡¼¤òºî¤Ã¤Æ¤ß¤Þ¤·¤¿¡£
º£²ó¤Ï¼õ¤±ÁÀ¤¤¤ÇALTOIDS¤Î´Ì¤ËÆþ¤ì¡¢Ã±»°ÅÅÃÓ1ËÜ¤ÇÆ°¤¯¤è¤¦¤ËÀ߷פ·¤Æ¤ß¤Þ¤·¤¿¡£



¥×¥í¥°¥é¥à¤Ï°Ê²¼¤ËÃÖ¤¤¤Æ¤ª¤­¤Þ¤¹¤Î¤Ç»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
¤Ê¤ª¡¢²óÏ©¤Î³µÎ¬¤Ï¡¢
¡¦LED¤Ï¥Ý¡¼¥È¤«¤éÅÅήÀ©¸ÂÄñ¹³¤òÄ̤·¤ÆGND¤ËÀܳ¡£
¡¦¥¹¥¤¥Ã¥Á¤Ï10k¦¸¤Ç¥×¥ë¥¢¥Ã¥×¤·¡¢¥¢¥¯¥Æ¥£¥Ö¡¦¥í¡¼¤Çưºî¡£
¡¦°µÅÅÁǻҤϡ¢¥Ý¡¼¥È¤ÈGND´Ö¤ËÀܳ¡£
¡¦1.5V¤ò5V¤Ë¥¢¥Ã¥×¤¹¤ëDC-DC¥³¥ó¥Ð¡¼¥¿¤ò»ÈÍÑ¡£
¤Ç¤¹¡£¤½¤Î¤¦¤Á¡¢»þ´Ö¤¬¤È¤ì¤¿¤é²óÏ©¿Þ¤ò½ñ¤¤¤Æ¥¢¥Ã¥×¤·¤Þ¤¹¡£


¤³¤Î¥×¥í¥°¥é¥à¤Î¾¦¶ÈÌÜŪ¤Ç¤ÎÍøÍѤϤªÃǤꤷ¤Þ¤¹¡£

/* R.B.G. Pocket Timer Ver.1.11(Arduino0018)
coded by kiyoshi sasano 2010.02.10 */

byte soundPin = 3; //buzzer
byte startPin = 1; //start switch
byte selectPin = 0; //mode select switch

byte LED01Pin = 10; //LED 1 - 10
byte LED02Pin = 11;
byte LED03Pin = 12;
byte LED04Pin = 13;
byte LED05Pin = 14;
byte LED06Pin = 15;
byte LED07Pin = 16;
byte LED08Pin = 17;
byte LED09Pin = 18;
byte LED10Pin = 19;

byte sw_new;
byte sw_old;
byte sw_status;

byte soundSW;

byte timeStep, tStep;
byte countDown;

const byte mask = 0x02;

void ledOnOff(byte j, byte k)
{
switch(j)
{
case 10: digitalWrite(LED10Pin, k);
break;
case 9: digitalWrite(LED09Pin, k);
break;
case 8: digitalWrite(LED08Pin, k);
break;
case 7: digitalWrite(LED07Pin, k);
break;
case 6: digitalWrite(LED06Pin, k);
break;
case 5: digitalWrite(LED05Pin, k);
break;
case 4: digitalWrite(LED04Pin, k);
break;
case 3: digitalWrite(LED03Pin, k);
break;
case 2: digitalWrite(LED02Pin, k);
break;
case 1: digitalWrite(LED01Pin, k);
break;
default: break;
}
}

void setup() //¥Ý¡¼¥È¤Î½é´üÀßÄê
{
pinMode(soundPin, OUTPUT);
pinMode(startPin, INPUT);
pinMode(selectPin, INPUT);

for(byte i = LED01Pin; i <= LED10Pin; i++)
{
pinMode(i, OUTPUT);
digitalWrite(i, LOW);
}

if(digitalRead(selectPin) == HIGH)
{
tone(soundPin, 4000, 200);
}
else
{
tone(soundPin, 2000, 200);
}
sw_old = PIND & mask;
}

void loop()
{
sw_new = PIND & mask;
sw_status = (sw_new ^ sw_old) & sw_new;
sw_old = sw_new;

if(sw_status)
{
soundSW = 0;

if(digitalRead(selectPin) == HIGH)
{
timeStep = 6;
}
else
{
timeStep = 3;
}

for(int i = 1; i <= 10; i++)
{
ledOnOff(i, HIGH);
}

tone(soundPin, 4000, 500);
delay(1000);

countDown = 10;

while(countDown != 0)
{
if(countDown == 10)
{
tStep = timeStep - 1;
}
else
{
tStep = timeStep;
}

for(byte i = 0; i < tStep ; i++)
{
if(countDown > 2)
{
ledOnOff(countDown, LOW);

if(soundSW == HIGH)
{
tone(soundPin, 2252, 50);
soundSW = LOW;
}
else
{
tone(soundPin, 2000, 50);
soundSW = HIGH;
}

delay(500);
ledOnOff(countDown, HIGH);
delay(500);
}
else
{
ledOnOff(countDown, LOW);
tone(soundPin, 2252, 50);
delay(250);
ledOnOff(countDown, HIGH);
delay(250);
ledOnOff(countDown, LOW);
tone(soundPin, 2000, 50);
delay(250);
ledOnOff(countDown, HIGH);
delay(250);
}
}

ledOnOff(countDown, LOW);
countDown--;
}

tone(soundPin, 4000, 2000);
}

delay(10);
}
Posted by onchanks at 22:25:13 | from category: Arduino | DISALLOWED (TrackBack) TrackBacks
Comments

onchanks:

Ë¿½ê¤Ç¹¥É¾¤À¤Ã¤¿¤Î¤ÇÄ´»Ò¤Ë¾è¤Ã¤Æ¤â¤¦Æó¤Äºî¤Ã¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡£
¤Þ¤¢¥´¥à½Æ´Ø·¸¼Ô¤·¤«´î¤Ð¤Ê¤¤¤Ç¤·¤ç¤¦¤«¤é¡¢¥´¥à½Æ´Ø·¸¤Î²¿¤«¤Î¤ªÎé¤Ë¤Ç¤â»È¤¤¤Þ¤¹¡£
(February 21, 2010 17:13:55)

¥Õ¥©¥ì¥¹¥È:

ÁÇÀ²¤é¤·¤¤½ÐÍè±Ç¤¨¤Ç¤¹¤è¡ª
¥×¥í¥°¥é¥à¤â¶Å¤Ã¤Æ¤¤¤Æ³Ú¤·¤¤¤Ç¤¹¤Í¡£
¥½¡¼¥¹¤ÏÆÉ¤ó¤Ç¤ß¤¿¤â¤Î¤Î¡¢¤µ¤Ã¤Ñ¤êÍý²ò¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£(^^;;;
¤ª¤ª¤è¤½¤Î¸«Åö¤ÏÉÕ¤¯¤Î¤Ç¤¹¤¬¡¢¡¢¡¢(¾Ð)
£±¤Ä¤À¤±Êѹ¹¤·¤¿¤¤¤È¤·¤¿¤é¡¢·×Â¬Ãæ¤Ç¤â¡¢¥¹¥¿¡¼¥È¥¹¥¤¥Ã¥Á¤ò²¡¤·¤¿¤é¡¢ºÆÅٷ׬¤¬»Ï¤Þ¤ë¤È¤¤¤¤¤Î¤«¤Ê¤¡¤È¸À¤¦ÅÀ¤Ç¤¹¡£³ä¤ê¹þ¤ß½èÍý¤Ë¤Ê¤ë¤Î¤«¤ï¤«¤ê¤Þ¤»¤ó¤¬¡¢»ä¤¸¤ã¤É¤³¤ò¤É¤¦Ä¾¤¹¤Î¤«¡©¡©
(March 05, 2010 12:32:33)

onchanks:

º£¤Þ¤Ç¤Î¸ø¼°¥¿¥¤¥Þ¡¼¤Ë¤ÏÁȤ߹þ¤ó¤Ç¤¤¤Þ¤·¤¿¤¬¡¢ºÇ¶á¤Î¶¥µ»¤Ç¤³¤Îµ¡Ç½¤¬¤¢¤ë¤³¤È¤Ë¤è¤Ã¤Æ¤¤¤í¤¤¤í¤ÈÌäÂê¤òµ¯¤³¤·¤Æ¤¤¤ëµ¤¤¬¤·¤Æ¤ë¤Î¤Ç¤³¤Î¥¿¥¤¥Þ¡¼¤Ë¤ÏºÆ·×¬¤Îµ¡Ç½¤Ï¤ï¤¶¤ÈÁȤ߹þ¤ó¤Ç¤¤¤Þ¤»¤ó¡£
ËÜÍè¤À¤È³ä¤ê¹þ¤ß½èÍý¤Ç»þ´Ö·×¿ô¤ò¹Ô¤¦¤Ù¤­¤Ê¤Î¤Ç¤¹¤¬¡¢¥×¥í¥°¥é¥à¤Ë´·¤ì¤Æ¤¤¤Ê¤¤Êý¤Ë¤Ï³ä¤ê¹þ¤à½èÍý¤¬Íý²ò¤·¤Å¤é¤¤¤Î¤Çñ¤Ê¤ë¥Ç¥£¥ì¥¤¤Ç»þ´Ö¤ò·è¤á¤Æ¤¤¤Þ¤¹¡£
(March 05, 2010 12:46:37)
:

:
:
Trackbacks
DISALLOWED (TrackBack)