カテゴリー
IchigoJam

IchigoJamとMixJuiceを使ったBTN早押しゲーム

ストップウォッチを使ってゲーム遊びをした経験。ありますよね。
STARTとSTOPをいかに短い期間に押すかという単純なゲームです。
今回は、IchigoJamとMixJuiceを使って、IoT用クラウドサービスAmbientへ結果を送信するBASICプログラムを作成しました。
教室などで多人数で競えば、楽しいかもしれません。

必要なもの

  • IchigoJam
  • MixJuice (ファームウェア 1.2.0以上)
  • Wi-Fiによるインターネット回線
必要なものは、IchigoJamとMixJuiceです。もちろん、純正品でも動作します。ただし、IchigoJamのプッシュボタンがMixJuiceに隠れるので、押しにくいでしょう。ブレッドボードなどにBTN信号を引き出して、タクトキーを接続しても良いでしょう。

MixJuice用ファームウェアはVer 1.2.0以上が必要

この実験にはMixJuiceのファームウェアVer 1.2以上が必要です。MixJuiceのファームウェアは下記からダウンロードすることができます。
MixJuice:
ファームウェアのバージョンアップ方法については、下記のサイトを参考にしてください。
IchigoJam + MixJuiceで製作するIoTセンサ
/MixJuice用ファームウェアのバージョンアップ
また、プログラムを動かす前に、MixJuiceをインターネットに接続する必要があります。接続するには、下記のコマンドをIchigoJamから入力してください(SSIDとPASSはお手持ちの無線LANアクセスポイントに書かれた内容を使用してください)。
?"MJ APC SSID PASS
SSIDとパスワードは、電源を切っても、MixJuiceへ残っていますので、次回からは、入力の必要はありません。接続状態を確認するには、以下のコマンドを入力します。接続された状態であれば、「1」の値が返ってきます。
(ただし、このときにプログラムの行番号1が消える場合があります。)
?"MJ APS

CQ出版社のIchigoJam用キット(IF ICH-KIT)を使う方法もある

