mbed.1) mbed【NUCLEO-F303K8】を使用したLチカ


mbed【NUCLEO-F303K8】を使って、Lチカを行いました。

  • mbedの仕様
    • NUCLEO-F303K8
    • micro USBを使用する必要があります。
    • 始める前に、mbedにアカウントを作る必要があります。
      • アカウントを作成すると、右上に黄色のCompilerのボタンが出ます。
      • Deviceの登録などが可能になります。

mbedは、web上のeditorでコードをコンパイルして、コンパイルしたファイルを、
mbedに書き込むことで動作させることが出来ます。
(もちろんオフラインコンパイルも出来るみたいです。)

  1. mbedをmicro USB経由でPCに接続します。
    • mbedがLD1が赤く点滅します。
    • 本来であればLD2(赤,店頭),LD3(黄緑,点滅)になり、PCにUSBを認識したことが表示されるが表示されない。
  2. ファームウェアの更新が必要であるので、更新する。
    • NUCLEO-F303K8に"Nucleo ST-LINK/V2 driver installation and firmware upgrade"とあるので、リンクに従ってダウンロードし、実行する。(2つあります。)
      1. "Install the ST-LINK/V2 driver before connecting the Nucleo board to your PC the first time. Follow this LINK for all details."
        • 64bit PCの場合には、dpinst_amd64.exeを実行します。
        • アカウント登録を要求されます。
      2. "For optimum performances, ensure that the Nucleo ST-LINK/V2 firmware is upgraded to the latest version. Follow this LINK for all details."
    • 参考:http://weekendproject9.hatenablog.com/entry/2017/08/20/013850
  3. micros USBを刺しなおすと、LEDが正常にLD2(赤,店頭),LD3(黄緑,点滅)点灯しました。mbedはUSBとして認識されました。
  4. Compilerボタンを押して、左にある新規を押します。
  5. 新規プログラムの作成を以下の様に設定します。
    • プラットフォーム -> NUCLEO-F303K8
    • テンプレート -> Blinky...
    • プログラム名 -> Nucleo_blink_led
  6. コンパイルを押すと、.binファイルがダウンロードされるので、ファイルをUSBと認識されたフォルダに移動(書き込み)します。
    • LED1とサンプルコードにありましたが、LD3が点滅します。
  • コメント

    • 点滅の仕方に変化がないので、コードのsleep時間を変更するのが、良いかと思います。
  • 今後の方針

    • 9軸センサーを使用した"sensor fusion"(自己姿勢、自己位置推定)を行う。
    • GPSセンサーを用いて、sensor fusionの精度を上げる。
    • wifiを搭載しソケット通信を行い、クラウドとの連携を行う。

mbedで標準で使うことが出来るLEDのサンプルコードです。

main.cpp
#include "mbed.h"

DigitalOut myled(LED1);

int main() {
    while(1) {
        myled = 1; // LED is ON
        wait(0.2); // 200 ms
        myled = 0; // LED is OFF
        wait(1.0); // 1 sec
    }
}