Quantcast
Channel: DesignSpark - Home - DesignSpark
Viewing all articles
Browse latest Browse all 245

Mbed用アプリケーションボード:LCD、RGB LED、温度センサー

$
0
0

こちらの中国語記事からの翻訳です)

すでに mbed application boardという記事で、mbed用アプリケーションボードの概要については紹介したので、今回は実際にこのボードを使用している所をご覧ください。

title

素晴らしいと思いませんか?

title

「ちょっと小さすぎるんじゃ・・・?」というのが、このボードを見た時の第一印象でした。これだけの多彩な周辺部品を実装した拡張ボードがクレジットカードと同じ大きさだなんて信じられません。見たところ、mbed用の差込口とmbedの制御ボード本体の大きさは、ぴったりと一致しているようです。

title

さて、実際にこのボードを使うにあたってまず初めに、mbedホームページ上にあるmbed application boardのcookbookを一つずつ目を通してみました。まずサーマルセンサー LM75BDが面白そうだったので、液晶ディスプレイ(LCD)上に温度が表示される温度計を、RGB LEDも使いながら作ってみました。RGB LEDは温度によって色が変化し、低温ならば赤く、高温ならば青く光ります。LEDはとても明るくて見やすいため、一目で現在の室温を把握することができます。

最初に、mbedにログインしてコンパイラを使用しますが、もしもmbedにあまり詳しくない場合は、私の書いた記事であるMbed Helloworldを参考にしてください。今回は、お手本としてHelloworldのcookbook上から、LM75BD、RGB LED、そしてLCDのライブラリをダウンロードします。これにはいくつかのメリットがあり、一つ目はワークスペースにライブラリをコピーするだけですぐに利用する事ができる点、二つ目はより親しみやすいHelloworldのコードを利用することができる点です。

title

まず、HelloworldのcookbookにLCDの機能を導入しましょう。

title

コンパイラを利用して、Testという名前の新しいプロジェクトを作成します。

title

ここで直接、LM758内のファイルをTest内に貼り付けましょう。

title

新しいプロジェクトのmain.cppに、Hello worldのmyLed部分をあらかじめ貼り付けておきましょう。

title

以下のコードを直接貼り付けます。

#include "mbed.h"

#include "LM75B.h"

#include "C12832_lcd.h"

 

PwmOut r (p23);

PwmOut g (p24);

PwmOut b (p25);

 

C12832_LCD lcd;

LM75B tmp(p28,p27);

 

int main ()

{

    while (1) {

    lcd.cls();

    lcd.locate(0,3); //表示開始位置の設定

    lcd.printf("Room Temp. :%.2foC",tmp.read()); //出力される文字

        wait(0.1);

       

        for(float i = 0.0; i < 1.0 ; i += 0.01) {

            float p = (((tmp.read()/100)-0.298)*60); //色の変化の設定

            r = 1.0 - ((p < 1.0) ? 1.0 - p : (p > 2.0) ? p - 2.0 : 0.0);

            g = 1.0 - ((p < 1.0) ? p : (p > 2.0) ? 0.0 : 2.0 - p);

            b = 1.0 - ((p < 1.0) ? 0.0 : (p > 2.0) ? 3.0 - p : p - 1.0);  ; 

            wait (0.01);

        }

    }

 

}

title

この後、コンパイラとダウンロードを行い、mbedにファイルを入れることで実行することができます。

title


Viewing all articles
Browse latest Browse all 245

Trending Articles