LoginSignup
1
0

More than 3 years have passed since last update.

mbedを使う

Posted at

7セグメントディスプレイをつかってmbedを確認

mbedはARMの開発環境。OSに依存せずブラウザだけで開発ができることが最大の特徴。

用いたもの

配線

NUCLEO-F303REのPC_0にCLKをPC_1にDIOを配線する(VDDとGNDとの説明は省略)。

mbed

準備

コンソール上のNUCLEO-F303REを選択する。または’+’を選択してターゲットを追加する。

選択すると、これが見える。

Open Mbed Compilerをクリックすると、次が表示される。

ここでは、新規プログラムとして「7SegTest」とした(テンプレートはなんでもよい)。すると、次のような表示となる。

TM1637ライブラリのインポート

TM1637ライブラリをインポートする。左上の「インポート」をクリックし、TM1637を入力して検索。

ここで最初に検索されたものを選択して、右の「インポート!」をクリック。すると、

が表示され、LibraryとしてImportする。次のようにTM1637ライブラリがこのプログラムにインポートされる。
image.png

TM1637ライブラリの修正

そのままではビルドエラーが発生していた。調べるとCATALEXというものを使うように設定する必要があるらしい。TM1637_Config.hを下記のように修正する。

TM1637_Config.h
// Select one of the testboards for TM1637 LED controller
#define TM1637_TEST   0
#define CATALEX_TEST  1 
#define ROBOTDYN_TEST 0 
#define EYEWINK_TEST  0 

テストプログラム

Font_7Seg.hを見ると表示できる文字がわかる。CATALEXのクラスを見て作ったプログラムは下記のとおり。

main.cpp
#include "mbed.h"
#include "TM1637.h"

TM1637_CATALEX CATALEX(PC_1, PC_0);

char digits[] = {C7_0,C7_1,C7_2,C7_3,C7_4,C7_5,C7_6,C7_8,C7_9};

TM1637::DisplayData_t hi_str = {C7_H, C7_I, 0x00, 0x00};
TM1637::DisplayData_t bye_str   = {C7_B, C7_Y, C7_E, 0x00};


int main()
{
    int i;
    TM1637::DisplayData_t disp_str;

    CATALEX.cls();
    CATALEX.writeData(hi_str);
    wait(2);
    for (i=0; i<10; i++) {
        memset(disp_str, digits[i], 4);
        CATALEX.writeData(disp_str);
        wait(2);
    }
    CATALEX.writeData(bye_str);
}

ビルド

コンパイルをクリック。

ビルドが終わると、プログラムを保存するダイアログが表示される。

ボードへのプログラム転送

いたってかんたん、ドラッグ&ドロップ。

実際の動作の様子

感想

時代遅れの年寄りにはびっくり。しかもこういった開発環境レスはかなり前から存在していたので。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0