(こちらの中国語記事からの翻訳です)
すでに mbed application boardという記事で、mbed用アプリケーションボードの概要については紹介したので、今回は実際にこのボードを使用している所をご覧ください。
Image may be NSFW.
Clik here to view.
素晴らしいと思いませんか?
Image may be NSFW.
Clik here to view.
「ちょっと小さすぎるんじゃ・・・?」というのが、このボードを見た時の第一印象でした。これだけの多彩な周辺部品を実装した拡張ボードがクレジットカードと同じ大きさだなんて信じられません。見たところ、mbed用の差込口とmbedの制御ボード本体の大きさは、ぴったりと一致しているようです。
Image may be NSFW.
Clik here to view.
さて、実際にこのボードを使うにあたってまず初めに、mbedホームページ上にあるmbed application boardのcookbookを一つずつ目を通してみました。まずサーマルセンサー LM75BDが面白そうだったので、液晶ディスプレイ(LCD)上に温度が表示される温度計を、RGB LEDも使いながら作ってみました。RGB LEDは温度によって色が変化し、低温ならば赤く、高温ならば青く光ります。LEDはとても明るくて見やすいため、一目で現在の室温を把握することができます。
最初に、mbedにログインしてコンパイラを使用しますが、もしもmbedにあまり詳しくない場合は、私の書いた記事であるMbed Helloworldを参考にしてください。今回は、お手本としてHelloworldのcookbook上から、LM75BD、RGB LED、そしてLCDのライブラリをダウンロードします。これにはいくつかのメリットがあり、一つ目はワークスペースにライブラリをコピーするだけですぐに利用する事ができる点、二つ目はより親しみやすいHelloworldのコードを利用することができる点です。
Image may be NSFW.
Clik here to view.
まず、HelloworldのcookbookにLCDの機能を導入しましょう。
Image may be NSFW.
Clik here to view.
コンパイラを利用して、Testという名前の新しいプロジェクトを作成します。
Image may be NSFW.
Clik here to view.
ここで直接、LM758内のファイルをTest内に貼り付けましょう。
Image may be NSFW.
Clik here to view.
新しいプロジェクトのmain.cppに、Hello worldのmyLed部分をあらかじめ貼り付けておきましょう。
Image may be NSFW.
Clik here to view.
以下のコードを直接貼り付けます。
#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); } } } |
Image may be NSFW.
Clik here to view.
この後、コンパイラとダウンロードを行い、mbedにファイルを入れることで実行することができます。
Image may be NSFW.
Clik here to view.