IchigoJam BASICのコマンド解説 (電子工作編)

IchigoJam BASICのコマンド解説(電子工作編)

2015/11/25 第1版
ファームウェアVer. 1.1 beta14 対応

IchigoJam使って電子工作しよう！
いくつものLEDを点滅させたり、モーター回して前後に動く車を作ったり。
No 分類
1

コマンド

読み方意味使い方INイン

IN 1～4, IN 5(BTN) 端子から入力を得ます。

A=IN(4)

A=IN(3) で得た値は 0 または 1 です。

IF IN(5)>0 THEN ～端子番号を省略した場合は B=IN()、全IN端子の値を bit値で得ます。
なお、IN1, IN2, IN4 はプルアップ接続されています。
IN3 はプルアップされていません。
IN5 はBTNと併用されます。1MΩのプルアップ抵抗があります。
OUT 1,-1 ～ OUT 4,-1 と指定することで、OUT 1～4 端子を IN 5～8 端子と扱えるようになります。
この場合も 端子番号を省略した場合の 全IN端子の値を bit値で得ることができます。
2ANAアナ

なお、OUTn,-1 BTN指定した場合は、BTN端子はIN5→IN9 に変更されます。
IN2 端子 および端子 の電圧(アナログ値)を返します。

A=ANA(2)
B=ANA(0)A=ANA(2) で得たで値は 0～1023 になりますが、電圧 0～3.3V に相対します。例えば 1Vな入出力ら 310が得られます。
E=ANA(0) 及び F=ANA() と端子番号を省略した場合は BTN端子と見なします。
OUT 1,-1～OUT 4,-1 を指定した場合、ANA(5)～ANA(8) で得ることができるようになりま3

OUT

アウト

す。 1～11 端子へ値を出力します。
OUT

OUT 6,0

OUT 7端子は LED端子と共用されます。

OUT 8,1

OUT 8～11 は IN 1～4 と共用されます。

OUT #15

端子番号を省略すると、全OUT端子に出力する bit値指定になります。
4PWM

ピーダブリュエム
OUT 2～5 端子にパルス幅変調を出力します。

PWM 2,200,1000
PWM 5,100

PWM <端子>,<パルス幅>[,<パルス周期>]
・端子番号は 2～5で、OUT2～OUT5と見なします。
・パルス幅は 0.01ミリ秒 単位の値を指定します。パルス周期の中でHIGH出力している時間に当たります。
・パルス周期は 0.01ミリ秒 単位の値を指定します。省略時は 2000(=20ミリ秒)です。なお、
PWM端子 2～4 でパルス周期値は共用されます。
5I2CW

アイツーシーライト
I2C接続されたデバイスへデータを送信します。

R=I2CW(#50,#700,2,#702,16)<返し値>=I2CW(<I2Cアドレス>,<コマンド開始番地>,<コマンド長さ>,<書込メモリ開始番 R=I2CW(`1010000,#700
地>,<書込メモリ長さ>),2,#702,16)例) R=I2CR(#50,#700,2,#702,16)
回路間・I2Cアドレスには READ/WRITEビットを含めない値を指定します。の通信・コマンド開始番地,長さ、および書込メモリ開始番地,長さ で指定したメモリに予めデータを格納しておきます。POKEコマンドを利用します。
・I2Cコマンドを実行し、データを送信します。
・I2Cコマンド実行結果が返し値で返ります。
6

I2CR

なお、コマンド,書込メモリ開始番地は、一般に#700～#7FFを利用します。
アイツーシーリード
I2C接続されたデバイスからデータを取り出し、メモリに格納します。

