#define DATAPIN (9) // 74HC595のDSへ #define LATCHPIN (11) // 74HC595のST_CPへ #define CLOCKPIN (12) // 74HC595のSH_CPへ void MyShiftOut( int dataPin, int clockPin, int bit, unsigned long val ) { for( int i = 0; i < bit; i++ ) { digitalWrite(dataPin, !!(val & (1L << i))); digitalWrite(clockPin, HIGH); digitalWrite(clockPin, LOW); } } int pin = 0; // スイッチを接続したピン番号 int state = 0 ; void setup() { pinMode(DATAPIN, OUTPUT); pinMode(LATCHPIN, OUTPUT); pinMode(CLOCKPIN, OUTPUT); pinMode(3,OUTPUT) ; // 赤LED接続のピン(9番)をデジタル出力に設定 pinMode(5,OUTPUT) ; // 青LED接続のピン(10番)をデジタル出力に設定 pinMode(6,OUTPUT) ; // 緑LED接続のピン(11番)をデジタル出力に設定 } void loop() { state = digitalRead(0); //0番につないだスイッチが押されると if(state == 0) { for( int i = 0; i < 16; i++ ) { digitalWrite(LATCHPIN, LOW); // 送信中はLATCHPINをLOWに // シフト演算を使って点灯するLEDを選択しています MyShiftOut( DATAPIN, CLOCKPIN, 16, 1L << i ); digitalWrite(LATCHPIN, HIGH);// 送信後はLATCHPINをHIGHに戻す delay(100); } tone(13,0,250) ; // ン digitalWrite(3,HIGH) ; // LEDを点灯 digitalWrite(5,HIGH) ; // LEDを点灯 digitalWrite(6,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(3,LOW) ; // LEDを消灯 digitalWrite(5,LOW) ; // LEDを消灯 digitalWrite(6,LOW) ; // LEDを消灯 delay(250) ; tone(13,0,250) ; // ン digitalWrite(3,HIGH) ; // LEDを点灯 digitalWrite(5,HIGH) ; // LEDを点灯 digitalWrite(6,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(3,LOW) ; // LEDを消灯 digitalWrite(5,LOW) ; // LEDを消灯 digitalWrite(6,LOW) ; // LEDを消灯 delay(250) ; tone(13,0,250) ; // ン digitalWrite(3,HIGH) ; // LEDを点灯 digitalWrite(5,HIGH) ; // LEDを点灯 digitalWrite(6,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(3,LOW) ; // LEDを消灯 digitalWrite(5,LOW) ; // LEDを消灯 digitalWrite(6,LOW) ; // LEDを消灯 delay(250) ; digitalWrite(6,HIGH) ; // 赤LEDを点灯 delay(2000) ; digitalWrite(6,LOW) ; // 赤LEDを消灯 digitalWrite(3,HIGH) ; // 緑LEDを点灯 delay(2000) ; digitalWrite(3,LOW) ; // 緑LEDを消灯 digitalWrite(5,HIGH) ; // 青LEDを点灯 delay(2000) ; digitalWrite(5,LOW) ; // 青LEDを消灯 digitalWrite(3,HIGH) ; // 赤LEDを点灯 delay(1000) ; digitalWrite(6,HIGH) ; // 緑LEDを点灯 delay(1000) ; digitalWrite(5,HIGH) ; // 青LEDを点灯 delay(1000) ; digitalWrite(3,LOW) ; // 赤LEDを消灯 digitalWrite(6,LOW) ; // 緑LEDを消灯 digitalWrite(5,LOW) ; // 青LEDを消灯 tone(13,0,250) ; // ン digitalWrite(3,HIGH) ; // LEDを点灯 digitalWrite(5,HIGH) ; // LEDを点灯 digitalWrite(6,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(3,LOW) ; // LEDを消灯 digitalWrite(5,LOW) ; // LEDを消灯 digitalWrite(6,LOW) ; // LEDを消灯 delay(250) ; tone(13,247,250) ; // シ 「ジン」グルベール digitalWrite(3,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(3,LOW) ; // LEDを消灯 delay(10) ; tone(13,247,250) ; // シ ジン「グル」ベール digitalWrite(6,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(6,LOW) ; // LEDを消灯 delay(10) ; tone(13,247,500) ; // シー ジングル「ベール」 digitalWrite(5,HIGH) ; // LEDを点灯 delay(500) ; // 音がなっている間点灯 digitalWrite(5,LOW) ; // LEDを消灯 delay(10) ; tone(13,247,250) ; // シ 「ジン」グルベール digitalWrite(3,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(3,LOW) ; // LEDを消灯 delay(10) ; tone(13,247,250) ; // シ ジン「グル」ベール digitalWrite(6,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(6,LOW) ; // LEDを消灯 delay(10) ; tone(13,247,500) ; // シー ジングル「ベール」 digitalWrite(5,HIGH) ; // LEDを点灯 delay(500) ; // 音がなっている間点灯 digitalWrite(5,LOW) ; // LEDを消灯 delay(10) ; tone(13,247,250) ; // シ 「す」ずがなる digitalWrite(3,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(3,LOW) ; // LEDを消灯 delay(10) ; tone(13,294,250) ; // レ す「ず」がなる digitalWrite(6,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(6,LOW) ; // LEDを消灯 delay(10) ; tone(13,196,375) ; // ソ すず「が」なる digitalWrite(5,HIGH) ; // LEDを点灯 delay(375) ; // 音がなっている間点灯 digitalWrite(5,LOW) ; // LEDを消灯 delay(10) ; tone(13,220,125) ; // ラ すずが「な」る digitalWrite(3,HIGH) ; // LEDを点灯 delay(125) ; // 音がなっている間点灯 digitalWrite(3,LOW) ; // LEDを消灯 delay(10) ; tone(13,247,500) ; // シ すずがな「る」 digitalWrite(6,HIGH) ; // LEDを点灯 delay(500) ; // 音がなっている間点灯 digitalWrite(6,LOW) ; // LEDを消灯 delay(10) ; tone(13,0,375) ; // ン delay(375) ; // 音がなっている間 delay(10) ; tone(13,262,250) ; // ド 「きょ」うもたのしい digitalWrite(3,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(3,LOW) ; // LEDを消灯 delay(10) ; tone(13,262,250) ; // ド きょ「う」もたのしい digitalWrite(6,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(6,LOW) ; // LEDを消灯 delay(10) ; tone(13,262,250) ; // ド きょう「も」たのしい digitalWrite(5,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(5,LOW) ; // LEDを消灯 delay(10) ; tone(13,262,250) ; // ド きょうも「た」のしい digitalWrite(3,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(3,LOW) ; // LEDを消灯 delay(10) ; tone(13,262,250) ; // ド きょうもた「の」しい digitalWrite(6,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(6,LOW) ; // LEDを消灯 delay(10) ; tone(13,247,250) ; // シ きょうもたの「し」い digitalWrite(5,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(5,LOW) ; // LEDを消灯 delay(10) ; tone(13,247,250) ; // シ きょうもたのし「い」 digitalWrite(3,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(3,LOW) ; // LEDを消灯 delay(10) ; tone(13,247,250) ; // シ 「そ」りのあそび digitalWrite(6,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(6,LOW) ; // LEDを消灯 delay(10) ; tone(13,247,250) ; // シ そ「り」のあそび digitalWrite(5,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(5,LOW) ; // LEDを消灯 delay(10) ; tone(13,220,250) ; // ラ そり「の」あそび digitalWrite(3,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(3,LOW) ; // LEDを消灯 delay(10) ; tone(13,220,250) ; // ラ そりの「あ」そび digitalWrite(6,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(6,LOW) ; // LEDを消灯 delay(10) ; tone(13,247,250) ; // シ そりのあ「そ」び digitalWrite(5,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(5,LOW) ; // LEDを消灯 delay(10) ; tone(13,220,250) ; // ラ そりのあそ「び」 digitalWrite(3,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(3,LOW) ; // LEDを消灯 delay(10) ; tone(13,0,125) ; // ン delay(125) ; // 音がなっている間 delay(10) ; tone(13,294,500) ; // レ 「おー」 digitalWrite(5,HIGH) ; // LEDを点灯 delay(500) ; // 音がなっている間点灯 digitalWrite(5,LOW) ; // LEDを消灯 delay(10) ; tone(13,0,125) ; // ン delay(125) ; // 音がなっている間点灯 delay(10) ; tone(13,247,250) ; // シ 「ジン」グルベール digitalWrite(6,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(6,LOW) ; // LEDを消灯 delay(10) ; tone(13,247,250) ; // シ ジン「グル」ベール digitalWrite(5,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(5,LOW) ; // LEDを消灯 delay(10) ; tone(13,247,500) ; // シー ジングル「ベール」 digitalWrite(3,HIGH) ; // LEDを点灯 delay(500) ; // 音がなっている間点灯 digitalWrite(3,LOW) ; // LEDを消灯 delay(10) ; tone(13,247,250) ; // シ 「ジン」グルベール digitalWrite(6,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(6,LOW) ; // LEDを消灯 delay(10) ; tone(13,247,250) ; // シ ジン「グル」ベール digitalWrite(5,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(5,LOW) ; // LEDを消灯 delay(10) ; tone(13,247,500) ; // シー ジングル「ベール」 digitalWrite(3,HIGH) ; // LEDを点灯 delay(500) ; // 音がなっている間点灯 digitalWrite(3,LOW) ; // LEDを消灯 delay(10) ; tone(13,247,250) ; // シ 「す」ずがなる digitalWrite(6,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(6,LOW) ; // LEDを消灯 delay(10) ; tone(13,294,250) ; // レ す「ず」がなる digitalWrite(5,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(5,LOW) ; // LEDを消灯 delay(10) ; tone(13,196,375) ; // ソ すず「が」なる digitalWrite(3,HIGH) ; // LEDを点灯 delay(375) ; // 音がなっている間点灯 digitalWrite(3,LOW) ; // LEDを消灯 delay(10) ; tone(13,220,125) ; // ラ すずが「な」る digitalWrite(6,HIGH) ; // LEDを点灯 delay(125) ; // 音がなっている間点灯 digitalWrite(6,LOW) ; // LEDを消灯 delay(10) ; tone(13,247,500) ; // シ すずがな「る」 digitalWrite(5,HIGH) ; // LEDを点灯 delay(500) ; // 音がなっている間点灯 digitalWrite(5,LOW) ; // LEDを消灯 delay(10) ; tone(13,0,250) ; // ン delay(250) ; // 音がなっている間 delay(10) ; tone(13,262,250) ; // ド 「さ」あさいこうよ digitalWrite(6,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(6,LOW) ; // LEDを消灯 delay(10) ; tone(13,262,250) ; // ド さ「あ」さいこうよ digitalWrite(5,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(5,LOW) ; // LEDを消灯 delay(10) ; tone(13,262,250) ; // ド さあ「さ」いこうよ digitalWrite(3,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(3,LOW) ; // LEDを消灯 delay(10) ; tone(13,262,250) ; // ド さあさ「い」こうよ digitalWrite(6,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(6,LOW) ; // LEDを消灯 delay(10) ; tone(13,262,250) ; // ド さあさい「こ」うよ digitalWrite(5,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(5,LOW) ; // LEDを消灯 delay(10) ; tone(13,247,250) ; // シ さあさいこ「う」よ digitalWrite(3,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(3,LOW) ; // LEDを消灯 delay(10) ; tone(13,247,250) ; // シ さあさいこう「よ」 digitalWrite(6,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(6,LOW) ; // LEDを消灯 delay(10) ; tone(13,247,250) ; // シ 「そ」りのあそび digitalWrite(5,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(5,LOW) ; // LEDを消灯 delay(10) ; tone(13,294,250) ; // レ そ「り」のあそび digitalWrite(3,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(3,LOW) ; // LEDを消灯 delay(10) ; tone(13,294,250) ; // レ そり「の」あそび digitalWrite(6,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(6,LOW) ; // LEDを消灯 delay(10) ; tone(13,262,250) ; // ド そりの「あ」そび digitalWrite(5,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(5,LOW) ; // LEDを消灯 delay(10) ; tone(13,220,250) ; // ラ そりのあ「そ」び digitalWrite(3,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(3,LOW) ; // LEDを消灯 delay(10) ; tone(13,196,500) ; // ソ そりのあそ「び」 digitalWrite(6,HIGH) ; // LEDを点灯 delay(500) ; // 音がなっている間点灯 digitalWrite(6,LOW) ; // LEDを消灯 delay(10) ; tone(13,0,500) ; // ン delay(500) ; // 音がなっている間 delay(10) ; tone(13,262,250) ; // ド フィナーレ digitalWrite(3,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(3,LOW) ; // LEDを消灯 delay(10) ; tone(13,294,250) ; // レ digitalWrite(6,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(6,LOW) ; // LEDを消灯 delay(10) ; tone(13,330,250) ; // ミ digitalWrite(5,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(5,LOW) ; // LEDを消灯 delay(10) ; tone(13,349,250) ; // ファ digitalWrite(3,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(3,LOW) ; // LEDを消灯 delay(10) ; tone(13,392,250) ; // ソ digitalWrite(6,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(6,LOW) ; // LEDを消灯 delay(10) ; tone(13,440,250) ; // ラ digitalWrite(5,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(5,LOW) ; // LEDを消灯 delay(10) ; tone(13,494,250) ; // シ digitalWrite(3,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(3,LOW) ; // LEDを消灯 delay(10) ; tone(13,523,500) ; // ド digitalWrite(6,HIGH) ; // LEDを点灯 delay(500) ; // 音がなっている間点灯 digitalWrite(6,LOW) ; // LEDを消灯 delay(10) ; tone(13,392,250) ; // ソ digitalWrite(3,HIGH) ; // LEDを点灯 digitalWrite(5,HIGH) ; // LEDを点灯 digitalWrite(6,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(3,LOW) ; // LEDを消灯 digitalWrite(5,LOW) ; // LEDを消灯 digitalWrite(6,LOW) ; // LEDを消灯 delay(250) ; tone(13,0,125) ; // ン delay(125) ; // 音がなっている間点灯 delay(10) ; tone(13,523,750) ; // ド digitalWrite(3,HIGH) ; // LEDを点灯 digitalWrite(5,HIGH) ; // LEDを点灯 digitalWrite(6,HIGH) ; // LEDを点灯 delay(750) ; // 音がなっている間点灯 digitalWrite(3,LOW) ; // LEDを消灯 digitalWrite(5,LOW) ; // LEDを消灯 digitalWrite(6,LOW) ; // LEDを消灯 delay(10) ; for( int i = 0; i < 16; i++ ) { digitalWrite(LATCHPIN, LOW); MyShiftOut( DATAPIN, CLOCKPIN, 16, 1L << i ); digitalWrite(LATCHPIN, HIGH); delay(100); } digitalWrite(3,HIGH) ; // 赤LEDを点灯 delay(1000) ; digitalWrite(6,HIGH) ; // 緑LEDを点灯 delay(1000) ; digitalWrite(5,HIGH) ; // 青LEDを点灯 delay(1000) ; digitalWrite(3,LOW) ; // 赤LEDを消灯 digitalWrite(6,LOW) ; // 緑LEDを消灯 digitalWrite(5,LOW) ; // 青LEDを消灯 tone(13,0,250) ; // ン digitalWrite(3,HIGH) ; // LEDを点灯 digitalWrite(5,HIGH) ; // LEDを点灯 digitalWrite(6,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(3,LOW) ; // LEDを消灯 digitalWrite(5,LOW) ; // LEDを消灯 digitalWrite(6,LOW) ; // LEDを消灯 delay(250) ; tone(13,0,250) ; // ン digitalWrite(3,HIGH) ; // LEDを点灯 digitalWrite(5,HIGH) ; // LEDを点灯 digitalWrite(6,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(3,LOW) ; // LEDを消灯 digitalWrite(5,LOW) ; // LEDを消灯 digitalWrite(6,LOW) ; // LEDを消灯 delay(250) ; tone(13,0,250) ; // ン digitalWrite(3,HIGH) ; // LEDを点灯 digitalWrite(5,HIGH) ; // LEDを点灯 digitalWrite(6,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(3,LOW) ; // LEDを消灯 digitalWrite(5,LOW) ; // LEDを消灯 digitalWrite(6,LOW) ; // LEDを消灯 delay(250) ; tone(13,0,250) ; // ン digitalWrite(3,HIGH) ; // LEDを点灯 digitalWrite(5,HIGH) ; // LEDを点灯 digitalWrite(6,HIGH) ; // LEDを点灯 delay(250) ; // 音がなっている間点灯 digitalWrite(3,LOW) ; // LEDを消灯 digitalWrite(5,LOW) ; // LEDを消灯 digitalWrite(6,LOW) ; // LEDを消灯 delay(250) ; } else{ digitalWrite(5, LOW); //LEDピンにLOWを出力 digitalWrite(6, LOW); //LEDピンにLOWを出力 digitalWrite(3, LOW); //LEDピンにLOWを出力 } }