前々回、Arduino Uno R3用の「バニラ味」シールドボードを発掘。LCDを搭載して動作OK。前回Uno R4に接続して動作OK、しかし電気的にマズイ。どうしたものかと考えつつ、今回はNucleoボードに同じシールドボードを取り付け。動作OK、そして電気的にもOK。ソフトもハードも何もしてないんだけれども。
※「やっつけな日常」投稿順 Index はこちら
STM32 Nucleoボード
STM32 Nucleoボード群は、ST Microelectronics社のSTM32マイコン・シリーズを搭載した小型の開発ボードです。マイコンも多品種ならボードも多品種です。しかし、互換性にはかなり配慮が払われており「共通部分」に関してはある機種で覚えたことはそのまま別の機種へ展開することも容易じゃないかと思います。そして素晴らしいのは、Arduino Unoシリーズとピンソケット互換になっているボードが多数存在(Nucleo-64シリーズ)することです。今回はシリーズの中ではスペック小さめのNucleo F072RBという機種を実験対象としています。これにArduino UNO R3/R4で動作確認済(電気的に問題あるのだが)のシールドボードを載せてみます。右がNucleo F072RBボード、左がお手製シールドボードです。
シールドボードは、右のNucleo F072RBボードの「ピンソケット」にぴたりと刺さります。物理接続は問題なし。
そして電気的には
-
- Arduino UNO R3/R4は、IO電圧5V
- STM32 Nucleoは、IO電圧3.3V
です。IO電圧が違うので、通常は「注意」が必要なのですが、今回の自前ボードは3.3V用です。それをUNO R3/R4では「実際は動く」ということでヤマシイ感じで動作確認しました。しかし、Nucleoボード上ではそのやましさはありません。こんな感じ。
やったことは以下だけです。
-
- シールドボードをArduino互換ピンソケットに差し込んで
- Arduino UNO R4用のプログラムソース一式をNucleo F072RBボード用に再ビルドして書き込み
ほとんど何もせず、プロジェクトをコピーして再ビルドしたら動いてしまいました。その上電気的にヤマシイところも解決していた、と。お楽。
Arduino IDE上でのSTM32の設定
STM32 Nucleoボードは手元に何枚か所持しており、いろいろとお世話になってきているのです。しかしArm御本家のリアルタイムOSである MbedOSや、ST Microelectronics社純正開発環境CUBE-IDEで開発することが多く、Arduino IDEで開発するのは初めてだったかも知れません。そこで念のため、Arduino IDEでの設定手順をおさらいしておきます。
まず「追加のボードマネージャ」の在処は以下です。
https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
これを例によって基本設定のボードマネージャのところにコピペし、現れてくる以下のボードマネージャをインストール。
上記のボードパッケージをインストール後、各種STM32マイコンとNucleoボードなどがボードマネージャから選択できるようになっている筈。
今回使用の Nucleo F072RBの場合、以下のように選択であります。
Nucleoボードにもいくつかシリーズがあり、F072RBは、Nucleo-64ボードというシリーズなのでそれを選択、さらにその中に数ある品種から Nucleo F072RBにチェックを入れておきます。なお、COMポートは環境により異なるのでデバイスマネージャ等で確認しておきます。
まあ、これでほぼほぼArduino Unoと同等な感じでプログラム開発ができるっと(ハードウエアのコマケーところは当然違うけど。)