目次

Version1.1試食

 2015年12月下旬に、IchigoJamで使われているBasicの
 Versionが1.1としてリリースされ、公開されました。

 Basicとしては、組込みで使われるように仕様拡張に
 なって、より使いやすくなりました。

 IchigoJamで使っているCPUは、LPC1114です。
 LPC1114は、組込みで使うことが前提のマイコン
 ですから組込み用途に向けた、関数や手続きを
 用意して、仕様を拡張するのは、自然なこと。

 Version1.1の仕様拡張で、IN、OUTに使えるピンを
 ユーザーが再定義できるようになりました。

 LPC1114のピンとIchigoJamでのIN、OUTのピンの
 対応は、以下。



 LPC1114のピンアサインでは、A/D変換器として利用
 できるピンを、IchigoJamでは、デジタル入出力に
 限定して使っていました。

 LPC1114に内蔵されている16ビット、32ビットの
 カウンタに関係するピンもデジタル入出力として
 使われてきました。

 デジタル入出力に使えるピンを、機能限定して
 わかりやすくしてあったのですが、より多くの
 分野に使えるよう、限定を解除したのでしょう。

 デジタル入力は、次のピンアサインとなります。



 デジタル出力は、次のピンアサインに。



 モーターを回転させたり、LEDを蛍のように点滅させる
 には、PWM(Pulse Width Modulation)による波形出力が
 あった方が便利なので、PWM波形出力ピンを指定できます。



 A/D変換器を利用するピンは、次のようになります。



 デジタル入出力やA/D変換器を使うピンを使いたい場合
 OUT命令を利用して、ピン機能を変換します。

 OUT1からOUT6を入力で利用する場合は、使う前に
 出力から入力に変更します。

OUT 1,-1
OUT 2,-1
OUT 3,-1
OUT 4,-1
OUT 5,-1
OUT 6,-1

 デジタル出力に戻すときには、通常の論理値出力を書くだけ。

OUT 1,0
OUT 1,1
OUT 2,0
OUT 2,1
OUT 3,0
OUT 3,1
OUT 4,0
OUT 4,1
OUT 5,0
OUT 5,1
OUT 6,0
OUT 6,1

 PWMの波形出力の場合は、次の書式でピンを指定して
 2000カウント中で'1'を出力する回数を与えます。

  PWM 3,100

 この2000カウントというのがポイントです。
 0.01msごとに内部でタイマー割込みを発生させて
 100であれば、1ms(=100x0.01ms)の間'1'を出力し
 残りの19msでは'0'を出力します。

 0.01ms、2000カウントというのは、20msの間に
 '1'出力が何回という仕様なのでサーボモータ
 を動かすのに、合わせて仕様をきめていると
 推定できます。

 DCモータの場合、100カウント中の0から99で充分ですが
 サーボモータと兼用させるために0.01ms、2000カウント
 を採用しているよう。

 DCモータではDUTY比(1周期の間の'1'の連続時間)で
 回転スピードを制御できます。0から99のカウントを
 0から19998になるように、倍率をかけて使う仕様です。

 PWM波形出力ができると、DUTY比を変えることは、音の
 ピッチ(周波数)を変えることと同じになります。

 周期は、3番目のパラメータを指定しますが、省略できます。

  PWM 3,100,2000
  ↑↓
  PWM 3,100

 周期を指定すると、DCモータを使う場合に0から99という
 ようにDUTY比とカウント値を一致させることができます。

 2000カウントを100カウントにするには、3番目のパラメータ
 を100とします。30%のDUTY比指定ならば、以下。

  PWM 5,30,100

 カセットEEPROMにプログラムを格納している場合、「files 0」
 で、ファイル番号のプログラムが存在しているのかを見たい時
 があると思います。

 Version1.1の仕様では、すべてのファイル番号をスキャンして
 最初の行番号の内容を表示します。

 以前の仕様では、該当ファイル番号に行番号がないと、スキップ
 していました。少し使いにくくなったと感じています。

 関数line()が、その時点の行番号を保持しているので
 相対分岐がやりやすくなりました。

    120 LET A,4 : GOTO line()+A*100
 のように書いておけば、120行目から520行目に分岐します。
    line()+A*100 ← 120+4*100=520

 Version1.1の動作確認は、次の互換基板を利用しました。



 IN1からIN4、OUT1からOUT5には、ワイヤーを抜挿しやすい
 ように、凹のコネクタを半田付けしました。

 互換基板は、自分で半田付けしたので、Version1.1で
 新たに入出力の配置を変更できるので、コネクタ接続
 で、実験しやすくなりました。


目次

inserted by FC2 system