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