前回の続きです
STM32nucleoボードはArduino互換機能を持っているようです
なので動くか確認してみました。
手持ちのデバイスで手軽に動作確認が
出来るものを探したところ
ちょうど良いOLEDがあった。
これを利用してみようと思う。
このデバイスはI2C接続でVCC,GND,SDA,SCLの4本
を接続するだけで良いのでお手軽にテストできそうです。
ちなみにI2Cアドレスは0x3Cです。
Arduinoライブラリにはたくさんの種類があり
どれを使おうか迷うところですが
今回は「Adafruit_SSD1306」ライブラリを使います。
これはライブラリマネージャから簡単にインストール
できます。
で、サンプルの「ssd1306_128x64_i2c」を試してみました。

I2Cアドレスが0x3Dだったのを0x3Cに変更して書き込む。
動きました!!

I2Cアドレスのみ変更で簡単に動作します。
STM32nucleoはI2Cに関してはArduinoライブラリを
ほぼそのまま利用できそうです。
今後はいろいろとデバイスを接続して遊べそうだ。
ちょっと前にESP32をArduinoIDEで開発を行い
Arduinoもちょっといいなと思い始めた。
Arduinoは持ってないがSTM32マイコン
を使用したArduinoピン互換の商品を購入してみた。
これ↓

STM32 Nucleo-L476RG
スペック
CPU:ARM Cortex-M4
FlashROM:1MB
SRAM:128KB
と、この手のボードにしてはゴージャス仕様です。
で、このボードでもArduinoIDE使えます。
以下のURLで詳しく書かれています。
https://github.com/stm32duino/Arduino_Core_STM32
簡単に書くと
ArduinoIDEを起動して
「ファイル」→「環境設定」にある
「追加のボードマネージャのURL:」に
「https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json」
を追加する。
その後
「ツール」→「ボード」→「ボードマネージャ」を開いて
検索フィルターの所に
「stm32 core」と入力すると出てきます。
これをインストールするだけで使えます。
WIO LTEの続きです。
細かな仕様や説明はここにあるので見てほしい。
早速温度計を取り付けてみた。

LTEアンテナはこんな感じ

アンテナは一本しか使っていない。(付属しているアンテナは2本)
WIO LTEのサンプルにDHT11(EasyWordMall DHT11 温度と湿度センサー デジタル出力
)を使用してsoracom harvestで
続きを読む Wio LTE 使ってみた。 →
IoTではWiFi、Bluetooth、GSM、3G、LTE等様々な
通信デバイスで行われます。ホビー用途で最も多い
のはやはりWiFiでしょうか。これもESP8266のおかげ
です。ESP8266が出る前はXBee(XBee ZB(S2C) / PCBアンテナ型
)等で遊んでいたのを思い出します。
今まではESP8266モジュールを使用してWiFiで
いろいろ通信を行ってきましたが。
今回LTEを使用しようと思い「WIO LTE」を購入してみた。

このボードはSTM32マイコンとLTEモジュールが搭載されていて
Arduinoの開発環境を使用して簡単にプログラミングできる。
LTEのSimはSORACOMを使ってお手軽通信する予定。
家の中であればWiFi電波があるためESP8266で
問題は無いですが、一歩家から出てしまうと通信
することが出来ない。
今回は、車の中で使用することを考えて
新しいデバイスを試してみることにした。
続きは後ほど・・・
最近これ購入しました。Cortex-M7コアがどんなものか興味があります。
これ↓


主なスペック
・STM32F746マイコン 1MBFlash 340KBRam
・4.3インチ480×272 TFT-LCD タッチスクリーン
・128Mbit SDRAM
続きを読む STM32F7Discovery 買った →
今のところの構成は
・STM32F1系マイコンボード
・温度センサ
・nRF24L01無線モジュール
・有機ELディスプレイ
これを接続して温度データを無線で飛ばして有機ELディスプレイに表示してみた。
全体的な構成写真。

マイコンボードを二枚使用して
1枚目は温度センサとnRF24L01無線モジュール
2枚目はnRF24L01無線モジュールと有機ELディスプレイ
(本当は同じSTM32F1マイコンの中継用もある、これはnRF24L01のみ接続してあり、受信したデータを送信し直すだけのバケツリレー専用)
表示部だけ拡大写真

最上部に「0.0.0]とあるのは親機。(ノードID=0.0.0)
単純計算で100台以上の通信ノードを追加できる仕様となっている。
下のブルーの表示部の「1.1.0」は温度センサのノードIDで
その後に続く数字が温度データを表している。
最下行が最新データを表している。
温度データはUSB側にも出力可能なように作ったので、後でPCを等でデータの保存も可能。
とりあえずは目標達成とする。
有機ELディスプレイも買ったよ。
こんなの

これをSTM32F1のマイコンボードにつける。
というかこのマイコンボードは最初から専用コネクタがある。
時間がたってしまいましたがnRF24L01購入しました。

これは2.4GHz帯の無線モジュールなんですがWiFiとは通信できません。
購入したマイコンボード、早速CubeMXしてみた。

去年使った時にはSTM32F1系は設定さえも使い物にならなかったものが、今回使用してみるとなんとSTM32F1系も普通に使うことができました。
まめにバージョンアップしていたんですね。
で、クロックの設定もこんな感じです。

これでコードを吐き出させてTOPPERS/ASPと合体します。
今回のは前回のSTM32F4系とは違いSTBEEと同じですので修正が少なくて助かります。
久しぶりにマイコンボード買った。

小型のSTM32F103マイコンで20PINのJTAGコネクタが付いているのはGOOD!
その他には、UART(TTL)、USB(スレーブ)、Flashメモリ等。
何よりも小型なのが良い。
なんとnRF24L01専用ポートもあるので接続してみた。

ちょっと基板からはみ出るが問題なし。
ECHONETLite、HEMS、ESP8266、nRF24L01、TOPPERS、STM32、マイコン関連いろいろやってます。