IchigoJamBasicには"SWITCH"という命令がある。入力すると……画面が消えます。
液晶パネルを接続してビデオ出力のかわりに画面表示をする機能がある。通常I2Cコマンドで制御するのだが
FSTN液晶モジュール(SPI) [CH12864F-SPI] aitendoにリンク
仕様・機能
液晶モジュールの完成品、解像度:128x64、表示色:グレー、バックライト付き、バックライトの発光色:白、バックライト動作電源(LEDA):3.3V、内蔵コントローラチップ:ST7567R、接続インターフェース:4線SPI、2.54mmピッチ16Pスルーホール、動作電源(VDD):3.3〜5V
このモジュールはIchigoJamBASICが直接制御してくれるのである。
液晶モジュールは16ピンだが、接続するのは8ピンのみ。3.3vとGNDには2本ずつ接続する。
液晶モジュール - 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
IchigoJamをケースに入れていると、ピンの長さが足りないので、拡張シールドで延長する。
液晶が常時点灯しているのでモバイル電源でも給電中止にはならないようだ。
IN5,6,7,8,9にタクトスイッチを接続。1MΩでプルアップ。IN9(BTN)はIchigoJamの基板でプルアップされている。
タクトスイッチは左下上右ボタンの順で配線が短くなるようにした。必要ならば接続ケーブルで順番を差し替える。
IchigoJamの定番"川下り"をミニゲームに改造する。
1'KAWAKUDARI 10 CLS:X=15 20 LC X,5:?"V" 30 LC RND(30),23:?"*" 35 WAIT 3 36 X=X-BTN(28)+BTN(29) 37 IF SCR(X,5) END 38 IF X<0 OR X>29 END 40 GOTO 20
画面は横16×縦8 座標の最大値を変更 表示位置の調整
OUT n,-1でポートを入力に設定
スイッチは押したときに0 離すと1を返す。!で反転してBTNと同じにする。
左右で左右移動。上下ボタンは使用しない。
ボタンを押しながら電源を入れるとLRUN0が実行される。ボタンをはなすとスタートする。
ゲームオーバー ボタンを押してはなすとRUN
テストプレイはキーボードを接続してRUN ESCで停止できる。
SAVE0 ボタンを押しながら電源を入れると自動起動する。
10 'MEMU 20 SWITCH1:FORI=1TO4:OUTI,-1:NEXT:UART1 30 CLS:LC0,0,1:?"IchigoJamSWITCH";:BEEP5 40 GSB@W 50 L=5:M=0:N=0:IFF=0F=1 60 @F:BEEP 70 IFF<4CLS:FILES1,3:LC0,F-1,1:WAIT30:GOTO@LP 80 S=F/5*5:G=S+L-1:IFG>163G=163 90 IFN<>S:CLS:FILESS,G:N=S 100 LC0,F-S,1: WAIT30 110 @LP:M=F 120 IF!IN(9)*!IN(5)END 130 IF!IN(9)BEEP10:WAIT10:BEEP5:LRUNF 140 F=F+!IN(6)-!IN(7)+(!IN(8)-!IN(5))*L 150 IFF<1F=1 160 IF(F>=4)*(F<60)IFIN(3)F=100:N=0:ELSEF=1 170 IF(F>=60)*(F<=99)F=1 180 IFF>=163F=163 190 IFF=MGOTO@LP:ELSEGOTO@F 200 @W:IF!BTN()CONT:ELSEBEEP2 210 IFBTN()CONT:ELSEBEEP5:RTNボタンを押しながら電源を入れLRUN0で実行される。
PCとIchigoJamをシリアルインターフェイスで接続し、プログラムの読み書きを行うエクセルのマクロ
JamPot.xlsm
選択範囲を送信・保存、アクティブセルに受信・読込
テキストボックスに入力して送信