IchigoJam + 独自の基板で、「かわいい」「みけ」「ねこ」の表示の有無をスイッチで切り替えることができるものを作ってみた。
※IchigoJamはjig.jpの登録商標です
設計した基板
mikecat/jam_3_switches: トグルスイッチ3個を接続する、IchigoJam 向け拡張基板
IN1・IN2・IN4 のそれぞれに、トグルスイッチによりHIGHまたはLOWを入力する。
1個分の回路は以下であり、これを3個並べた。
作成したガーバーデータを Elecrow に提出し、基板化した。
抵抗は、部品番号ではなく値を載せる仕様にした。
さらに、
- 各スイッチがどの入力に対応するか
- スイッチを各方向に倒すと何が入力されるか
- 代表的なピンの役割 (接続の際に向きを合わせる用)
も載せ、外部のドキュメントを見なくてもこれだけを見れば使い方がわかるようにした。
さらに、この基板によって (I2C は最近の機種であれば別の端子があるが) UART の端子も塞がってしまうため、UART 接続用の端子を引き出した。
組み立ての際は、以下の部品を用いる。
- 抵抗 1kΩ (基板に合うもの 例として1/4Wサイズ) 3本
- 抵抗 10kΩ (基板に合うもの 例として1/4Wサイズ) 3本
- トグルスイッチ 2MS1-T1-B4-VS2-Q-E-S (秋月販売コード 100300) 3個
- ピンヘッダ 1×14 2本 (1×40 (秋月販売コード 100167) 1本を切って使用)
- L型ピンヘッダ 1×6 (秋月販売コード 105336) 1本
組み立てると、以下のようになった。
プログラム
10 ' カワイイ ミケネコ スイッチ
20 LET[0],2048,1028,9988,1052,0,4096,#8408,16964,2064,2568,14412,3083,0,0,-4096,1032,0,4096,2056,4104,0,0,2064,1028,0,4096,2056,4104,0,0,2064,1028,2052,4104,8724,1,16966,16448,#8080,0,6152,10264,6216
30 LET[43],8,514,1028,24600,0,4368,2578,1028,0,514,518,0,0,4368,2578,1028,0,514,518,0,0:COPY#700,#800,#80
40 LET[0],0,1800,257,1793,0,#8080,4096,#C808,8192,4112,8976,8224,8224,4112,-4066,4112,8730,17476,12360,0,3128,4114,16416,128,8224,4136,16,0,4112,4112,8224,#8040,2064,2568,15692,3082,0,28672,1160,1028
50 LET[40],0,772,0,0,0,-2048,16416,0,6152,10264,6216,8,1028,17468,14406,0,4096,4112,1800,0,0,0,-2044,0:COPY#780,#800,#80
60 A=-1:B=-1:C=-1:VIDEO5:CLS
70 D=IN(1):E=IN(2):F=IN(4)
80 IFA-DA=D:LOCATE0,1:FORI=0TO15STEP2:?CHR$((#E0+I)*D,(#E1+I)*D);:NEXT
90 IFB-EB=E:LOCATE0,3:IFE?CHR$(#F0,#F1,#F2,#F3);:LOCATE0,4:?CHR$(#F4,#F5,#F6,#F7);ELSE?" ";:LOCATE0,4:?" ";
100 IFC-FC=F:LOCATE4,3:IFF?CHR$(#F8,#F9,#FA,#FB);:LOCATE4,4:?CHR$(#FC,#FD,#FE,#FF);ELSE?" ";:LOCATE4,4:?" ";
110 WAIT1:GOTO70
10行目は、FILES 対応のタイトルである。
20~50行目で、「かわいいみけねこ」のキャラクターパターンデータを用意する。
以前用意したプログラム
なでしこさんで東雲フォントをIchigoJam向けに変換|みけCAT
では、POKE 用に1バイトずつ区切ったデータで出力する。
しかし、このままの形式でデータを使うと容量が足りなそうだったので、asm15 (改造版) の UDATAB を経由して配列で表現し、一旦データを配列領域に置いてからキャラクターパターン領域にコピーするようにした。
60行目で、状態と画面の初期化を行う。
A・B・C で、前回読み取った入力を表す。
VIDEO5 を用い、画面の横幅が8キャラクター (「かわいい」や「みけねこ」の4文字を、1文字を2キャラクターで表すため) になるようにする。
70行目で、入力を受け取る。
80~100行目で、変化した入力に対応する部分を描画する。
110行目で、次の入力の受け取りに戻る。
実行結果例
キーボードではなく、物理的なスイッチの操作で表示が切り替わるのが、気持ちいい。
おわりに
今日は12月22日。にゃんにゃんにゃん。
ねこはかわいい。
かわいいみけねこは、かわいくて、みけで、ねこ。
にゃーん。



