プログラム例)
//電子サイコロ //7セグメント表示器にランダムに1~6を表示する //SW1(右側)で停止,SW2(左側)で再スタート //配列を使用→{a,b,c,d,e,f,g} int i,kazu ; //整数型の宣言 int j = 10 ; int k = 10 ; int num0[]={1,1,1,1,1,1,0}; //配列の宣言 int num1[]={0,1,1,0,0,0,0}; int num2[]={1,1,0,1,1,0,1}; int num3[]={1,1,1,1,0,0,1}; int num4[]={0,1,1,0,0,1,1}; int num5[]={1,0,1,1,0,1,1}; int num6[]={1,0,1,1,1,1,1}; int num7[]={1,1,1,0,0,0,0}; int num8[]={1,1,1,1,1,1,1}; int num9[]={1,1,1,0,0,1,1}; void setup() { pinMode(8,INPUT); pinMode(9,INPUT); for (i=0;i<=7;i++){ pinMode(i,OUTPUT); //D0からD7までを出力に設定 } for (i=10;i<=13;i++){ pinMode(i,OUTPUT); //D10からD13までを出力に設定 } } void loop() { tone(0,280,10) ; kazu=random(1,7); switch (kazu) { case 0: for (int i=1;i<=7;i++){ //「0」を表示。aからgまで7回繰り返し処理 if(num0[i-1]==1){ //「1」の時はそのセグメントを点灯させる digitalWrite(i,HIGH); } } break; case 1: for (int i=1;i<=7;i++){ //「1」を表示 if(num1[i-1]==1){ digitalWrite(i,HIGH); } } break; case 2: for (int i=1;i<=7;i++){ //「2」を表示 if(num2[i-1]==1){ digitalWrite(i,HIGH); } } break; case 3: for (int i=1;i<=7;i++){ //「3」を表示 if(num3[i-1]==1){ digitalWrite(i,HIGH); } } break; case 4: for (int i=1;i<=7;i++){ //「4」を表示 if(num4[i-1]==1){ digitalWrite(i,HIGH); } } break; case 5: for (int i=1;i<=7;i++){ //「5」を表示 if(num5[i-1]==1){ digitalWrite(i,HIGH); } } break; case 6: for (int i=1;i<=7;i++){ //「6」を表示 if(num6[i-1]==1){ digitalWrite(i,HIGH); } } break; case 7: for (int i=1;i<=7;i++){ //「7」を表示 if(num7[i-1]==1){ digitalWrite(i,HIGH); } } break; case 8: for (int i=1;i<=7;i++){ //「8」を表示 if(num8[i-1]==1){ digitalWrite(i,HIGH); } } break; case 9: for (int i=1;i<=7;i++){ //「9」を表示 if(num9[i-1]==1){ digitalWrite(i,HIGH); } } break; } digitalWrite(j, HIGH); // LED点灯(右から左へ) j++ ; if(j==14) j=10; delay (100); //待機 if(digitalRead(8)==LOW){ //ストップボタンが押された場合 tone(0,280,1000) ; //停止時のビープ音(1秒間) while(digitalRead(9)==HIGH){ //待ちうけループ if(digitalRead(9)==LOW) break; //スタートボタンでbreakして先に進む } } for (k=10;k<=13;k++){ digitalWrite(k,LOW); //全LED消灯 } for (i=1;i<=7;i++){ //全セグメントを一旦消灯する digitalWrite(i,LOW); } } //ここまで
こんにちは。
私も最近Arduino Dueを使ってますが、使い勝手も良く、何でも出来て便利ですよね。