せんぷう機&温度センサー

サンプルプログラム(2023年9月18日追記)

10 PWM2,0:LED0
20 IF IN(2)=0 THEN PWM2,0:GOTO20
25 LED1:WAIT2:BEEP 30,60
30 A=INKEY()
40 IF A=49 THEN GOSUB 100
50 IF A=50 THEN GOSUB 200
60 IF A=82 THEN GOSUB 300
90 GOTO 30
100 PWM2,800:WAIT300
110 PWM2,0:BEEP:RETURN
200 PWM2,1800:WAIT300
210 PWM2,0:BEEP:RETURN
300 FOR I=1 TO 10
310 B=RND(10)
320 PWM2,500+B*80:BEEP:WAIT30
330 NEXT
340 PWM2,0:BEEP:RETURN

20行目 IN2にタッチセンサーがつながり、タッチすると1、離すと0になります。
    ここでは、タッチするまでプログラムはループしているので、待ち状態になります。
    OUT2には扇風機がつながり、PWMで回転数を制御します。
    ここでは、0なので扇風機は止まったままとなります。

30行目 キーボード入力で、風量の選択(弱回転「1」、強回転「2」、リズム回転「R」)を入力します。
キーボードから”1”を入力すると、変数Aは49になります。
コンピュータはキーボードの文字や記号そのものは認識することができないので、スキャンコードと呼ばれる数値で判別します。

100行目 弱回転のサブルーチンです。

200行目 強回転のサブルーチンです。

300行目 リズム回転のサブルーチンです。
FOR命令で10回のリズムを作ります。
また、風量の強弱はRND命令で0から9までの10段階を作ります。
しかし、この値をPWM命令で実行しても風量になりません。
そこで、計算式をとおして、最低風量(500+0×80=500)から最強風量(500+9×80=1220)までの値に変換して、PWM値に合うようにします。