LEDを30個 6쎗5のマトリクスで接続してみた。
プログラムを見る から、動画・回路図・ガーバーデータが見られます。
IchigoJamBASICはver1.3.1を使用。VIDEO0で高速化することでちらつかずに表示できた。
OUT 1,2,3,4,7 をHレベル OUT 5,6,8,9,10,11 をLレベルにすると点灯する。
OUTコマンドでまとめて制御する。
OUT7には元からLEDが接続されているので送出に、
OUT10はオープンコレクタなので受けにした。
10 'I LOVE YOU 20 VIDEO0 30 FOR I=1 TO 11:OUT I,0:NEXT 40 '1 2 8 16 32 64 = 123 50 A=#800 60 POKEA,0,65,123,65,0 70 POKEA+5,0,0,0,0,0 80 POKEA+10,123,64,64,64,64 90 POKEA+15,58,65,65,65,58 100 POKEA+20,27,48,96,48,27 110 POKEA+25,123,73,73,73,65 120 POKEA+30,0,0,0,0,0 130 POKEA+35,3,24,112,24,3 140 POKEA+40,58,65,65,65,58 150 POKEA+45,59,96,64,96,59 160 POKEA+50,0,0,0,0,0 170 POKEA+55,26,59,122,59,26 180 POKEA+60,0,0,0,0,0 190 FORK=0TO5:FOR J=0 TO 12 200 L=A+J*5:GSB@S 210 NEXT:NEXT 220 BEEP:VIDEO1:END 230 @S:CLT 240 @L:IFBTN()THENOUT0:VIDEO1:END 250 OUT 1+1968-PEEK(L)*16 260 OUT 2+1968-PEEK(L+1)*16 270 OUT 4+1968-PEEK(L+2)*16 280 OUT 8+1968-PEEK(L+3)*16 290 OUT 64+1968-PEEK(L+4)*16 300 IFTICK()>60:OUT0:WAIT15:RTN 310 GOTO@L 10 'DANCE 20 VIDEO0 30 FOR I=1 TO 11:OUT I,0:NEXT 40 '1 2 8 16 32 64 = 123 50 A=#800 60 POKEA,67,114,27,114,67 70 POKEA+5,74,98,59,18,115 80 POKEA+10,74,114,27,114,74 90 POKEA+15,115,18,59,98,74 100 POKEA+20,67,114,27,114,67 110 POKEA+25,88,40,58,104,24 120 POKEA+30,24,104,58,40,88 130 POKEA+35,88,40,58,104,24 140 POKEA+40,24,104,58,40,88 150 FORK=0TO7:FOR J=0 TO 7 160 L=A+J*5:GSB@S 170 NEXT:NEXT 180 BEEP:VIDEO1:END 190 @S:CLT 200 @L:IFBTN()THENOUT0:VIDEO1:END 210 OUT 1+1968-PEEK(L)*16 220 OUT 2+1968-PEEK(L+1)*16 230 OUT 4+1968-PEEK(L+2)*16 240 OUT 8+1968-PEEK(L+3)*16 250 OUT 64+1968-PEEK(L+4)*16 260 IFTICK()>30:OUT0:WAIT2:RTN 270 GOTO@L 10 'IchigoJam LOGO 20 VIDEO0 30 FOR I=1 TO 11:OUT I,0:NEXT 40 '1 2 8 16 32 64 = 123 50 A=#800 60 POKEA,0,0,0,0,0 70 POKEA+5,0,91,64,90,82 80 POKEA+10,82,64,91,72,88 90 POKEA+15,64,89,0,90,82 100 POKEA+20,122,0,90,82,90 110 POKEA+25,64,80,80,91,64 120 POKEA+30,90,82,90,80,66 130 POKEA+35,90,66,90,66,90 140 POKEA+40,0,0,0,0,0,0 145 POKEA+45,0,0,0,0,0,0 150 FORK=0TO2:FOR J=0 TO 44 160 L=A+J:GSB@S 170 NEXT:NEXT 180 BEEP:VIDEO1:END 190 @S:CLT 200 @L:IFBTN()THENOUT0:VIDEO1:END 210 OUT 1+1968-PEEK(L)*16 220 OUT 2+1968-PEEK(L+1)*16 230 OUT 4+1968-PEEK(L+2)*16 240 OUT 8+1968-PEEK(L+3)*16 250 OUT 64+1968-PEEK(L+4)*16 260 IFTICK()>15RTN 270 GOTO@L