目次

ハードウエアテスト(その8)

 IchigoJamのV1.1では、PWMを簡単に利用できるようになりました。
 ホタルの発光を、PWMで実現してみます。

 ホタルは、フェードイン、フェードアウトの光り方を
 利用します。

 PWMのDUTY比で見ると、フェードイン、フェード
 アウトになるように、0%から100%、100%から
 0%となるように制御すればよいはず。



 PWMのDUTY比を0%から100%に変化させるには
 次のようにすればよいでしょう。

100 ' fade in
110 FOR I=0 TO 100
120   LET J,I
130   PWM 2,J,100
140 NEXT

 PWMのDUTY比を100%から0%に変化させるには
 引き算をして、DUTY比を計算し直します。

150 ' fade out
160 FOR I=0 TO 100
170   LET J,100-I
180   PWM 2,J,100
190 NEXT

 合体すると、以下。

100 ' fade in
110 FOR I=0 TO 100
120   LET J,I
130   PWM 2,J,100
140 NEXT
150 ' fade out
160 FOR I=0 TO 100
170   LET J,100-I
180   PWM 2,J,100
190 NEXT

 光を放つ部品にはLEDを利用しますが、DUTY比で考えると
 人間の目で知覚可能な範囲は、デバイスにもよりますが
 30%から80%程度です。

 サブルーチンを呼び出す部分を追加して完成です。

10 ' hotal
20 GOSUB 100 : WAIT 60
30 GOSUB 150 : WAIT 120
40 IF BTN() GOTO 60
50 GOTO 20
60 ? "Exit"
70 END
100 ' fade in
110 FOR I=0 TO 100
120   LET J,I
130   PWM 2,J,100
140 NEXT
145 RETURN
150 ' fade out
160 FOR I=0 TO 100
170   LET J,100-I
180   PWM 2,J,100
190 NEXT
195 RETURN

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

10 ' hotal
20 @LOOP
30 GSB @FIN  : WAIT 60
40 GSB @FOUT : WAIT 120
50 IF BTN() GOTO @EXIT
60 GOTO @LOOP
70 @EXIT
80 ? "Exit"
90 END
100 @FIN
110 FOR I=0 TO 100
120   LET J,I
130   PWM 2,J,100
140 NEXT
145 RTN
150 @FOUT
160 FOR I=0 TO 100
170   LET J,100-I
180   PWM 2,J,100
190 NEXT
195 RTN

 北海道札幌の梅澤無線の「ホタルの光」と似た
 点滅ができます。



 PWMの波形出力は複数あるので、2頭のホタルにしてみます。

10 ' hotal
20 GOSUB 100 : WAIT 60
30 GOSUB 150 : WAIT 120
40 IF BTN() GOTO 60
50 GOTO 20
60 ? "Exit"
70 END
100 ' fade in
110 FOR I=0 TO 100
120   LET J,I : LET K,(J+50)%101
130   PWM 2,J,100 : PWM 3,K,100
140 NEXT
145 RETRUN
150 ' fade out
160 FOR I=0 TO 100
170   LET J,100-I : LET K,(J+50)%101
180   PWM 2,J,100 : PWM 3,K,100
190 NEXT
195 RETRUN

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

10 ' hotal
20 @LOOP
30 GSB @FIN  : WAIT 60
40 GSB @FOUT : WAIT 120
50 IF BTN() GOTO @EXIT
60 GOTO @LOOP
70 @EXIT
80 ? "Exit"
90 END
100 @FIN
110 FOR I=0 TO 100
120   LET J,I : LET K,(J+50)%101
130   PWM 2,J,100 : PWM 3,K,100
140 NEXT
145 RTN
150 @FOUT
160 FOR I=0 TO 100
170   LET J,100-I : LET K,(J+50)%101
180   PWM 2,J,100 : PWM 3,K,100
190 NEXT
195 RTN


目次

inserted by FC2 system