次回は主に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 件のコメント:
コメントを投稿