LoginSignup
2
0

More than 5 years have passed since last update.

ev3devでmindstorm-EV3のLEDを制御しよう

Last updated at Posted at 2016-12-27

はじめに

ev3devを使ってmindstorm-EV3インテリジェントブロックのLEDを制御する方法を紹介します。
この記事は、EV3にev3devをインストールし、SSH接続できている状態であることを前提にしています。環境構築ができていない方はこちらの記事を参考にしてください。

mindstorm-EV3をLinuxで制御しよう! ev3dev OSのインストールととSSH接続

デバイスファイル

LEDを制御するためのデバイスファイルフォルダは/sys/class/leds/以下にあります。

robot@ev3dev:~$ ls /sys/class/leds
ev3:left:green:ev3dev  ev3:left:red:ev3dev  ev3:right:green:ev3dev  ev3:right:red:ev3dev  rt2800usb-phy0::assoc  rt2800usb-phy0::quality  rt2800usb-phy0::radio

点灯させてみよう

それぞれのデバイスファイルフォルダのbrightnessファイルに0~255の値を書き込むことで、LEDの明るさの強弱を制御できます。下図の赤く点灯している左側LEDと緑に点灯している右側LEDが制御できます。
P_20161223_170228.jpg

#EV3インテリジェントブロックの左側のLEDを緑色に点灯
robot@ev3dev:~$ echo 255 > /sys/class/leds/ev3\:left\:green\:ev3dev/brightness

#EV3インテリジェントブロックの左側のLEDの緑色を消灯
robot@ev3dev:~$ echo 0 > /sys/class/leds/ev3\:left\:green\:ev3dev/brightness

#EV3インテリジェントブロックの左側のLEDを赤色に点灯
robot@ev3dev:~$ echo 255 > /sys/class/leds/ev3\:left\:red\:ev3dev/brightness

#EV3インテリジェントブロックの左側のLEDの赤色を消灯
robot@ev3dev:~$ echo 0 > /sys/class/leds/ev3\:left\:red\:ev3dev/brightness

#EV3インテリジェントブロックの右側のLEDを緑色に点灯
robot@ev3dev:~$ echo 255 > /sys/class/leds/ev3\:right\:green\:ev3dev/brightness

#EV3インテリジェントブロックの右側のLEDの緑色を消灯
robot@ev3dev:~$ echo 0 > /sys/class/leds/ev3\:right\:green\:ev3dev/brightness

#EV3インテリジェントブロックの右側のLEDを赤色に点灯
robot@ev3dev:~$ echo 255 > /sys/class/leds/ev3\:right\:red\:ev3dev/brightness

#EV3インテリジェントブロックの右側のLEDの赤色を消灯
robot@ev3dev:~$ echo 0 > /sys/class/leds/ev3\:right\:red\:ev3dev/brightness

Triggerを設定してLEDの点滅を制御する

それぞれのデバイスファイルフォルダのtriggerファイルを編集することで、LEDの点灯モードを変更することができます。具体的には通常の点灯か、点滅かを切り替えることができます。

none

通常モード
デフォルトの設定です。LEDは点灯しているか消灯しているかの状態です。
robot@ev3dev:~$ echo none > /sys/class/leds/ev3\:left\:red\:ev3dev/trigger

timer

点滅モード
LEDが点滅します。
robot@ev3dev:~$ echo timer > /sys/class/leds/ev3\:left\:red\:ev3dev/trigger

また、delay_on,delay_offファイルを編集することで、点滅の周期を制御することができます

#点灯時間を1000msに設定する
robot@ev3dev:~$ echo 1000  > /sys/class/leds/ev3\:left\:red\:ev3dev/delay_on
#消灯時間を3000msに設定する
robot@ev3dev:~$ echo 3000  > /sys/class/leds/ev3\:left\:red\:ev3dev/delay_off

緑と赤を使って黄色やオレンジを作る

LEDの色を重ね合わせることで黄色やオレンジといった色を表現することも可能です。

# オレンジ色
robot@ev3dev:~$ echo 180 > /sys/class/leds/ev3\:green\:left/brightness; echo 255 > /sys/class/leds/ev3\:red\:left/brightness
# 黄色
robot@ev3dev:~$ echo 255 > /sys/class/leds/ev3\:green\:left/brightness; echo 25 > /sys/class/leds/ev3\:red\:left/brightness

参考

ev3dev 公式ページ

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0