. LEDマトリクスを動かしてみた - バイクとカメラと戯れ言
LEDマトリクスを動かしてみた - バイクとカメラと戯れ言
LEDマトリクスを動かしてみた - バイクとカメラと戯れ言

バイクとカメラと戯れ言

バイクはXJ600 diversion、カメラはDMC-CM1、旅の様子やそのほか日々のことを書きます

新年秋月電子お楽しみ袋のLEDマトリクスを動かしてみた

  • キットの抵抗R2,R3はジャンパ
  • R4,R5は390Ω、ただし全点灯はさけたほうがよい
  • コネクタはCN1A,B,CN2A,B共通
  • 基板を連結させれば16x64になる
  • コネクタ配列は9,7,5,3,1
  • 10,8,6,4,2
  • コネクタ1 LED PWR -> Vout
  • コネクタ2 Sin1 -> IO12
  • コネクタ3 Sin2 -> IO13
  • コネクタ4 Sin3 -> IO14
  • コネクタ5 CLOCK -> IO16
  • コネクタ6 LATCH -> IO15
  • コネクタ7 STROBE -> IO2
  • コネクタ8 IC PWR -> Vout
  • コネクタ9 GND
  • コネクタ10 GND
  • 16chはクロック1マイクロ秒で設定

制御に使用するのはArduino 互換でもあり、無線LAN機能ももつESP WROOM 02

#include extern "C" < #include "user_interface.h" >unsigned int sin1 = 0x0001;//縦 unsigned int sin2 = 0xffff;//横1 unsigned int sin3 = 0xffff;//横2 int shiftsin =0; void setup() < Serial.begin(115200); //ピンをOutputモードに切り替え pinMode(2, OUTPUT);//strobe pinMode(12, OUTPUT);//sin1 pinMode(13, OUTPUT);//sin2 pinMode(14, OUTPUT);//sin3 pinMode(15, OUTPUT);//latch pinMode(16, OUTPUT);//clock //シリアルポートに文字列出力 Serial.println("setup OK"); >void bitchecker(unsigned int sin0,int portnum)< sin0 &=0x0001; if(sin0==1)< digitalWrite(portnum,HIGH); >else < digitalWrite(portnum,LOW); >> // the loop function runs over and over again forever void loop() < unsigned int tmp_sin1=sin1; unsigned int tmp_sin2=sin2; unsigned int tmp_sin3=sin3; digitalWrite(15,HIGH);//LatchをHIGH digitalWrite(2,HIGH); for(int i=0;i>1; tmp_sin2 = tmp_sin2 >>1; tmp_sin3 = tmp_sin3 >>1; delayMicroseconds(50); > digitalWrite(15,LOW); //Latch low 書き込み digitalWrite(2,LOW); //STLOBE HIGH delayMicroseconds(50); delay(500); sin1 = sin1
📎📎📎📎📎📎📎📎📎📎