mbed HRM1017 マイコンをいじり始めたけど、今日はこれくらいにしといたるモードへ

2014-07-27 11.22.43

写真の右下にある、ブレッドボードに差さっていなのが HRM1017 です。日本橋のシリコンハウスで買いました。スイッチサイエンスさんとこの mbed HRM1017 を仕入れておられたのがたまたま目にはいった次第。詳細はスイッチサイエンスさんのページを見てください。

商品の紹介ページには下記リンクがあり参考になります。
mbed HRM1017をはじめよう
mbed HRM1017とiPadをBLEで接続してみた!

IMG_0208

たまたま手持ちのセンサ類が、参考リンクにあるものとは違ったので温度表示はしないけど、ちゃんと iPad mini と接続できることを確認しました。私の手持ちセンサは、Adafruit の BMP180 という温度、気温センサが搭載されているやつです。これを使うようにしてやれとソースいじりはじめても上手く温度が出ない。

仕方なく違う mbed ボード LPC1768 をひっぱりだしてきて I2C キャラクタ液晶接続し、下記ソースを作成し動かしてみたところ表示は出来るので壊れてはいないというのが一番最初の写真

#include "mbed.h"
#include "I2cLCD.h"
#include "BMP180.h"

I2cLCD lcd(p22,p20,p8);
BMP180 bmp180(p22, p20);

main () {
    float pressure, temperature;
    
    lcd.printf("hello");
    while(1) {
        lcd.cls();
        bmp180.normalize();
        pressure = bmp180.read_pressure();
        temperature = bmp180.read_temperature();
        lcd.printf("%f\n",pressure);
        lcd.printf("%f\n",temperature);
        wait(1.0);
        ;
    } 
}

ほな、このソースを HRM1017 に書いてやれば I2C の動作確認出来るハズと、ポート番号書き換えて接続仕直すも動かんという状態。オシロで電圧あたってみても、動作確認用の LED ポートはほぼ1秒毎に Hi/Low を繰り返すのでプロセッサは動いてる。I2C のクロックはプルアップ出来てるけど、データはプルアップ出来ていないというところで中断。(休憩)

2014-07-27 16.16.57

本当に駄目なのか、構成をシンプルにして、embed オンラインコンパイラのプロジェクトに入れたライブラリのソースを見つつ、違う人が書いた BMP180 のライブラリに変更してやっとこさ動き出しました。

IMG_0210

動いたのでよしとしましょう。とりあえず、mbed のライブラリ調べるのでえらいめにあいました。今日はこれくらいで…

mbed NXP LPC1768 で Lチカ (LEDチカチカ)

2014-02-22 07.49.32

昨年末の懸賞応募であたった NXP mbed ボードをやっとこさ開封して Lチカ やります! このボード秋月通販価格で 5,200円もするボードです。プロセッサは ARM Coretex-M3 、フラッシュメモリ 512k、RAM 32k のマイコンです。

2014-02-22 07.50.32

早速開封でございます。中には以下のものが含まれていました。

  • マイコンボード
  • セットアップガイド
  • Mini-B USB ケーブル
  • シール
  • ピン配置表示のプラカードと紙カード(名刺サイズ)

2014-02-22 07.50.36

最初はセットアップガイドを確認(流し読み)します。書いてあることは
「マイコンボードを PC に接続して、認識された USB リムーバブルディスクの中にある MBED.HTM をクリックして楽しめ」
ということらしいです。

2014-02-22 07.52.35

ついでなんで、I/O ポートの配置が書かれているカードも見てみます。プログラミング用とは別に USB のポート出ているのはありがたい気がします。

  • SPI x 2
  • I2C x 2
  • Serial x 3
  • Ethernet
  • USB
  • CAN
  • AnalogIN 6ポート
  • PWM OUT 6ポート
  • 電源入力4.5V ~ 14V や、3.3V 出力など電源関連

2014-02-22 07.54.13

では、早速 mbed ボードを PC に接続します。今回は Windows 7 Home のノート PC です。USB コネクタ横の LED が点灯しました。どうやらこれが電源 LED の模様。

mbed20140222075500

USB メモリと同様に、mbed ボードがリムーバブルディスクとして認識されます。

mbed20140222075600

そのディスクをクリックすると、mbed.htm というファイルがはいっているフォルダが開きます。この .htm ファイルをダブルクリックすると、Web ブラウザが起動して mbed のオンラインコンパイラのアドレスに誘導されます。

