しゅうの自作マウス研修

マイコン選び – しゅうの自作マウス研修 part2

しゅうの自作マウス研修

こんにちは、しゅうです。
今回は、マイコンの選定をします。ここが決まらないと今後の開発が進まないので早めに決めちゃいます!

選定基準

まずは、他のマイコンの勉強もしたいため、Pi:Coで使っていたRXマイコン以外を使いたいと考えています。
さらに今回は、僕自身がプログラミングの理解を深めたいと考えているため、Arduinoなどのマイコンは使いません。
それはArduinoは使いやすく設計されていることと引き換えに、抽象化されている部分が多いからです。
これだと理解したいプログラミングの部分がしっかり見れない場合があります。

そこで、今回はマイクロマウス界隈でよく使われているSTM32シリーズを使おうと考えています。
でもそのシリーズにはさらに色々種類があります。
マウスの大きさや必要な機能の数を基に、マイコンの大きさ、ピンの数、周波数も自ずと定まってきます。
また、迷路解析後の情報を保存したり、プログラムを書き込むためにRAMやROMの大きさも関係してきます。
これらは段々と情報を整理して決めていければ良いかなと思います!まずは手を動かしていきましょう。

ここからは、今回のマウスに欲しい機能を整理しつつ、STM32の開発環境を用意していきます。

しゅうのマウスに必要な機能

今回必要な機能として以下が挙げられます。

  • 光センサによる壁判定
  • モータの制御
  • モード表示用LED
  • ブザーやスイッチの制御
  • 加速度センサ制御
  • 移動距離の測定
  • PCとの通信手段


これだけの機能を全てマイコンで制御する必要があります。マイコンからの制御方法も、SPIO/I2C、GPIO、PWM、ADC、UART、など様々必要になります。
すなわち、欲しい機能などを基にピンの数や性能が定まってきます。ただしこれに関してはまだ少し悩みそうなので、とりあえずSTM32の開発環境を用意していきます。

STM32の開発環境

STM32には、STM32CubeIDEと呼ばれる統合開発環境が用意されています。macOSにも対応しているそうです。
この統合開発環境のおかげで、STM32に最低限必要なプログラムを出力してくれたりコンパイルなどを行ってくれる環境が整っております。

ですが、今回は手元で具体的に何をしているかを見ながら作っていきたいなと考えているので、開発環境は別で準備していきます。
プログラムの出力だけは、STM32CubeMXと呼ばれる初期化コード自動生成ツールが利用できます。
これはSTM32に最低限必要なプログラムを出力してくれるので、STM32CubeMXを頼りたいと思っています!

初めは簡単な動作確認から行っていきますので、STM32を搭載した開発ボードを買います。
次回はそれを使いながら、開発環境構築の詳細をお話しします。

タイトルとURLをコピーしました