最後に押しボタンを使ってみたい。これにはBTN()という関数を使う。IchigoJam基板上のボタンスイッチを押していると「1」、離すと「0」の値が返ってくる。ボタンを押したときだけLEDを光らせるプログラムを、短く書いたのが以下だ。

10 LED BTN():GOTO 10

実行してから、IchigoJamのボタンスイッチを押しているときだけ、LEDが点灯する。BASICは基本的にはインタプリタ言語と呼ばれ、コマンドをひとつひとつ実行するのでインタラクティブな動作となり、コンピュータの動きを理解しやすい。

スイッチに合わせてLEDを光らせるプログラムと実行、中止した画面。「SAVE 0」と入力してプログラムを保存してから、キーボードとビデオケーブルを外し、ボタンを押しながら電源を入れると自動実行される

ちなみに、過去に入力したプログラムも残ったままだ。今回の順番で操作すると、直近の「押しボタンプログラム」だけでなく、その前の「Lチカプログラム」も一部混在している。「LIST」と入力するとプログラムが表示され、以下になるだろう。

10 LED BTN():GOTO 10
20 LED 0:WAIT 5
30 GOTO 10

入力したプログラムを消すのは「NEW」コマンドだ。プログラムの保存は「SAVE」コマンド、保存したプログラムの読み込みは「LOAD」コマンドを使う。IchigoJamだけで使う場合、保存領域は0~3の4つなので、「SAVE 1」や「LOAD 1」のように入力すればよい。

二つのプログラムを連続して入力すると、前のプログラムに上書きされる。新しくプログラムを入力する前にはNEW命令ですべて消す。保存/読出にはSAVE/LOAD命令を使う

実用的に使えると思ったのが、プログラムの自動実行機能だ。押しボタンを押しながら電源スイッチを入れると、「LRUN 0」コマンドが入力された状態になる。LRUNコマンドはプログラムを読み込んで実行するもので、「LRUN 0」は「LOAD 0:RUN」と同じと思えばよいだろう。ちなみに、「IchigoJam BASIC Ver.1.2」からは、SOUNDピンを20kΩの抵抗でプルダウンしても、自動起動するようになっている。

IchigoJamは、UARTとI2Cという二種類のシリアル通信にも対応している。センサーデバイスを付けて……と思ったのだが、今回は時間の都合上プログラムが書けなかった。また、各所で開催されている子ども向けの電子工作だと、ラジコンなどで使うサーボモーターを用いることもあるが、これもIchigoJamのPWM命令ですぐに動かせる。

40代の半ばから後半の世代は、小学生か中学生で初めてパソコンに触れ、BASICでプログラミングしていたという人も多いだろう。筆者の場合、世界初のPersonal Computer「Altia 8800」にビデオターミナルのモノクロモニタ画面が、パソコンの原体験だった。IchigoJamは、これに近い環境をはるかに安い価格で実現できる。子どものプログラミング学習の手ごろな入門機として、IchigoJamはおすすめだ。

IchigoLatteやHour of Codeも

IchigoJamはBASIC言語だが、Webブラウザなどで使われている現代的なJavaScriptが動く「IchigoLatte」も開発中。この記事を書いている時点で、バージョン「0.6」のバイナリが公開されている。使用するにはそれなりの力量が必要だが、バージョン1.0になった暁には、チップのみかキットが発売されると思うので、こちらも楽しみだ。

「全ての児童・生徒がコンピュータサイエンスを学ぶ機会を得る」というミッションを掲げた「Hour of Code」という活動があり、プログラム作成のチュートリアルを用意している。Webブラウザ上から簡単に利用できる教材があるので、利用してみるとよいだろう。また、日本でも、一般社団法人みんなのコードが活動しており、最近では5月5日に「Hour of Code Japan こどもの日 1万人プログラミング」を開催していた。