*

C言語でEV3開発(7)

公開日: : 最終更新日:2015/03/29 マインドストーム/EV3, 開発

どもです。
今回のエントリーでは、いよいよEV3を動かしていきます。
新しい環境に対して、最もよく作成されるプログラムは、コンソールアプリであれば”Hello,world.”、組み込みマイコンであれば、”LEDの点滅”(Lチカ)です。
なので、ここでも、この基本的なプログラムから紹介します。

今回のエントリーでの”Lチカ”では、EV3のInteligentBox上のLEDを点滅させます。
また、単に点滅させるだけではなく、都度色を変更していきます。
なお、これまで紹介してきたUbuntu/Eclipseでのクロス開発環境を前提として、本文を作成します。

(1). ポートのオープン
InteligentBoxのポートをオープンします。
ポートのオープンのためには、open関数を使用します。
このとき、ポート名には、”/dev/lms_ui”を指定します。これが、InteligentBoxのポートです。
コードは、以下。

(2). LED
LEDを光らせるためには、以下のコードを実行します。

変数 color で、表示する色とパターンを設定します。
設定できる色は、緑・赤・オレンジの3色。
また、パターンは、点灯・点滅・短時間での点滅の3種類になります。

(3). ポートのクローズ
close関数を使用します。
これは、必ず実行しなければなりません。

※しかし、現状のInteligentBoxの動作では、問題があります。
それは、
「ポートを閉じても、InteligentBox本体のLEDの表示はリセットされない」
というものです。
つまり、close関数を実行する前のLED表示が「赤色」の「点滅」であった場合、close関数が呼ばれた後もInteligentBoxのLEDの表示状態は保持されてしまいます。
対策としては、プログラム終了時に必ず表示を消す、つまり黒に戻しておくようにします。

以上、これらの処理を行うプログラムを作成したので、全文を載せておきます。

実際に動かした様子は…そのうち動画で載せたいなぁ…。
ではっ。

2015/03/29:追記
・ループを抜ける際に、LEDを黒に戻す処理をコードに追加。
・上記サンプルコードを実際に動作させた動画を追加↓

関連記事

eclipse_cdt_top_100

C言語でEV3開発(3)

どもです。 今回のエントリーの内容は、前回まででセットアップした環境で、実際にEV3上で動く実行フ

記事を読む

MY_MFC_LOGO

MFCプログラミング(4):Enter(ESC)キーでダイアログが閉じないようにするための設定

どもです。 前回、Enterキー/ESCキーでダイアログが閉じられることを回避する方法を記載しまし

記事を読む

think_about_utest

VisualStudioで実行した単体テストの結果の出力(3)-テスト実行からレポート生成までをツールで自動化

どもです。 前々回、前回と、VisualStudio/C#での単体テストの効率化について書いて

記事を読む

MY_MFC_LOGO

MFCプログラミング(2):コピー機能の実装

どもです。 前回に引き続き、今回もMFCネタです。 内容は、MFCでの「クリップボードへのデータ

記事を読む

RasPi_Qt

QtでRaspberryPi/GUI開発(6):pigpioを使用したチャタリング対策

どもです。 前回のエントリーで、pigpioを使用したボタンを使用したLEDの点灯/消灯について書

記事を読む

MindStormControl_SprachScreen

EV3開発サポートツール(2)-C#のユーザーコントロール開発(2つ目)

どもです。 前回に引き続き、今回もC#/WPFでの独自UI(ユーザーコントロール)の作成についての

記事を読む

RasPi_Qt

Rasbianの新しいバージョンが出たので、クロス環境を更新してみた。

どもです。 RaspberryPiのOS:Raspbianの新しいバージョンが、少し前(…なの

記事を読む

no image

QtでRaspberryPi/GUI開発(3):ためしに時計を作ってみた(其の参)-StyleSheetの適用

どもです。 前回のエントリーでは、グループ化されたボタンに対するイベントハンドラについて書きました

記事を読む

raspberry-pi

QtでRaspberryPi/GUI開発(1):ためしに時計を作ってみた

どもです。 また更新の間隔が空いてしまいました。 久しぶりの更新です。 前回のエントリーで

記事を読む

RasPi_Qt

Rasbianの新しいバージョンが出たので、クロス環境を更新してみた。(その後)

どもです。 前回、Linux/RaspberryPiでのQt(QtCreator)のクロス開発

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

think_about_utest
VisualStudioで実行した単体テストの結果の出力(3)-テスト実行からレポート生成までをツールで自動化

どもです。 前々回、前回と、VisualStudio/C#での単

think_about_utest
VisualStudioで実行した単体テストの結果の出力(2)-出力ファイルの読める化

どもです。 前回の続きです。 前回は、VisualStud

think_about_utest
VisualStudioで実行した単体テストの結果の出力(1)-ファイルへの出力

どもです。 最近、VisualStudio/C#でよく開発してい

think_about_utest
単体テストの効率化を考える(6)-スタブの自動生成ツール

どもです。 「単体テストの効率化について考える」の6回目です。

think_about_utest
単体テストの効率化を考える(5)-スタブの自動生成への入力

どもです。 「単体テストの効率化について考える」の5回目です。

→もっと見る

PAGE TOP ↑