PD実践2021:タッチセンサの組立て方と使い方

タッチセンサの使い方を学びます。

  • API
    • タッチセンサの状態を検出する。引数はセンサのポート番号。戻り値はタッチセンサが押された状態ならtrue、押されていない状態ならfalseを返す。
      •  bool_t isPressed = ev3_touch_sensor_is_pressed(EV3_PORT_1);
  • サンプルプログラム
    • /touch/app.c: タッチセンサを押すと”Pressed!”と表示する。
      #include "ev3api.h"
      #include "app.h"
      
      #define TOUCH_PORT EV3_PORT_1
      
      void main_task(intptr_t exinf) {
      	ev3_sensor_config(TOUCH_PORT, TOUCH_SENSOR);            /* タッチセンサを設定 */
      
      	ev3_lcd_draw_string("Waiting...", 0, 30);
      	while(!ev3_touch_sensor_is_pressed(TOUCH_PORT)){        /* タッチセンサの状態を確認 */
      		tslp_tsk(10000);                               /* 10,000us刻みで実行 */
      	}
      	ev3_lcd_draw_string("Pressed!", 0, 30);                 /* タッチセンサが押されたことを表示 */
      
      	ext_tsk();                                              /* タスク終了処理 */
      }
      
  • 演習3
    • タッチセンサをEV3(ポート1)に接続した後、サンプルプログラムをEV3にアップロードし、動作を確認してください。
    • サンプルプログラムを改造し、以下の機能を実現してください。
      タッチセンサが押されたら「かえるの歌」が流れ終了するプログラムを作成しよう!
      まず、下記のタッチセンサの組立例のうち、どれか好きなものを1つ組立ててください。次に、タッチセンサが押されたらLCDに「Pressed!」と表示し、「かえるの歌」が流れ終了するプログラムを作成し、動作を確認してください。なお、3Dモデルは以下のリンクからダウンロードしてください。西川教授から提供されたものです。
  • LEGO組立図
    • 24-1_touchsensor.lxf:てこの原理のタッチセンサ。
    • 24-2_touchsensor.lxf:90度方向を変えるタッチセンサ。
    • 25_touchsensor.lxf:前後センサ。前も後ろも感知する。
    • 26-1_touchsensor.lxf:スライドスイッチ。灰色のホイールをスライドすることで、タッチセンサのオン/オフを切り替える。
    • 27-1_touchsensor.lxf:往復型回転スイッチ。回転するとオン/オフが切り替わる。回しすぎを防ぐストッパー付き。
    • 27-2_touchsensor.lxf:連続型回転スイッチ。90度回す毎に連続してオン/オフが切り替わる.
    • 28-1_touchsensor.lxf:差し込み式スイッチ。シャフトを差し込むとオンになる。

以上

コメント

タイトルとURLをコピーしました