Gainer + Processing で7セグLEDを点灯させる

そこそこ値段のはるものなので、買って放置という訳には行きません。
という事で、ブレッドボードを買ったらついてきた7セグメントLEDを点灯させてみます。

用意するものはGainer、ブレッドボード、ジャンパ線、500Ωくらいの抵抗7本、7セグメントLEDであります。あ、あとProcessingが動く環境。


さて、Processingのコードは以下の通り。

//Gainerを使うためのインポート
import processing.gainer.*;

/**Gainerクラスのインスタンス*/
Gainer gainer;
/**フォント*/
PFont myFont;

/**出力したい数字*/
int value = 0;
/**0~9に対応する2進数を10進数に直したものの配列*/
int ledArray[] = {63, 12, 91, 94, 108, 118, 119, 28, 127, 124};

/**
* セットアップを行う。コンストラクタ。
*/
void setup() {
  //ウィンドウサイズの設定
  size (100, 100);
  //Gainerを初期化、生成。
  gainer = new Gainer(this,Gainer.MODE6);
  //フォントをロード
  myFont = loadFont("Eureka90.vlw");
  //フォントをセット
  textFont(myFont, 32);
}

/**
* 描画を行うメソッド。ループで呼ばれる。
*/
void draw() {
  
  //バックグラウンドを塗りつぶし
  background(120);

  //文字を書き出し
  text(value, 15, 50);
  
  //1秒スリープさせる。
  try{
    Thread.sleep(1000);
  }catch(InterruptedException e){
  }
  
  //Gainerのデジタル出力に対して2進による操作(Low or High)を行う
  gainer.digitalOutput(ledArray[value]);
  
  //valueが配列のサイズを超えないようにする
  if(value<9){
    value++;
  }else{
    value = 0;
  }
  
}

回路図は+GAINERのP124を参照してください。

配線するとこんな感じ。

実行結果は以下のようになります。

LEDが見やすくなるように部屋の電気を消しています。


今回は簡単なプログラムで、7セグを一つ光らせただけですが、今後はもう少し工夫して凝ったものを作りたいなあなんて思っています。
まあ今週の卒研発表が終わるまでは無理でしょうけどね(笑