目次
前
次
IchigoJam概要
IchigoJamのBasicを使った場合の特徴をリストします。
- 行番号を利用した、昔ながらのBasicが使える
- Basicで入力できるコードは、1024文字以内
- デジタル入出力が可能
- アナログ入力も1チャネル限定で可能
- キーボードにPS/2タイプを使える
- NTSC信号を出力するのでアナログTVをディスプレイにできる
- プッシュボタンをひとつ標準でもっていて、操作関数がある
- LEDをひとつ標準でもっていて、操作命令がある
- BEEPで圧電サウンダーに音を出せる
- MML(Music Macro Language)で音階を出せる
- I2CバスのEEPROMをカセットROMで使える
- シリアルインタフェースを使い、端末接続できる
- 電源電圧は3.3Vでよいので、乾電池で動かせる
- ダイレクトモードとプログラムモードのいずれかで使える
- 拡張グラフィックボードを利用できる
- ネットワークには接続できない
プログラム作成で利用できる変数が、どれくらいあるかは
重要です。
変数はAからZの26個、これに加えて配列が102あります。
配列は[]を使い、[0]から[101]となっています。
変数のビットサイズが何ビットかを記述した仕様書がない
のですが、初学者のための説明ページでは-32768から32767
と書かれているので、16ビットだとわかりました。
proper programを書くには、連接、条件判定、反復を
利用できることが必須です。IchigoJamのBasicでそれ
が可能なのかを考えます。
連接、条件判定、反復を記述することができるのか
見ていきます。
連接
「連接」は、処理を順番に書き連ねることです。
行番号利用で、処理を順番に書き連ねていけますが
さらに1行の中で、処理を書き連ねられます。
処理と処理の間に、「:」を入れると、1行の中で
連接になります。
100 ' multi statement
110 LED 1 : W=RND(30) : WAIT W : LED 0 : WAIT 60
120 RETURN
条件判定
「条件判定」は、次のいずれかで実現できます。
IF THEN
IF THEN ELSE
反復
「反復」は、2通りの方法で実現できます。
反復回数が確定している場合「FOR NEXT」で書けます。
100 ' repeat with control variable
110 FOR I=0 TO 99
120 LED 1 : W=RND(30) : WAIT W : LED 0 : WAIT 60
130 NEXT
140 RETURN
「条件判定」と「GOTO」を組合せでも実現できます。
10 ' repeat without control variable
20 LET A,1 : GOSUB 100
30 LET A,A+1 : GOSUB 100
40 IF BTN() THEN GOTO 60
50 GOTO 30
60 ? "EXIT" : END
「反復」でよく見かけた「WHILE ... WEND」はありません。
デジタル入出力、アナログ入力ができます。
利用ピンは、チップの上に貼るラベルで理解できます。
ラベル上のピン名称から、入力4ビットと出力6ビット
になっていると見えます。
IN2はアナログ入力も可能とBasicの仕様に書かれています。
入出力命令は、以下。
- A = IN(1) : ' A = 0 or 1
- A = IN(2) : ' A = 0 or 1
- A = IN(3) : ' A = 0 or 1
- A = IN(4) : ' A = 0 or 1
- A = ANA(2) : ' only bit address 2 , A= 0 .. A=1023
- OUT 1,0 : ' OUT1 := 0 (impress low level)
- OUT 1,1 : ' OUT1 := 1 (impress high level)
- OUT 2,0 : ' OUT2 := 0 (impress low level)
- OUT 2,1 : ' OUT2 := 1 (impress high level)
- OUT 3,0 : ' OUT3 := 0 (impress low level)
- OUT 3,1 : ' OUT3 := 1 (impress high level)
- OUT 4,0 : ' OUT4 := 0 (impress low level)
- OUT 4,1 : ' OUT4 := 1 (impress high level)
- OUT 5,0 : ' OUT5 := 0 (impress low level)
- OUT 5,1 : ' OUT5 := 1 (impress high level)
- OUT 6,0 : ' OUT6 := 0 (impress low level)
- OUT 6,1 : ' OUT6 := 1 (impress high level)
OUT命令では、ビット位置、論理値ともに変数で指定可能。
1ビットの入力、出力には、ボタンとLEDがあります。
ボタン処理
関数BTN()の利用で、ボタンの状態をリードできます。
デジタル値なので、1か0になります。
反復
命令LEDの利用で、LEDの点灯、消灯を指定できます。
(点灯) LED 1
(消灯) LED 0
BEEPかPLAYの利用で、音階を出せます。
音階を出す処理は、モールス符号を出力するときに
使えるので、別途説明します。
端末ソフトからIchigoJamを使えます。
電源を入れて、通信ケーブルを端末ソフトが動く
パーソナルコンピュータと接続するとキーボード
やディスプレイを使わないでも、操作できます。
端末接続に、回路に関する知識が必要になりますが
ノートタイプコンピュータを使い屋外でIchigoJam
を利用することも可能になります。
室内では、次のような構成で使います。
アナログTV受信機に接続し、キーボードはPS/2タイプ
を使います。
地上デジタルTVでも、黄色RCAピンジャックがあれば
使えます。
目次
前
次