1−3.角度センサーを使った課題


  • 実験内容

    フォームに取り付けたボタン”Angle Sensor Test”を押してプログラムをダウンロードすると、
    角度センサに取り付けたタイヤが10回転した後、モーターが停止するようにする。


  • 実験方法

    フォームに新しいボタンを貼り付けて、
    Captionを”Angle Sensor Test”、名前をcmdAglSensorTestと付ける。
    そして、以下のコードを書く。


  • プログラム

    Private Sub cmdAglSensorTest_Click()  ' ボタンが押されたらこのVB
                         ' のサブルーチンが実行される
     RCX.SelectPrgm (4)

     With RCX
      .BeginOfTask (0)          ' Task0の定義
       .SetSensorType 0, 4       ' 角度センサをポート0と定義する
       .SetSensorMode 0, 7, 0     ' センサモードを角度に定義する

       .Loop 2, 0            ' 無限ループを作る
        .If 9, 0, 0, 2, 150      ' 角度センサの状態を確認する
         .Off "0"           ' 角度センサの値が150より大きければ、モーターをOff
        .EndIf             ' If文の終わり
       .EndLoop             ' ループの終わり
      .EndOfTask             ' Task0の定義の終わり
     End With
    End Sub



  • 実験結果

    フォームに取り付けたボタン”Angle Sensor Test”を押すと、プログラムがRCXにダウンロードされる。
    RCXの入力ポート1に角度センサを、出力ポートAにモーターをそれぞれ取り付ける。
    RCXのViewボタンを押して、RCXのディスプレイ上のポインタが入力ポート1を指すようにする。
    RCXのプログラムを実行するとモーターが回り出し、角度センサに取り付けたタイヤが10回転した後にモーターは停止する。


  • If文の考察

    If 9, 0, 0, 2, 150  ⇒  IF センサー0の値 > 定数 150

    角度センサが1回転するとき、15カウントするので、
    角度センサーの値が150より大きいなら、モーターをOffするようにした。