SHIROのIchigoJam日記

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

IchigoName mobile

IchigoJam mobile環境のその後ですが、アクリルベースに貼り付けて、首から下げる名札「IchigoName mobile」としました。

ボタンをA,Bボタンの2個に増設し、ブザーも搭載。それに伴って接続ポートを変更しました。

  • OUT1(ANA5)=ジョイスティックAx(0〜1023)
  • OUT2(ANA6)=ジョイスティックAy(0〜1023)
  • OUT5(IN10)=Bボタン(OFF=1,ON=0)
  • OUT6(IN11)=Aボタン(OFF=1,ON=0)

これは、次に試作予定の「mobileシールド」をにらんだ変更です。
BTN端子を空けておけば、もし自動起動したい時はワイヤでGNDに落とせばいいです。
ついでにIchigoJam Tへの接続配線を、基板の裏側に変えました。

画面はスロット0に入れる「Name Loader」です(自動実行を想定)。
起動すると、名前の文字を横にくり返し流します。


Aボタンを押すとローダー画面になります。1〜3のスロット番号をジョイスティック上下で選択して、Aボタンを押すと実行します。
1〜3の選択なら数字は1桁でいいのですが、EEPROMを付けた時のことを考えて2桁表示にしています。その場合は数字を動かす範囲も変えないといけないですが。


mobile用に移植した落ち物パズルゲームです。
操作は、ジョイスティック左右=ブロック左右移動、下=ブロック降下、Aボタン=ブロック上下反転、Bボタン=終了時リプレイです。


Bsch3Vで描いた回路図です。
アナログジョイスティックをこの向きに配置・配線すると、読み取り値が、スティック横操作Ax=0(左)〜1023(右)、縦操作Ay=0(上)〜1023(下)となり、画面の座標方向と合うのでプログラムが作りやすくなります。例えば、

J=(ANA(5)-512)/480:X=X+J
K=(ANA(6)-512)/480:Y=Y+K
で、ジョイスティックを左に動かすとJ=-1、中立でJ=0、右でJ=1となり、X座標を左右方向に変えられます。上下方向のY座標も同様です。


こちらは以前にPCN金沢のイベントで作ったIchigo64(IchigoJam+IchigoDot)版の名札「IchigoName64」。
名札としては、こちらのLED表示の方が見やすいかも。

「Name Loader」のプログラムはこちら。
30行の名前のデータを変えると、横に流す名前が変えられます。
ローダー機能だけでいい場合は、30〜60行を削除すればいいです。

10 '*Name Loader mj
20 SWITCH:CLV:CLS:OUT1,-1:OUT2,-1:OUT5,-1:OUT6,-1
30 LET[0],#26,#49,#32,0,#7F,#08,#7F,0,#7F,0,#7F,#19,#66,0,#3E,#41,#3E,0,0,0,#26,#49,#32,0,#7E,#09,#7E,0,#7F,0,#01,#7F,#01,0,#3E,#41,#3E,0,0,0
40 '@NAMELOOP
50 SCROLL3:X=15:D=[C]:GSB200:WAIT20:C=C+1:IFC>53C=0
60 IFIN(11)GOTO40
70 BEEP:CLS
80 LET[0],#3E,#41,#3E,0,#7F,0,#62,#59,#46,#22,#49,#36,#C,#A,#7E,#2F,#49,#31,#3E,#49,#32,3,#71,#F,#36,#49,#36,#26,#49,#36
90 N=1:GSB170
100 '@NLOOP
110 N=N-(ANA(6)-512)/480
120 IFN<1N=3
130 IFN>3N=1
140 GSB170
150 IFIN(11)GOTO100
160 BEEP:LRUNN
170 '@PRTN
180 M=N/10:FORI=0TO2:X=5+I:D=[M*3+I]:GSB200:NEXT
190 M=N%10:FORI=0TO2:X=9+I:D=[M*3+I]:GSB200:NEXT:RTN
200 '@PRT1
210 FORY=0TO7:POKE#900+X+Y*16,D&1:D=D>>1:NEXT:RTN