A Day in the Life

mbed で MAX7219 + 8桁7セグメントLEDを使う

ebayで約200円で売られている、MAX7219 + 8桁7セグメントLEDを mbed で動かした。

SPIで制御するのだけど、MISO は必要なく、繋ぐ線は

  • (mbed) MOSI -> (MAX7219) DIN
  • (mbed) SCK -> (MAX7219) CLK
  • (mbed) CS -> (MAX7219) CS

の3本で良い。

オフィシャルが提供している mbed のライブラリコードを使う場合、全桁自分で制御する (decode_mode が 0x00) 前提でコードを書く必要がある。

例えば全桁 - (マイナス)表示をしたい場合は

Max7219 max7219(MOSI, NC, SCK, CS);

max7219_configuration_t cfg = {
  .device_number = 1,
  .decode_mode = 0xFF,
  .intensity = Max7219::MAX7219_INTENSITY_7,
  .scan_limit = Max7219::MAX7219_SCAN_8
};

max7219.init_device(cfg);
max7219.enable_device(1);

max7219.clear_display_test();
for(uint8_t i = 1; i < 9; i++) {
  max7219.write_digit(1, i, 0b1010 /* minus */);
}

のように書く必要があって面倒。

ではシンプルに実現してるので、mbed で動くように移植してみた(cho45 さんから許可いただきました)。

SPI spi(MOSI, NC, CLK);
MAX7219 max7219(spi, CS);
max7219.begin();
max7219.print("-1234.567");

3.3V で動くのか

そもそも MAX7219 は仕様書によると電源電圧が 4V~5.5V、 ロジックの HI が MIN 3.5V だったので 3.3Vを電源とするmbedと同じ3.3V電源で動かないと思ってたんだけど動いてしまった。

また、MAX7219 のICの価格が、digikey だと8$ほどするけど、ebay だと LED 込みで2$しない価格で安すぎる…。B級品なのかコピー品なのか。

組み込み関係の事をブログ記事を書くこと

↑で触れてる lowreal.net の影響が大きくて。組み込み開発に興味無かったときは、エントリーを読んでも理解できなかったんだけど、今は大変参考になるし、Google 検索しても結構な頻度で引っかって助かっている。なのでメモ的なことでも記事にしている。

記事の一覧 >

関連するかもエントリー

BLE Nano V1.5 を mbed 上で 32K RAM で扱う
BLE Nano は V1.0 では 16KB の RAM が、V1.5 から 32K RAM がのっている。が、mbed 上では現在 1.0 ベースしかなく、折角の 32K RAM が使えない。ので使えるようにする方法メモ。mbed OS 5 の場合rtos の INITIAL...
BLE Nano は V1.0 では 16KB の RAM が、V1.5 から 32K RAM がのっている。が、mbed 上では現在 1....
mbed で Callback 関数を扱う
mbed のコアAPI、 Ticker などでも使われている、FunctionPointer を使う。https://developer.mbed.org/users/mbed_official/code/mbed-src/file/a11c0372f0ba/api/Functi...
mbed のコアAPI、 Ticker などでも使われている、FunctionPointer を使う。https://developer.m...
mbedで開発出来るようになるかもしれない、2$のWiFi SoC、RTL8710について
蟹NICでお馴染みの realtek 社の WiFI が使える SoC マイコン RTL8710。安価なWiFi SoC は TELEC認証通ってるESP8266あるし、そんなに興味が無かったんだけど、Tiny $2 IoT module runs FreeRTOS on Rea...
蟹NICでお馴染みの realtek 社の WiFI が使える SoC マイコン RTL8710。安価なWiFi SoC は TELEC認証...