Quantcast
Channel: demura.net
Viewing all articles
Browse latest Browse all 757

PD実践:センサ演習4.カラーセンサの使い方

$
0
0

カラーセンサの使い方を学びます。

  • API
    • ポート2のカラーセンサを初期化
      •  ev3_sensor_config(EV3_PORT_2, COLOR_SENSOR);
      • ポート2がカラーセンサであることを設定
    •  ポート2のカラーセンサから明度(環境光)を取得
      •  uint8_t light = ev3_color_sensor_get_ambient(EV3_PORT_2);
    •  ポート2のカラーセンサから明度(反射光)を取得
      •  uint8_t light = ev3_color_sensor_get_reflect(EV3_PORT_2);
    • ポート2のカラーセンサからカラー情報を取得
      •  colorid_t color = ev3_color_sensor_get_color(EV3_PORT_2);
  • サンプルプログラム
    • /light/app.c:カラーセンサーから取得した環境光と反射光の計測値をLCDに表示する。
    • /color/app.c:カラーセンサーから取得したカラーの種類をLCDに表示する。
      • 上のリンクをクリックするとソースコードが表示されますが、文字化けしないように文字コード等を変更しているので、このコードをコピペしたものはビルドで失敗します。あくまで表示用なので注意してください。
  • 演習4
    1. カラーセンサーをEV3(ポート1)に接続した後、サンプルプログラム(/light/app.c)をEV3にアップロードし、動作を確認してください。
    2.  サンプルプログラムを改造し、以下の機能を実現してください。
      『カラーセンサー(環境光)の値が5以下になったら、「Finished!」を表示する。』
    3.  [レポート1]下のカラーセンサー(環境光と反射光)の組立例を組み立ててください。フタが開いたら好きな曲が流れ、閉じたら止まるプログラムを作成しよう!
      ヒント:この演習では、割り込みやマルチタスクプログラミングは使いません。フタの開閉にすぐ反応するためには、1曲分のRingTone関数を続けて実行するのではなく、分割して実行したら、すぐ、カラーセンサーの値をチェックする必要があります。曲の周波数とテンポを2次元配列としてまとめるとスッキリしたプログラムになります。
      • 29_lightsensor.lxf:オープンセンサー
    4. カラーセンサーをEV3(ポート1)に接続した後、サンプルプログラム(/color/app.c)をEV3にアップロードし、動作を確認してください。
  • 参考

終わり


Viewing all articles
Browse latest Browse all 757

Trending Articles