今回は温度センサーの値をシリアル経由でPC上で表示させてみます。
MBEDはLPC1114FN28を、温度センサーはLM61CIZ使用します。
配線
配線します。
- Mbed(LPC1114FN28)をブレッドボードに差します
- 温度センサー(平な面を前にして)左のピンに電源プラス、真ん中のピンに13番ピン、右のピンにアースを配線します
シリアルポートドライバーのインストール
シリアルポートドライバーのインストールします
- 今回開発マシンはwindowsなので、シリアルポートドライバーのインストールします。
- 提供サイトからダウンロードしインストールします。
Note: Not Required for Windows 10! って左記サイトに
書いてあったので、
windows10では不要という意味だと思うのですが、私のマシンではインストールしないと認識して
くれませんでした。 - 正しくインストールされるとデバイスマネージャーに「mbed Serial Port」が表示されます
プログラムの作成
①プログラムを作成します
- WEBのMBEDサイト(ユーザ登録要)にログインし、右上のCompilerをクリックします。
- 開発環境画面が表示されますので、画面左上の→をクリックします
② プログラム名を入力し、OKボタンをクリックします
③ 左側のマイプログラムのmain.cppをクリックし、コードを以下のように修正します
#include "mbed.h"
AnalogIn sensor(dp13);
Serial pc(USBTX, USBRX);
int main() {
while(1) {
float temp;
temp = (sensor * 3.3 - 0.6) / 0.01;
pc.printf("temp = %f\r\n", temp);
wait(1.0);
}
}
コンパイルする
① 画面左上のをクリックします。
コンパイルが成功すると、ファイル(temp_sensor_LPC1114.bin)がダウンロードされます
実行する
①Windowsメニュー → コンピューター → MBED(F:) をクリックし
この中に先ほどダウンロードしたファイル(temp_sensor_LPC1114.bin)を入れます
しかし、コピー終了後にエキスプローラが再表示され中身が空っぽに、、、
公式サイトのFAQによると
「コンパイルしたプログラムをC027 の MBED ドライブにコピーしようとするとディスクがイジェクトされ、
再マウントされますがプログラムはありません」
「私が異常だと感じた上記の動作は正常なものであるということがわかりました。」
だだそうで、確かに私のマシンでもbinファイルは見えないけど、確かに動きました、、こんなことでいいのか、、、
② (気を取り直して)ボタンを押し実行します。PC側でターミナルソフトで、デバイスマネージャーで表示
されたCOMXを指定して温度が表示されることを確認します。