SHIROのIchigoJam日記

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

IchigoJam mobile

FacebookのIchigoJam-FANグループで、IchigoJamに液晶ユニットを付けてモバイル環境にする「IchigoJam mobile」ファームウェアβ版が公開されています。

※2017年以降に公開されているファームウェアは、この液晶ユニットに対応しています。コマンド「SWITCH 1」で液晶表示に切り替え、「SWITCH 0」で通常のビデオ出力に戻ります。

それを使って、「IchigoJam mobile」を作ってみました。

液晶ユニットは、aitendoで販売されているFSTNモジュールです。
このユニットとアナログジョイスティック、タクトスイッチをユニバーサル基板にハンダ付けして、さらに超薄型モバイルバッテリーに亀の子に載せました。
IchigoJam Tとは、DIP28用の空きパターンにリード線で配線しています。
いずれ、全体をアクリルベースに載せる予定です(取り寄せ中)。


画面は、16文字×8行表示・ジョイスティックとボタン操作に改造したシューティングゲームです。
バッテリ駆動なので、どこでも持ち歩いて遊べます(^_^)

液晶とIchigoJamの配線

液晶モジュール IchigoJam
7(SCL) IN1
8(SI) VIDEO2
9(VDD) VCC
10(VSS) GND
11(LEDA) VCC
12(/CS) GND
13(/RST) IN4
14(A0) IN2

液晶用シューティングゲーム

アナログジョイスティックは、OUT3,4ポートにつないでいます。
(アナログ入力 ANA(7),ANA(8)に切り替え)
RUNする前に、SWITCHコマンドで液晶モードに切り替えてください。

10 '*SHOOTING mobile
20 CLS:CLV:OUT 3,-1
30 LOCATE 0,0
40 PRINT S
50 X=7:Y=7
60 LOCATE X,Y
70 PRINT "A";
72 U=RND(15):V=0
74 LOCATE U,V
76 PRINT CHR$(241);
80 '*GAMELOOP
90 LOCATE X,Y
100 PRINT " ";
105 K=ANA(7)
110 IF K<100 AND X>0 THEN X=X-1
120 IF K>923 AND X<14 THEN X=X+1
130 LOCATE X,Y
140 PRINT "A";
142 IF BTN()=1 THEN GOSUB 240
145 GOSUB 160
148 WAIT 3
150 IF V<7 THEN GOTO 80
152 BEEP 30,30
153 LOCATE 0,0:PRINT S
154 LOCATE 3,3
156 PRINT "GAME OVER!":WAIT 60
157 IF BTN()=0 GOTO 157
158 IF BTN()=1 GOTO 158
159 RUN
160 '*UFO
170 LOCATE U,V
180 PRINT " ";
190 U=U+RND(3)-1
192 IF U<0 THEN U=0
194 IF U>14 THEN U=14
200 V=V+RND(3)-1
202 IF V<0 THEN V=0
204 IF V>7 THEN V=7
210 LOCATE U,V
220 PRINT CHR$(241);
230 RETURN
240 '*BEAM
250 B=X
260 FOR C=Y-1 TO V STEP -1
270 LOCATE B,C
280 PRINT "|";
285 WAIT 2
290 LOCATE B,C
300 PRINT " ";
310 NEXT
320 IF B<>U THEN RETURN
330 '*HIT
340 BEEP
350 LOCATE U,V
360 PRINT "*";
362 S=S+10
364 LOCATE 0,0
366 PRINT S
370 WAIT 20
380 LOCATE U,V
390 PRINT " ";
395 U=RND(15):V=0
400 RETURN