目次
前
次
ステップシーケンサチェック
アナログシンセサイザーに接続する、ステップ
シーケンサの動作をテストします。
ステップシーケンサは与えたクロックで、カウンタを
インクリメントし、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
目次
前
次