スクリーンショット 2014-02-22 07.57.23

アカウントを作成してログインします。(持っていればそのままログインですね)

スクリーンショット 2014-02-22 07.57.56

ログイン完了した次の画面では、USB ポートに差している mbed ボードが認識されて、私のアカウントに LPC1768 ボードの情報が追加されました。このページにはマイコンボードのメモリサイズなど簡単な説明があります。

スクリーンショット 2014-02-22 07.59.05

同じページの中央部分に Hello World のサンプルコードが表示されています。青い import program ボタンを押すと、新しいブラウザのウィンドウかタブが開きます。これがコンパイラの画面です。

スクリーンショット 2014-02-22 07.59.21

インポート確認のダイアログボックスが表示されますので、import name など確認して OK で取り込み完了

スクリーンショット 2014-02-22 07.59.49

main.cpp のプログラムソースファイルと、mbed ライブラリがインポートされた模様です。ソースの中身は以下のようにポートの ON/OFF を時間待ちの関数で調整しているコードです。

#include "mbed.h"

DigitalOut myled(LED1);

int main() {
    while(1) {
        myled = 1;
        wait(0.2);
        myled = 0;
        wait(0.2);
    }
}

このウィンドウの上に、 Compile というボタンがあります。これを押すとコンパイルとリンクが自動で実行されます。

スクリーンショット 2014-02-22 08.00.13

コンパイルが終わりますと、コンパイルされた実行モジュールの PC へのダウンロードが自動で開始されます。ダイアログボックスが表示されてダウンロードするか聞かれましたので、ダウンロードします。

mbed20140222080100

ブラウザによってダウンロードされるフォルダが違うと思います。標準のままだと 「ダウンロード」というフォルダだと思われますが、フォルダを開きますと HelloWorld_LPC1768.bin というファイルがダウンロードされていました。

スクリーンショット 2014-02-22 08.02.56

ダウンロードされた HelloWorld_LPC1768.bin を mbed のリブーバブルディスクにコピー・ペースト、もしくは ドラッグ・ドロップ でファイルをkピーします

2014-02-22 08.03.26

mbed ボードのリセットボタンを押しますと無事 Lチカ(LEDチカチカ) 開始でございます。ここまで、写真や画面のコピー撮りながらやりましたが 7:50に開始して 8:05 完了でございます。このバイナリファイルをマイコンボードにコピーしたら書き込まれるのは楽でいいですな。マイコンプログラマの心配が要らないのはいいなと思いました。

あとは、以前にも ARM を使おうといじり出したことはあったのですが Coretex アーキテクチャ出る前でコンパイラが有償(それも地味に高かった)だとか、gcc もビルド面倒とかで結局そのときは使うの止めちゃいましたね。今回はオンラインコンパイル環境になり手元に環境無いとは言ってもアマチュアが遊ぶには十分と思いますし、他の方が開発されたライブラリが共有出来るのもいいと思いました

今週の頂き物と買い物

2013-12-21 17.42.09

頂いた品物その1. NXP セミコンダクターズジャパンさん の Twitter アカウントにて懸賞応募さていたものに応募。その結果 LPC1768 の mbed ボードがあたりまして、本日手元に届いた次第。とりあえずは LED チカチカからですね。

2013-12-21 17.53.29

頂いた品物その2. Re Electronics さんところの、お店の商品レビューに投稿もしくは写真・ブログ記事などを投稿するという条件で懸賞の募集がありまして、これも当選。整流管や、6P3S(6L6互換) なども選べたのですが、結果は写真にあるとおり TESLA 6L31 (6AQ5) 2本と、6N2P-EV (12AX7 の 6V 版みたいなの) を2本、あとは DC/DC も付けていただきました。ということで、これを使った小出力アンプを作ります。こちらは、Blog の記事を一覧でまとめるか、スタティックなページに追記する方式かは考えます。

真空管工作をすることは無いだろうと思ってましたが、まさかの当選でいい機会いただきました。

2013-12-21 18.50.38

ということで、今日の買い物はあたりさわりの無い部品ばっかりです。6V のトランス。真空管のソケットと一応ブレッドボードで実験したくなるかもわからないので変換基板も。トランス類も定数決めてから選びたいですが、お値段高いのはシンドイので、デジットの 5kΩ:8Ω のトランス(1,500円強だっけ?) にあわせて作るかどうか、他所ので適当な値段のがあるかも調べたいところです。