SHIROのIchigoJam日記

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

LEDリングシールド

フルカラーLEDリング・加速度センサー・ブザーを搭載した、IchigoJam/IchigoDake用の拡張基板です。
「光の三原色」「コンピュータでの色の扱い」などを学ぶ教材として開発しました。


回路図

  • LEDリング(WS2812B)はLED端子につながっているので、「WS.LED」コマンドで制御できます。
  • 加速度センサーは、X軸出力がOUT1(ANA5)、Y軸出力がOUT2(ANA6)、Z軸出力がOUT3(ANA7)につながっています。それぞれANA()関数で値が読み取れます。読み取る前に「OUT1,-1:OUT2,-1:OUT3,-1」を実行して、プルダウン設定にしてください。

基板データ

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

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

材料

以下の順番でハンダ付けすると作りやすいです。

プログラム

ランダム

8個のLEDをランダムな色で光らせます。

10 FOR L=0 TO 23
20 [L]=RND(50)
30 NEXT
40 WS.LED 8

光の三原色

G(緑)・R(赤)・B(青)の光の三原色の値を設定して、合成色を確認できます。
数字キー1・2でGの値を上下、3・4でRの値を上下、5・6でBの値を上下させてください。

10 CLV
20 K=INKEY()
30 [0]=([0]-(K=49)+(K=50))&255
40 [1]=([1]-(K=51)+(K=52))&255
50 [2]=([2]-(K=53)+(K=54))&255
60 WS.LED 1,8
70 ?"G";[0],"R";[1],"B";[2]
80 WAIT 5
90 GOTO 20

傾斜計

加速度センサーの値を読み取って、傾斜している(下っている)方向のLEDが光ります。
基板をいろいろな方向へ傾けてみてください。

10 LET [30],1,0,7,2,8,6,3,4,5
20 OUT 1,-1:OUT 2,-1
30 FOR N=0 TO 23:[N]=0:NEXT
40 A=ANA(5)/31-16
50 X=(A>0)-(A<0)
60 B=ANA(6)/31-16
70 Y=(B>0)-(B<0)
80 ?X,Y
90 L=[34+X+Y*3]
100 [L*3]=50
110 WS.LED 8
120 GOTO 30

センサーかわくだり


加速度センサーのX軸方向へ基板を傾けて、自キャラを左右に動かして遊びます。
IchigoDyhook+IchigoDakeだと、全体を左右に傾ければいいので遊びやすいです。

10 CLS:CLT:X=16:OUT 1,-1
20 A=ANA(5)/31-16
22 [6]=50*(A<0):[18]=50*(A>0)
24 WS.LED 8
26 X=X-A:X=X&31
30 IF SCR(X,5) ?TICK()/60:END
40 LC X,5:?"O"
50 LC RND(32),23:?"*"
60 WAIT 3
70 GOTO 20

ハンドベル

基板を上下に振ると、一音ずつ曲を演奏します。

  • 20行が曲のデータです。「;」で区切って音を並べてください。
  • 上下の振り方によってはうまく音が出ない時があります。40行の「A<710」の値を調整してください。
10 CLV:OUT 3,-1
20 P="C;D;E;F;E;D;C;R;E;F;G;A;G;F;E;R"
30 A=ANA(7):?A
40 IF A<710 PLAY P+N*2:N=N+1
50 WAIT 30
60 GOTO 30