KOMAINOで電子サイコロを作る

KOMAINOのディスプレイを使って電子サイコロを作ってみましょう。

プログラムはAボタンを押すと1から6の値をランダムで選び、選んだ値に応じてサイコロの目をディスプレイに表示させます。


ランダムに数字を選ぶ

ランダムに数字を選ぶためには以下の命令を使います。

random(最小,最高+1);

サイコロの目は1から6なので

random(1,7);

となります。

選ばれた数字を変数に代入します。今回はnumberという変数に代入します。

number = random(1,7);

これでサイコロの目をランダムに選ぶプログラムが完成です。


サイコロの目を作る

ランダムに選ばれた数字に対応するサイコロの目を作りましょう。サイコロの目をディスプレイに描くには、drawDisplayを使います。

1から6のサイコロの目は以下のようになります。

1の目 komaino.drawDisplay(0B00000,0B00000,0B00100,0B00000,0B00000);
2の目 komaino.drawDisplay(0B00000,0B00010,0B00000,0B01000,0B00000);
3の目 komaino.drawDisplay(0B00000,0B00010,0B00100,0B01000,0B00000);
4の目 komaino.drawDisplay(0B00000,0B01010,0B00000,0B01010,0B00000);
5の目 komaino.drawDisplay(0B10001,0B00000,0B00100,0B00000,0B10001);
6の目 komaino.drawDisplay(0B01010,0B00000,0B01010,0B00000,0B01010);

それぞれランダムに選ばれた数字に応じて表示するようにしましょう。

if(number == 1){
    komaino.drawDisplay(0B00000,0B00000,0B00100,0B00000,0B00000);
  }else if(number == 2){
    komaino.drawDisplay(0B00000,0B00010,0B00000,0B01000,0B00000);
  }else if(number == 3){
    komaino.drawDisplay(0B00000,0B00010,0B00100,0B01000,0B00000);
  }else if(number == 4){
    komaino.drawDisplay(0B00000,0B01010,0B00000,0B01010,0B00000);
  }else if(number == 5){
    komaino.drawDisplay(0B10001,0B00000,0B00100,0B00000,0B10001);
  }else if(number == 6){
    komaino.drawDisplay(0B01010,0B00000,0B01010,0B00000,0B01010);
}

ディスプレイにサイコロの目を描くプログラムが完成しました。


プログラムを組み合わせる

ランダムに数字を選び出すプログラムと、ディスプレイにサイコロの目を描くプログラムを組み合わせて、電子サイコロのプログラムにしましょう。

プログラムは以下のようになります。

int number;

void setup() {

}

void loop() {

  if (digitalRead(butA) == 0) {
    number = random(1, 7);
  }

  if(number == 1){
    komaino.drawDisplay(0B00000,0B00000,0B00100,0B00000,0B00000);
  }else if(number == 2){
    komaino.drawDisplay(0B00000,0B00010,0B00000,0B01000,0B00000);
  }else if(number == 3){
    komaino.drawDisplay(0B00000,0B00010,0B00100,0B01000,0B00000);
  }else if(number == 4){
    komaino.drawDisplay(0B00000,0B01010,0B00000,0B01010,0B00000);
  }else if(number == 5){
    komaino.drawDisplay(0B10001,0B00000,0B00100,0B00000,0B10001);
  }else if(number == 6){
    komaino.drawDisplay(0B01010,0B00000,0B01010,0B00000,0B01010);
  }
}

プログラムをKOMAINOに転送し、動きを見てみましょう。

Aボタンを押している間サイコロを振り続け、ボタンを離すと数字が決定されます。


これでサイコロをつくるチュートリアルは終了です。

次はチュートリアル7【IFTTTを使ってスマートフォンに通知を出す】を初めましょう。

メニューに戻る