私はCQ出版社から販売されている「IchigoJam用コンピュータ電子工作学習キット(IF ICH-KIT)」のPersonal Computer基板とWireless Shield基板を使用しました。MixJuiceの替わりには、ESP-WROOM-02をXBeeモジュールと同じ2mmピッチ基板に実装したものを使用しました。ESPモジュールのファームウェアはMixJuiceのホームページ(http://mixjuice.shizentai.jp/)からダウンロードしたものを書き込みました。

Personal Computer基板にWireless Shield基板を取り付け、MixJuiceファームウェアを書き込んだESPモジュールをXBeeソケットへ取り付けた。※純正のIchigoJam+MixJuiceでも実験可能

プログラム:IchigoJamとMixJuiceを使った早押しゲーム「ハヤオシBTN Ambient」

以下にプログラムを示しますが、いつくかの注意点があります。あらかじめ、よく読んでください。
  • このプログラムを実行すると、ゲームの結果がインターネット上へ送信され、ボタンを押した時刻と速度が自動的に一般公開されます。送信者を特定するような情報は公開されません。
  • 送信するためのIDやキーがプログラムに組み込まれています。これらを他の用途で使用することは、絶対にやめてください。発覚次第、この実験そのものを中止せざる得なくなります。
上記の注意事項を読んでから、MixJuiceでのダウンロードしてください。もちろん、シリアルなどからIchigoJamへプログラムを転送して利用することも可能です。
IchigoJamのファームウェアは1.2.1以降を推奨します。Ver 1.1.1でも動作するように留意してありますが、Ver 1.2.1で動作確認しました。

プログラム転送方法: ボクニモワカル for MixJuiceを利用する場合:

(1) MixJuiceで以下へアクセスする。

?"MJ GETS git.bokunimo.com/MJ/

(2) メニュー[8]ダウンロード ⇒ メニュー[6] Ambient micutil からプログラムをダウンロードする。
ご注意:
通常の「カナ版」または「英語版」をご利用ください。「カラー版」はESP-WebTermIJKB専用につき、MixJuiceではご利用いただけません。

プログラム

new
1 cls:?"ハヤオシ BTN":?"Ambient":uart1:gosub950:wait300
2 'MJ PCT application/json
3 'MJ POST START ambidata.io/api/v2/channels/725/data
4 '{"writeKey":"ad3e53b54fe16764","d1":"#"}
5 'MJ POST END
6 ' デジタル ニュウリョク ヲ 2 カイ オシ テ クダサイ
7 ' ソクド ガ Ambient ヘ ソウシン サレマス
8 ' CC BY Wataru Kunino
rem https://bokunimo.net/ichigojam/
100 'MAIN
110 P=#C1A:cls:?"BTNヲ 2カイ":?"オシテクダサイ":gosub950
120 if!BTN()goto120elseCLT
130 ifBTN()goto130
140 led1:wait1
150 if!BTN()goto150elseT=tick()
160 S=600/T:A=S/10:B=S-A*10:led0
170 lc0,0:gosub300:?A;".";B;" Hz  ":gosub950
180 lc0,-1:?:gosub600:gosub600:gosub600:gosub600
190 wait180:goto100
300 'GRADE
310 ifS>100?"タツジンデス":return
320 ifS>50?"スゴイ!ハヤイ":return
330 ifS>10?"ガンバレ !":return
340 ?"2カイ オシテネ":return
600 'TX
610 ifpeek(P)<>asc("'")letP,P+1:goto610
620 P=P+1:ifpeek(P)=asc("#")?A;".";B;:goto620
630 ifpeek(P)<>0?chr$(peek(P));:goto620
640 ?:return
950 'TV
rem https://www.facebook.com/groups/ichigojam/permalink/581632705309820/
960 let[0],#80,#8A,#85,#8F:lc0,5:forY=0to15:wait4:forX=0to7
970 C=peek(vpeek(X,Y/8)*8+Y%
8):?chr$([C>>6&3],[C>>4&3],[C>>2&3],[C&3]);
980 next:next:return
IchigoJam-FANグループ尾野さんからいただいたESP-WebTermIJKBで使用する場合のコメント
uart1:uart2にしないと画面が一致しなくなる。(MixJuiceの場合はuart1)
wait4:行番号960にウェイトが必要。(MixJuiceの場合はwait不要)
実行後、「BTNを2回、押してください」のメッセージが表示されたら、IchigoJam上のタクトキー(SW2)を、すばやく2回、押下します。LEDが点灯したままの時は、1回しか押せていません。もう一度、押してください。
行番号140のwait 1は必要です。なぜ必要かは、150行目と160行目の式を見て考えてみましょう。

送信結果

送信した結果は、クラウドサービスAmbientで確認することが出来ます。
Ambient公開チャネル725

(NEW) いかに正確な10秒を数えれるか HIT 10 ゲーム

ほかにも似たようなゲームを紹介しています:
https://bokunimo.net/blog/ichigojam/82/

参考情報と宣伝

IchigoJamの認知度は上がってきていますが、MixJuiceについては知らない人も多いようです。ゲームとの組み合わせで簡単に始めれるコンテンツが登場すると、徐々に広まるのではないかと、期待しています。
私が設計した学習キット(IF ICH-KIT)は、IchigoJamでI/O入出力や、モータ、ワイヤレス通信の実験を始めるには良いキットです。価格が高い点と、ESPモジュールを容易に接続できない点で、この実験専用としては、お奨めできませんが、どの基板も実験をするうえで使いやすく仕上がっているので、この機会に参考にしていただければ嬉しいです。

XBeeソケットに装着したESP-WROOM-02モジュール。XBeeソケットとの変換は手配線で行った。MixJuiceファームウェアを書き込み済み。左側のソケットにシリアルを接続し、右側のSW32のボタンを押しながら本体のリセットボタンを押下すると、ファームウェアを書き換えることが出来る。

キットの各基板のCADデータは、雑誌「1行リターンですぐ動く!BASIC I/Oコンピュータ IchigoJam入門」のP.91の情報を参考にしていただくと、ダウンロードすることが出来ます。そちらを活用していただいても良いでしょう。雑誌およびキットはCQ出版からお買い求めいただけます。
最新のESP32モジュールでも遊べます
IchigoJam用コンピュータ電子工作学習キット(IF ICH-KIT)
https://bokunimo.net/ichigojam/pcb.html
by ボクにもわかるIchigoJam用マイコンボード
https://bokunimo.net/ichigojam/

 - 
Chinese (Simplified)
 - 
zh-CN
Chinese (Traditional)
 - 
zh-TW
English
 - 
en
French
 - 
fr
German
 - 
de
Italian
 - 
it
Japanese
 - 
ja
Korean
 - 
ko
Russian
 - 
ru
Spanish
 - 
es