カテゴリー別アーカイブ: Python

カラーセンサーの各モードと戻り値を調べる

ev3dev OS上でPythonでEV3を動かす

この取り組みの目的はマインドストームEV3を動かしながら、
新しい言語 Pythonを学んだら、学習が進むかどうかを検証することです。

今日のテーマは「カラーセンサーの各モードと戻り値を調べる」です。

# ev3をインポートします
import ev3dev.ev3 as ev3
# カラーセンサーオブジェクトを生成します。
cs = ev3.ColorSensor()
# まずはMODE_COL_AMBIENTからです。
# Ambient lightは環境光と訳せばいいでしょうか。
# MODE_COL_AMBIENTを設定するとRed LEDがオフになり、
# カラーセンサーは青く光ります。
# モード設定
cs.mode=cs.MODE_COL_AMBIENT
cs.value()
# cs.value()で値を取得したところ、White 5,Black 1,Green 3となりました。

# 次にMODE_COL_REFLECTです。
# Reflected lightは反射光です。
# Red LEDがオンになり、カラーセンサーは赤く光ります。
cs.mode=cs.MODE_COL_REFLECT
cs.value()
# on White 64,on Black 7となりました。
# ライントレースにはこのモードを使えばいい感じです。

# 次にMODE_COL_COLOR、カラーを番号で返してくれそうです。
cs.mode=cs.MODE_COL_COLOR
cs.value()
# on White 6,on Black 1,on Green 3となりました。

# MODE_REF_RAWは反射光をRAWで返してくれると思うのですが、
cs.mode=cs.MODE_REF_RAW
cs.value()
# on White 498,on Black 624
# 白より黒の方が大きい値が返ってきました。

# 最後にMODE_RGB_RAWです。
cs.mode=cs.MODE_RGB_RAW
cs.value()
# 結果はon White 211,on Black 33となりました。

MindStorms EV3を動かしながら、Pythonを学ぶ

GoAroundクラスに直進したり、バックしたり、ターンするメソッドやLEDを緑や赤にするメソッド、警告音を鳴らすメソッドを詰め込む。
if __name__ == “__main__”: 以下が実際にローバーを走らせる部分で、EV3上のいずれかのボタンを押すと停止する。
Pythonでコードを書く方がCやJavaで書くより早いことを実感できた。

ファイル名classed_go_around.py