2013年9月10日火曜日

9/30の授業:マトリクスLED

次回は3週間後の9/30になります。
次回は主にArduinoをつかって、マトリクスLED制御の演習を行う予定です。
前回のWebカメラ演習とも関連した内容となります。ひきつづき複数の画素制御について演習していきます。
尚、マトリクスLEDについては以下のものを用意してきてください。

必要なもの:
・ノートパソコン
・Arduinoボード+USBケーブル
ブレッドボード(できれば小型なもの2個)
ジャンパワイヤー(オスーオスタイプ:できれば20本以上)
マトリクスLED(アノードコモンタイプ)
*マトリクスLEDには、アノードコモンタイプとカソードコモンタイプがあります。複数のLEDの陽極(+)を共有接合してあるものか、陰極(ー)を共有接合してあるものかになりますが、今回はアノードコモンタイプを使う予定です(入手困難であればカソードコモンタイプでも構いません)。
また、マトリクスLEDがブレッドボードに対してサイズが大きいので、できれば小型なブレッドボードを2枚用意して、その2枚にまたがるように配置するとつかいやすくなります。
上記8x8のマトリクスLEDには、合計64個のLEDが内蔵されており、端子数も16個あるので、最低でも20本はジャンパワイヤーが必要となりますので、足りない場合は追加しておいてください。

 授業内のサンプル: (左上から順番にひとつずつLEDを点灯させる)
マトリクスLEDにはアノードコモンタイプとカソードコモンタイプがあり極性が逆になります。
以下プログラム内のdigitalWrite()のHIGH/LOWが逆になります。 
 
*アノードコモンタイプの場合:

void setup(){
  //16本のピン(2~17)をデジタル出力に設定
  for(int i=2;i<=17;i++){
    pinMode(i,OUTPUT);
  }
}
void loop(){
  //行(横)の繰り返し処理
  for(int i=2;i<=9;i++){     //行(2~9番ピン)
    digitalWrite(i,LOW);    //LOWで点灯

    //列(縦)の繰り返し処理
    for(int j=10;j<=17;j++){ //列(10~17番ピン)
      digitalWrite(j,HIGH);   //HIGHで点灯
      delay(100);            //点灯時間
      digitalWrite(j,LOW);  //列をオフにする
    }

    digitalWrite(i,HIGH);     //行をオフにする
  }
}


*カソードコモンタイプの場合:

void setup(){
  //16本のピン(2~17)をデジタル出力に設定
  for(int i=2;i<=17;i++){
    pinMode(i,OUTPUT);
  }
}
void loop(){
  //行(横)の繰り返し処理
  for(int i=2;i<=9;i++){     //行(2~9番ピン)
    digitalWrite(i,HIGH);    //HIGHで点灯

    //列(縦)の繰り返し処理
    for(int j=10;j<=17;j++){ //列(10~17番ピン)
      digitalWrite(j,LOW);   //LOWで点灯
      delay(100);            //点灯時間
      digitalWrite(j,HIGH);  //列をオフにする
    }

    digitalWrite(i,LOW);     //行をオフにする
  }
}
 
 

0 件のコメント:

コメントを投稿