R=I2CR(#50,#700,2,#702,16)<返し値>=I2CR(<I2C アドレス>,<コマンド開始番地>,<コマンド長さ>,<読込メモリ開始番 R=I2CR(`1010000,#700,地>,<読込メモリ長さ>)例) R=I2CR(#50,#700,2,#702,16)回路間の通信・I2Cアドレスには READ/WRITEビットを含めない値を指定します。

(続き)・コマンド開始番地,長さで指定したメモリに予めデータを格納しておきます。POKEコマンドを利用します。
・I2Cコマンドが実行された結果が返し値で返り、I2Cから得たデータは読込メモリ開始番地,長さのメモリに格納されます。
このメモリはPEEKコマンドで読むことができます。
なお、コマンド,読込メモリ開始番地は、一般に#700～#7FFを利用します。

PCN金沢 (http://kanazawa.pcn.club/)

2,#702,16)

IchigoJam BASICのコマンド解説 (電子工作編)
No 分類
7

コマンド

読み方意味使い方

POKE

ポーク

仮想アドレス領域に値を書込みます。

POKE

POKE <番地>,<値>[,<値>][,...]#700,#01,#1C,#00,#20,#40,#18,#01,#39,#FC,

一般に #700～#7FF 番地を利用します。

#D1,#70,#47

この領域は CHR$(#E0)～CHR$(#FF)のキャラクタフォントを保存する書込可能領域です。
他のメモリ域は別記を参照ください。
8 仮想メモリ PEEK

ピーク

操作

仮想アドレス領域の値を取得します。

R=PEEK(#700)

PEEK(<番地>)

R=PEEK(#701)

一般に #700～#7FF 番地を利用します。
この領域は CHR$(#E0)～CHR$(#FF)のキャラクタフォントを保存する書込可能領域です。
他のメモリ域は別記を参照ください。
9CLP

10

UART

シーエルピー

POKEで書き換えたキャラクタフォントを初期化します。

CLP

クリアパター

キャラクタコード(#E0～#FF)のフォントを初期状態へ戻します。

ン
ユアート

IchigoJamでは、シリアル入力がキー入力バッファに入り、PRINT表示した文字が シリアル出

UART 2

力されます。

UART 1,0

下記のコマンドで、シリアル入出力モードを変更できます。
UART <モード1>[,<モード2>]
モード1は次の通りです。起動時のデフォルトは 2 です。
0:出力を行わない
1:PRINTのみ出力する。改行コードはLF
2:PRINT, LOCATE, CLS ,SCROLLを出力する。改行コードはLF
3:PRINTのみ出力する。改行コードはCR+LF
なお、モード1=2の場合、以下のコマンドで特殊コードが出力されます。
LOCATE : CHR$(#15,#20+<X座標>,#20+<Y座標>)

PCと通信

CLS: CHR$(#13,#0C)

SCROLL : CHR$(#15,<カーソル方向>)
カーソル方向は 左：#1C, 右：#1D, 上:#1E, 下：#1F です。
モード2は次の通りです。省略時、および 起動時のデフォルトは 2 です。
0:シリアルからの送出を無視
1:通常動作 (記載以外の数値を指定した場合も有効)
2:ESC キーを無視
11

BPS

ビーピーエス※シリアルから ESCコードが送出された場合にプログラムが停止されることを防ぎます。
シリアル通信の通信速度(bps)を設定します。

BPS 0

BPS [<通信速度>]

BPS 9600通信速度を省略した場合、0を指定した場合は 115200bpsとなります。
値を指定する場合は 1～28800bps が有効です。
12VIDEO

ビデオ画面出力の表示・非表示を行います。

VIDEO 0

VIDEO <表示>[,<クロックダウン>]

VIDEO 0,10

<表示> で、ビデオ端子へ出力の表示・非表示を設定します。
非表示にすることで、BASIC処理速度が高速になります。
0：非表示、1：表示
速度向上・<クロックダウン> を指定すると処理速度が遅くなり消費電力を下げる事ができます。

省エネ

1:48MHz (デフォルト)
2:2分の1(24MHz)、3:3分の1(16MHz)、、、255:255分の1(192kHz)

13

SLEEP

スリープ

※クロックダウンすると TICK()・WAIT の値も影響も受けます。
プログラムの実行を休止します。
以降のプログラム実行が停止され、BTN入力待ちとなります。
IchigoJam 本体のBTNを押すと、IchigoJam の起動状態(電源OFF→ONした動き)に戻ります。
この時、0番のプログラムが起動されます。

PCN金沢 (http://kanazawa.pcn.club/)

SLEEP

IchigoJam BASICのコマンド解説 (電子工作編)
No 分類

コマンド

仮想メモリマップ

読み方意味「HELP」コマンドでメモリマップが表示されます。

仮想アドレス用途#000-

キャラクターパターン(読み取り専用) (キャラクタコード：#00～#DF)#700-#7FF書換可能キャラクターパターン(PCG) (キャラクタコード：#E0～#FF)#800-#8FF2byte符号付き整数の変数（配列0～101、変数A～Z）#900-#BFF画面キャラクターコード(VRAM) 32x24#C00-#FFFプログラム（1KB)※この解説は、以下にCC BYで公開されているリファレンスを元に、より子どもに読みやすい形を目指して書かれています。
BASICリファレンス: by 福野泰介 - Taisuke Fukuno / jig.jp http://ichigojam.net/IchigoJam-BASIC-reference.pdf
イチゴジャム レシピ: by 志賀 慶一 (ふうせん Fu-sen.) http://15jamrecipe.jimdo.com/※この解説は上級編として書かれており、すべてのコマンドあるいはコマンド内の機能を解説するものではありません。

PCN金沢 (http://kanazawa.pcn.club/)使い方