SHIROのIchigoJam日記

マイコン「IchigoJam」(イチゴジャム)の電子工作とプログラミングをメインに

GIGA LEDセンサー基板

GIGA IchigoDake用の拡張基板です。(通常のIchigoJam/IchigoDakeでも使えます)
GIGA IchigoDakeの機能を拡張すると共に、弱点をカバーする設計です。
紹介動画はこちら。

www.youtube.com

f:id:shiro0922:20220304175142j:plain

  • OUT1~8で制御できるLEDを8個搭載
    • DirectAppsのシリアルコンソールよりも、高速でリアルタイムな表示ができます。
  • 光センサー(フォトトランジスタ)搭載
    • センサーの値による制御ができます。
  • ボタン入力スイッチを搭載
    • 大型ボタンなのでGIGA IchigoDakeのボタンより押しやすいです。DirectAppsのシリアルコンソールよりも、高速でリアルタイムな入力ができます。
  • 圧電ブザーを搭載
    • GIGA IchigoDake+DirectAppsの環境ではサウンドが出せないのですが、この基板のブザーで音が出せます。
  • ボタン用拡張ソケット、OUT10・11用拡張ソケットを搭載
    • 外付けセンサーやボタンなどをつなげられます。

基板データ

f:id:shiro0922:20220313134848p:plain

f:id:shiro0922:20220313135415p:plain

*同じ基板を4枚配置しています。
*この基板データは、CC BYライセンスとします。どうぞご利用ください。

(C) 2022 Shiro Saito (https://www.ichigoaman.jp)

プログラム

(1)照度計

起動すると、8個のLEDが光ります。光センサーを指で影にすると、LEDメーターが縮みます。その場の明るさが簡単に計れます。

10 A=ANA(2)
20 FOR L=1 TO 8
30 OUT L,A>L*100
40 NEXT
50 GOTO 10

(2)ルーレット

起動すると、LEDの1番~8番がランダムに光って止まります。ボタンを押すとまたルーレットが回ります。次に何番が出るか賭けられます。

10 FOR T=1 TO 10
20 OUT 0
30 BEEP 10,2
40 L=RND(8)+1
50 OUT L,1
60 WAIT 6
70 NEXT
80 IF !BTN() CONT
90 GOTO 10

(3)キャッチゲーム

起動すると、LED(ボール)が1番→8番の順で光ります。8番が光った時にボタンを押すとボールをキャッチできます。押すのが早すぎたり遅すぎたりするとミスになります。
f:id:shiro0922:20220305095328j:plain
ボールはだんだん速くなります。シリアルコンソール画面にWAITの数字が表示されるので、どこまでキャッチできるか挑戦して下さい。

5 W=15:OUT 0
7 ?W
10 FOR P=1 TO 8
15 B=BTN()
20 OUT P,1
30 WAIT W
40 OUT P,0
50 NEXT
60 IF B=0 AND BTN() BEEP:W=W-1:GOTO 7
70 BEEP 30,30

(4)100mダッシュ

f:id:shiro0922:20220313111620j:plain
基板に付いているボタンスイッチを100回連打します。走った距離がシリアルコンソール画面に表示されます。100m走ってゴールするとタイムが表示されます。

ピンソケット(2ピン)に外付けボタンをつないで走ることもできます。

10 CLT
20 FOR X=1 TO 100
30 IF !BTN() CONT
40 IF BTN() CONT
50 ?X
60 NEXT
70 T=TICK()
80 ?T/60;".";T%60/6

(5)バーサライ

左右に振るとハート形の文字が見えます。
GIGA IchigoDakeは動作速度が速いので、WAITを入れて表示時間を調整しています。

10 '*POV
20 CLV
30 [0]=`00001110
40 [1]=`00011111
50 [2]=`00111111
60 [3]=`01111110
70 [4]=`11111100
80 [5]=`01111110
90 [6]=`00111111
100 [7]=`00011111
110 [8]=`00001110
120 FOR L=0 TO 9
130 OUT [L]
140 WAIT -100
150 NEXT
160 GOTO 120