目次

ステップシーケンサチェック

 アナログシンセサイザーに接続する、ステップ
 シーケンサの動作をテストします。



 ステップシーケンサは与えたクロックで、カウンタを
 インクリメントし、8ビットのいずれかに電圧を出力。

 写真では、クロックを左にある2ピンから入力。
 電圧は、右にある2ピンから出力。

 タイミングチャートは以下。



 クロックは、IchigoJamから出力すればよいので
 OUT_1を使い、次のように書けばよいでしょう。

OUT 1,0 : OUT 1,1 : OUT 1,0

 電圧を入力して表示するので、アナログ入力を
 使えば、次のようになります。

? ANA(2)

 クロック出力→電圧入力→電圧装置値表示を
 繰り返してみます。

10 ' test sequencer
20 OUT 1,0
30 OUT 1,1 : OUT 1,0
40 WAIT 120
50 ? ANA(2)
60 IF BTN() GOTO 80
70 GOTO 30
80 ? "EXIT"
90 END

 ステップシーケンサは、3Vから9Vの電源電圧で
 動作するので、アナログ電圧取得には分圧回路
 を入れておきます。



 分圧回路を入れたなら、元々の電圧は、どの程度
 なのかをわかるようにしておきます。

10 ' test sequencer
20 OUT 1,0
30 OUT 1,1 : OUT 1,0
40 WAIT 120
50 A = ANA(2) : V = (A * 500) / 1024
60 ? V
70 IF BTN() GOTO 90
80 GOTO 30
90 ? "EXIT"
95 END

 IchigoJamでは、小数点がつく計算はできないので
 100倍してわかりやすくしています。

 1024を1000と丸めておくと、多少精度は落ちます
 が、近い電圧を表示させられます。

 500 / 1024 => 500 / 1000 = 1 / 2 としてみると
 1ビット右シフトで、半分にできます。

 コードにすると以下。

10 ' test sequencer
20 OUT 1,0
30 OUT 1,1 : OUT 1,0
40 WAIT 120
50 A = ANA(2) : V = (A >> 1)
60 ? V
70 IF BTN() GOTO 90
80 GOTO 30
90 ? "EXIT"
95 END

 ラベル利用で、次のようにも書けます。

10 ' test sequencer
20 OUT 1,0
30 @LOOP
40 OUT 1,1 : OUT 1,0 : WAIT 120
50 A = ANA(2) : V = (A >> 1)
60 ? V
70 IF BTN() GOTO @EXIT
80 GOTO @LOOP
90 @EXIT
92 ? "EXIT"
94 END


目次

inserted by FC2 system