2015-12-21
IchigoJam ver 1.0 リリースから半年、Facebookグループ「IchigoJam-FAN」にてβ版を重ね、ついにver1.1のリリースです。 β版をお使いいただいた方々、ご意見いただいた方々、ありがとうございました!

ver1.1ファームウェアのダウンロードは、こちら「ichigojam-1.1.1.zip

LPC1114の32KBのFlashROM中、8KBはプログラム保存に使うため、残りの24KB。自ずと限界もありますが、あまり複雑にはしたくないこどもパソコンIchigoJamなので、今回の追加コマンドは9つだけです。 下記、ざっと紹介します。

ver1.1 新コマンド 9つ! (PWM/UART/SRND/LANG/DEC$/STOP/CONT/LINE/RESET)一覧

PWM n,m,l (サーボモーターの制御や、SOUNDに加えて和音に使える目玉機能!)
パルス出力 n:ポート2〜5 m:周期20msec中0.01msec単位でHIGH時間指定0-2000
サーボ用100-200前後 l:0.01msec単位の周期指定(省略可能)
PWMとは、Pulse Width Modulation、電圧が一定時間だけ高い状態を繰り返す機能です。
周期指定lは、ポート2〜4とポート5の2系統使えます。つまり、音声として使う場合は2音程。

UART n,m (Universal Asynchronous Receiver Transmitter、いわゆるシリアル通信)
シリアル出力を制御します n:出力制御、m:入力制御 (n=0:出力なし、1:PRINTのみ、2:PRINT/LC/CLS/SCROLL(初期値)、3:改行\r\n変換モード) (m=0:入力受付ない、1:入力を受け付ける(初期値)、2:ESC無効モード)
起動直後、UART1,1となっていて、PRINT(または、?)で出力した文字はそのままTXDから送信され、RXDからコードを入力することでキーボード代わりになります。
(デフォルト通信速度は115200bps、8bit、パリティなし、ストップビット1bit)

SRND n (乱数初期化、ランダマイズ)
RND(n)による乱数列を初期化します。指定した数によって、乱数列が固定されます。
ランダムに面を生成するゲームに使うと、毎回決まったステージを生成できて便利です。

LANG() (言語種を返す)
今回の目玉、モンゴル語対応!
モンゴルで使われるキリル文字は、カタカナの代わりに入っています。
その状態をプログラムで取得するためのコマンドです。
(1:カタカナ&ローマ字入力、2:キリル文字&モンゴル語配列)

DEC$(n,m) 10進数の桁数指定付き表示
PRINT文でいままで使えた、16進数を表示する HEX$((n,m) や、2進数を表示する BIN$(n,m) に加えて準備。
スコア表示なので桁数を揃えたい時に使ってください。

STOP プログラムを中断
ver1.1からESCキーで停止した際、停止した行数を Break in 10 などと表示されるようにしました。
STOPコマンドはこの状態をプログラムで作ることができます。デバッグ(プログラムの間違い探し)にどうぞ!

CONT 実行中または中断した行を再度実行する
SOTPやESCで停止した行から再開します。行の先頭から実行されるので注意!
裏ワザ的ですが、プログラム中で使うことで、現在実行中の行を頭から実行するために使えます。
下記のように書くとキー入力待ちになります。

10 IF INKEY()=0 CONT

LINE() 実行中の行番号を返す(非実行中は0)
IchigoJamのGOTOやGOSUBは、変数が使えます。現在行からの差分で飛ばすために、下記のように書くと便利です。

10 GOTO LINE()+n*10

RESET リセット(電源入れ直し相当)
電源を入れ直しをソフトウェア的に実行します。保存していないプログラムは消えてしまうので注意!

高専教育にもじわじわと広がっている、IchigoJam。
今回は高専プロコンでNICT賞獲得したチームのいる、東京高専へ。

「時代が高専に追いついた!? ものづくり起業と次世代Web」


ものつくる高専生、自分の友だちのちょっとした不満をステキ道具をつくって解決しちゃおう!


起業家甲子園に向けて打ち合わせ終了!クリスマスツリーと先生を囲んで!
小学校でのタブレットを使った教育環境を防犯防災教育から変える!!
「ホップ!ステップ!マップ!」のオリジナルシャツもゲット!


W3C日本ミーティングでは、ウェブアクセシビリティが熱いという新情報!
障害のある人でも、こどもでも、おじいちゃんおばあちゃんでも、誰にでも優しいWebを目指します。
オープンデータによる情報提供と、利用者にぴったりなアプリという分離も進むことでしょう。

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS