だいぶ前の話ですが、aitendoのLED付きタクトスイッチを4個並べたシールド基板を作ってみました。
回路は単純で、LEDをOUT1~4に、タクトスイッチをIN1~4につないでいます。
LEDとスイッチが一体だと、いろいろ遊べて面白いです。
http://www.aitendo.com/product/7059www.aitendo.com
プログラム0:セレクタ
LED1~3が点灯するので、どれかを押すと、スロット1~3のプログラムを起動します。
10 '*Selecter 20 CLV 30 OUT 7 40 @LOOP 50 IF !IN(1) G=1 60 IF !IN(2) G=2 70 IF !IN(3) G=3 80 IF !G GOTO @LOOP 90 BEEP 100 OUT 1<<(G-1) 110 WAIT 30 120 OUT 0 130 LRUN G
プログラム1:信号機
青・黄・赤の車用信号機です。
【IchigoJam】LED4BTN:信号機
1 '*Traffic Light 10 OUT 1,1 20 WAIT 300 30 OUT 1,0 40 OUT 2,1 50 WAIT 120 60 OUT 2,0 70 OUT 3,1 80 WAIT 300 90 OUT 3,0 100 GOTO 10
プログラム2:サイモン(記憶ゲーム)
起動すると、LED4個のうちのどれか1個が点灯します。
そのボタンを押すと、次は出題が1個増えます。間違えないように順番にボタンを押してください。
回答をミスするとゲームオーバーです。ボタン1を押すとリプレイします。
【IchigoJam】LED4BTN:サイモン
10 '*SIMON 20 CLV 30 SRND TICK() 40 OUT 0 50 WAIT 60 60 @QUEST 70 M=M+1 80 [M]=RND(4)+1 90 FOR I=1 TO M 100 N=[I] 110 OUT N,1 120 GSB @PLAY 130 OUT N,0 140 NEXT 150 @ANSWER 160 A=0 170 @ALOOP 180 N=0 190 FOR I=1 TO 4 200 IF IN(I)=0 THEN N=I 210 NEXT 220 IF N=0 THEN GOTO @ALOOP 230 A=A+1 240 IF N<>[A] GOTO @END 250 OUT N,1 260 GSB @PLAY 270 OUT N,0 280 IF A<M GOTO @ALOOP 290 WAIT 60 300 GOTO @QUEST 310 @END 320 OUT 15 330 BEEP 30,120 340 WAIT 120 350 @RESTART 360 IF IN(1)=0 THEN RUN ELSE GOTO @RESTART 370 @PLAY 380 IF N=1 PLAY "R32D" 390 IF N=2 PLAY "R32G" 400 IF N=3 PLAY "R32A" 410 IF N=4 PLAY "R32B" 420 WAIT 30 430 RETURN
プログラム3:モグラたたき
こういうスイッチがあると、やっぱりモグラたたきをやりたくなります。
モグラを30秒間叩くと、叩いた数が2進数で表示されます(最大15匹まで)。
叩くとどんどん速くなるので、ついていけません(^_^;)
【IchigoJam】LED4BTN:モグラたたき
10 '*Mogura Tataki 20 CLV 30 SRND TICK() 40 L=1800:N=80 50 WAIT 60 60 CLT 70 @LOOP 80 OUT 0 90 WAIT 10 100 @MRND 110 R=RND(4)+1 120 IF R=M GOTO @MRND 130 M=R 140 OUT M,1 150 BEEP 30 160 W=TICK()/N 170 @TATAKU 180 IF IN(M)=0 GOTO @HIT 190 IF TICK()/N=W GOTO @TATAKU 200 IF TICK()<L GOTO @LOOP 210 OUT 0 220 BEEP 30,60 230 WAIT 60 240 OUT S 250 IF IN(1) CONT 260 RUN 270 @HIT 280 OUT 0 290 BEEP 300 S=S+1 310 IF S>15 S=15 320 N=N-4 330 WAIT 10 340 GOTO @LOOP
ちなみにバーサライタも試してみましたが、LEDの輝度があまり明るくないのと、色がそれぞれ違うこともあって、うまく見えませんでした(^_^;)