Arduino Nanoの代わりにNucleo F303K8で開発してみた話
この記事はmbed Advent Calendar 2016の16日目の記事です。
mbed初心者です。よろしくお願いします。 初めて使ってみる話です。
■
先日の記事にも書きましたが、現在アイロンビーズを自動で配置する「アイロンビーズビーズプロッター」を作っています。
アクチュエータを含まないハード部分はだいたいできましたが、駆動部分と制御ソフト、PCの画像処理ソフトを何とかしているところです。
PCから送られる情報でモーターをうまいこと制御するには、間にマイコンなどを入れての制御が必要です。最初はArduino Nano互換ボードを使用する予定でしたが、amazonで買ったステッピングモーターに付いていたドライバ基板4とセンサを扱うにはピン数が足りませんでした。そこで、mbedの勉強もかねて今回は同じピン数・ほぼ同じサイズのボードでありながら使用可能ピンがが少し多いNUCLEO F303K8を使うことにしました。
ちなみに制御ボード周りはこんな感じ。配線をちゃんと考えなかったので汚い…。
■ 外面仕様などの比較
F303K8はArduino Nanoとピン数こそ同じものの、USB接続がチップの周辺機能を使用していたり電源系の違いによりIOとして使えるピンが多いです。また、チップ自体がずっと後発・高機能なので機能ピンの自由度も高いです。今回はGPIOばかりなのであまり生かせていませんが。
電源電圧の違いこそあるものの、今回の使い方ではあまり問題になりません。動作周波数もずっと速いです。
これでもお値段は秋月電子で1600円とお安め。とはいえArduino互換品は安すぎるのでちょっと比較になりませんな…。ここは歴史が長くオープンソースハードウェアなArduinoの利点ではあります。(この互換品がきっちりArduinoのルールに従っているか?というとちょっと怪しいですが…)
互換品のほうも値段以外にも個人的に良いと思っているところがあります。ピンヘッダがはんだ付けされていないことです。実験などで使うには面倒ですが、薄い状態で組み込めるので、小さいものを作ることが多い自分には助かってます。
■ プログラム開発してみる
ArduinoはArduino IDEで開発します。ライブラリはダウンロードしてきて解凍、フォルダに格納する必要があります。
mbedを使ってArduinoより便利だと思ったのは、公開されているライブラリがボタン一つで取り込めること。色々な言語・環境に公開ライブラリを取り込み管理するシステムが用意されていますが、今まで使った中では一番楽だと思いました。
さらに、Arduinoに負けないくらいのライブラリが公開されています。最初、買ったステッピングモーターを制御するためmbedの標準APIを読みまくってプログラムまで考えていたんですが、いざモーターの型番で検索すると…
使い方も接続もライブラリも書いてくれてる人いるじゃん…。
いざ繋げてみると…
動くじゃん…
んで、余ったI2CピンでキャラクタLCDに状態表示を仕様とI2Cライブラリを読…む前に検索すると…
あるよねー
動くよねー
■
と、まだ進捗これくらいですが、あっさりといろいろ動いてしまっています。 初めてマイコンをさわり始め、設定間違えまくりながらバリバリレジスタを 叩きまくるようなプログラムを書いていた頃と比べると隔世の感がありますね。 高々10年くらいなんですけどね。
これから制御部分を書いていかないといけませんが、mbedの便利な部分や 先人の知恵にまだまだ助けられそうです。
ということで〆。
おはようございます。 この機械が欲しいです。