前の記事はこちら EV3ねた その20 ev3devにC言語を入れてみる
さて、ev3devをインストールして、C言語をセットアップしたまでは良いのですが・・・
https://github.com/in4lio/ev3dev-c
C言語のテストプログラム hello.c を動かしてみると・・・単にPCが画面上にメッセージが表示されるだけであり・・・EV3でチャント動作しているのかが分かりません。
一応説明には・・・
It's the right time to take a look at a small example. "hello.c" outputs a greeting as well as toggles the left LED color:
と書かれていて、メッセージが表示されると共に、左側のLEDの色が変わるハズなのですが・・・何も変わりません。
で、さらに、下の方にある light.c も実行してみます。
コンパイルがコレ
cd ev3dev-c/eg/light/
make
実行がコレ
./Debug/light
でも、実行しても・・・何も起こりません。(本当は、LEDの色が変わって点滅するハズなのですが・・・)
もしかしたら、何かインストールに失敗してとか・・・
気を取り直して、他のサンプルプログラムを実行してみます。
sensor.c :TOUCH and COLOR sensors example
というのが、出来そうだったので、タッチセンサーをポート1に接続しました。
コンパイルは、hello を参考に
gcc sensor.c -lev3dev-c -o sensor
を実施しました。
で、プログラムの実行は、
./sensor
です。
そうしたら、以下のようなメッセージが表示されて
TOUCH sensor is found, press BUTTON for EXIT...
タッチセンサーのボタンを押したら、プログラムが終了しました。
なんか、はじめて、プログラムが実際に動いた感じがします。
カラーセンサーを接続すると、判定した色を画面上に表示します。(「BLACK」とか「RED」とか・・・)
じゃあ、今度はモーターを動かしてみます。
servo.c :SERVO motor example
これが、モーター関係っぽいので、実行してみます。
コンパイルはコレ
gcc servo.c -lev3dev-c -o servo
で、実行してみると・・・
*** ( EV3 ) Hello! ***
Found servo motors:
Servo motor is NOT found
*** ( EV3 ) Bye! ***
こんな表示は出て、何も起こりません・・・
2行目に「見つけた!」と表示されたのに、3行目で「見つかりません」と表示されます。
ダメなのかなぁ・・・やっぱダメ!
え~い もう、良く分からないから、ついでに怪しいヤツに挑戦してみます。
tacho.c :TACHO motor running for 5 sec
これも、サーボモーターっぽいからやってみます。
gcc tacho.c -lev3dev-c -o tacho
で、コンパイルして実行です。
Waiting tacho is plugged...
*** ( EV3 ) Hello! ***
Found tacho motors:
type = lego-ev3-l-motor
port =
LEGO_EV3_M_MOTOR is NOT found
*** ( EV3 ) Bye! ***
やっぱり、モーターは見つけたけど、モーターが見つけられない・・・という現象ですね。
でも、よく見たら・・・「LEGO_EV3_M_MOTOR」が見つけられない・・・M_MOTORって、小さいヤツのことじゃないかな。
大きなサーボモーターのかわりに、小さなサーボモーター(Mモーター)を接続してプログラムを実行してみると・・・
Waiting tacho is plugged...
*** ( EV3 ) Hello! ***
Found tacho motors:
type = lego-ev3-m-motor
port =
LEGO_EV3_M_MOTOR is found, run for 5 sec...
max_speed = 1560
run to relative position...
*** ( EV3 ) Bye! ***
なんか表示が変わった・・・そして、モーターが動きました。
ということで、全く動かない訳ではないのですが・・・なにをどうやって動かすのか、まだ分からない状態です。
続きの記事はこちら EV3ねた その22 ev3devのC言語 続き