めがね会館あたりから見た新社屋、メガネストリート沿い、枇杷橋(びわ橋)奥です
本日、竣工式 by 舟津神社!
お世話になった鯖江市役所、佐々木市長、ご出席、ありがとうございました!
株式会社https://t.co/voS5lrDqmU様の新社屋の竣工式が挙行されました。新しい拠点での更なるご繁栄をご祈念申し上げます。https://t.co/voS5lrDqmUの皆様、おめでとうございます。 pic.twitter.com/dqGOjyy1JE
— 佐々木勝久 (@katsuhisas) July 21, 2022
こちら目玉、TSUGIとのコラボで完成、LEDウォール!
エントランスに150LED/5mのWS2812Bを45本使って、IchigoJam 1台でコントロールしています。マシン語ドライバとBASICによるjig.jpロゴ表示プログラムは記事の末尾に。
BAUMさん、サイト建設さん、TSUGIさん、エビスヤさん、ありがとうございました!
元気が出る赤い階段。
上がった2Fには、いつでも青空、青空照明。
建物右上の「jig.jp」ロゴが目印。
7/29金18:30-22:00、新しいコト交換会、サイバーフライデーの会場です!
何か展示したい方、何か発表したい方、ぜひお越しください。
10 POKE#700,8,34,18,2,10,68,148,70,240,181,114,182,9,36,36,2,9,25,45,76,9,32,1,180,3,32,0,240,64,248,16,32,0,240,22,248,1,49,1,56,250,209,18,32,0,240,55,248,1,57,16,32,0,240,12,248,1,57,1,56,250,209 20 POKE#73E,15,32,0,240,45,248,1,188,17,49,1,56,228,209,98,182,240,189,11,120,15,34,19,64,6,34,83,67,3,181,9,32,97,70,201,24,11,136,0,240,9,248,75,136,0,240,6,248,139,136,0,240,3,248,64,30,244,209 30 POKE#778,3,189,128,37,255,34,34,96,3,39,9,38,43,66,1,208,9,39,3,38,1,63,253,209,0,34,34,96,1,62,253,209,109,8,239,209,112,71,0,35,128,37,255,34,34,96,3,39,9,38,43,66,1,208,9,39,3,38,1,63,253,209 40 POKE#7B6,0,34,34,96,1,62,253,209,109,8,239,209,1,56,236,209,112,71,128,0,1,80 50 LRUN1 SAVE0 NEW 10 [90]=" " 15 [91]=" 1 1 1 " 20 [92]=" " 30 [93]=" 1 1 1111 1 111 " 40 [94]=" 1 1 1 1 1 1 1 " 50 [95]=" 1 1 111 1 1 111 " 60 [96]=" 1 1 1 1 " 70 [97]="11 111 11 1 " 80 [98]=" " 85 LET[0],0,0,0,80,80,80 99 VIDEO3:CLS 100 FOR I=1 TO 16 110 FOR J=0 TO 8 120 LC 16-I,J:?STR$([90+J],I); 130 NEXT 135 GSB300 140 NEXT 200 FOR I=1 TO 16 210 FOR J=0 TO 8 220 LC 0,J:?STR$([90+J]+I); 230 NEXT 235 GSB300 240 NEXT 250 GOTO100 300 WAIT20 305 ?USR(#700) 310 RTN SAVE1 LRUN0
16x9のLEDウォールのArmマシン語ドライバ
* ニーモニックはasm15表記、asm15 assemblerでアセンブル可能、Armマシン語入門
' LED用 WS2812B 32x8 #800に3byteパレット最大16色パレット、R, G, B(キャラクターコードの下位4bit、0やSPCが0) ' R0 - data count ' R1 - data address #900(VRAM)から1byte 1pixel = 1color palette #800 ' R2 - temp OUT value 0/#FF, & 15 ' R3 - data value, temp ' R4 - GPIO address ' R5 - bit count ' R6 - wait count buf ' R7 - wait count ' R12 - #800 palette address @WS2812B R2=8 R2=R2<<8 R2+=R1 R12=R2 PUSH {LR,R4,R5,R6,R7} CPSID R4=9 R4=R4<<8 R1=R1+R4 R4=[@OUT]L R0=9 ' send 9line @LOOP_LINE PUSH {R0} 'send 1spc R0=3 GOSUB @SEND_ZERO 'send line front R0=16 @LOOP_DATA GOSUB @SEND_DOT R1+=1 R0-=1 IF !0 GOTO @LOOP_DATA 'send 6spc R0=6*3 GOSUB @SEND_ZERO 'send line back R1-=1 R0=16 @LOOP_DATA_BACK GOSUB @SEND_DOT R1-=1 R0-=1 IF !0 GOTO @LOOP_DATA_BACK 'send 5spc R0=5*3 GOSUB @SEND_ZERO POP {R0} R1+=17 R0-=1 IF !0 GOTO @LOOP_LINE @END CPSIE POP {PC,R4,R5,R6,R7} 'send 1dot @SEND_DOT 'param R1:address R3=[R1] ' palette R2=15 R3&=R2 R2=6 ' palette #800から配列3要素、6byteずつ R3*=R2 PUSH {LR,R0,R1} R0=9 '1dot = 9pixel R1=R12 R1=R1+R3 @LOOP_DOT R3=[R1+0]W ' G GOSUB @SEND_BYTE R3=[R1+1]W ' R GOSUB @SEND_BYTE R3=[R1+2]W ' B GOSUB @SEND_BYTE R0=R0-1 IF !0 GOTO @LOOP_DOT POP {PC,R0,R1} @SEND_BYTE 'send R3 to GPIO(R4), use R2, R5, R6, R7 R5=#80 @LOOP_BIT R2=#FF [R4]L=R2 R7=3 '(3*4+1)=13 <- 16.8+-7.2 R6=9 '(9*4+1)=37 <- 43.2+-7.2 R3&R5 IF 0 GOTO @SKIP_LOOP_BIT R7=9 '(9*4+1)=37 <- 43.2+-7.2 R6=3 '(3*4+1)=13 <- 16.8+-7.2 @SKIP_LOOP_BIT R7-=1 'wait R7*4+1 clock IF !0 GOTO -1 R2=0 [R4]L=R2 R6-=1 'wait R6*4+1 clock IF !0 GOTO -1 R5=R5>>1 IF !0 GOTO @LOOP_BIT RET @SEND_ZERO R3=0 @SEND_ZERO_LOOP 'GOSUB @SEND_BYTE 'なぜかこれを呼ぶと暴走するから、以下ループ展開 R5=#80 @LOOP_BIT0 R2=#FF [R4]L=R2 R7=3 '(3*4+1)=13 <- 16.8+-7.2 R6=9 '(9*4+1)=37 <- 43.2+-7.2 R3&R5 IF 0 GOTO @SKIP_LOOP_BIT0 R7=9 '(9*4+1)=37 <- 43.2+-7.2 R6=3 '(3*4+1)=13 <- 16.8+-7.2 @SKIP_LOOP_BIT0 R7-=1 'wait R7*4+1 clock IF !0 GOTO -1 R2=0 [R4]L=R2 R6-=1 'wait R6*4+1 clock IF !0 GOTO -1 R5=R5>>1 IF !0 GOTO @LOOP_BIT0 R0-=1 IF !0 GOTO @SEND_ZERO_LOOP RET @OUT DATA L #50010000+`10000000 'LED(PIO1_5)
1箱は9pixel x 5line、1行を5つの150pixelのテープLEDで作成。右1LEDを飛ばして、9LED*16を5LED分飛ばして折り返して、左1LED飛飛ばして、9LED*16を逆順で表示して5LED分スキップして、1往復。 これを9ライン分を繰り返してできあがり。16x9を、画面表示用用メモリ(VRAM)の#900番地からの16x9byte、144byte使って表示するドライバになっています。 色は、配列を48コ使って、16色各色256段階、GRBの順で設定します。
実物が気になる方、7/29金18:30-22:00、新しいコト交換会、サイバーフライデーへどうぞ!