■会期:2014年1月21日(火)-25日(土)
[23日(木)
西山修平(映像)
韓成南(映像+センサ+Webカメラ)
関根麻郎(映像+平面)
木下毅人(アナログシンセサイザー、ライブパフォーマンス:1/23
吉田きり(映像+Webカメラ+サウンド)
■会場:GALLERY OBJECTIVE CORRELATIVE(校舎1F)【地図】
■開場時間:11:00-17:00
■入場無料
(改め:建築工作ゼミ2012)
//8x8の二次元配列を用意 byte matrix[8][8]; void setup(){ //出力ピンの設定、すべてオフにする for(int i=2;i<=17;i++){ pinMode(i,OUTPUT); digitalWrite(i,LOW); } //シリアル通信開始 Serial.begin(9600); } void loop(){ //シリアル通信(64個分のデータ) if(Serial.available()>63){ for(int k=0;k<8;k++){ for(int l=0;l<8;l++){ //読み込んだ値を配列に代入 matrix[k][l]=Serial.read(); } } } //各LEDの点灯制御 for(int i=2;i<=9;i++){ //列の点灯 digitalWrite(i,HIGH); //極性が逆の場合HIGHをLOW for(int j=10;j<=17;j++){ //行の点灯 digitalWrite(j,LOW); //極性が逆の場合LOWをHIGH
//行の点灯継続時間 delayMicroseconds(1+matrix[i-2][j-10]); //行の消灯 digitalWrite(j,HIGH); //極性が逆の場合HIGHをLOW
//行の消灯継続時間 delayMicroseconds(256-matrix[i-2][j-10]); } //列の消灯 digitalWrite(i,LOW); //極性が逆の場合LOWをHIGH
} }
マトリクス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); //行をオフにする } }