マイコン学習の始め方とステップアップ

ArduinoやESP、mbed、Raspberry Piなどいろいろなマイコンがありますが、おすすめの学習方法をまとめたいと思います。

最初はArduino UNOがおすすめ

世界中で使われているマイコンです。簡単な電子工作と共に使ったり、3Dプリンタの制御などでも利用されています。

特徴としては、あまり高性能ではないですが利用しやすいのと安価で充実した環境が構築できます。

学習セットがおすすめ

私も購入しましたが、上記のセットがおすすめです。三千円前後でArduino UNOと、学習用の部品セットが手に入ります。(もっと部品がついている最終版スタータキットでもいいですが、倍の値段になります)

付属品CDに日本語マニュアルが入っていない場合には、ホームページから最新版をダウンロードすると日本語のチュートリアルが入っています。

マイコンの基板だけ購入しても、何をしたらいいのかわかりませんが、部品セットとチュートリアルがあれば、どんなことができるのかを実験しながら学ぶことができます。Arduino以外のマイコンでも、部品やチュートリアルの回路などは流用できるので無駄になりません。

ELEGOO以外にもいろいろなメーカーがセットを出していますが、日本語チュートリアルが充実しているのはELEGOOになります。

予算がない人はまずはホームページから最新版をダウンロードして中身を見るだけでも学習はできると思います。

Arduino UNOのプラスアルファ

ロボット

実際にものを動かしてみたいという場合には、ロボットのキットがありますので購入してみるのもいいかもしれません。

中身を確認したい場合には、ホームページからマニュアルなどがダウンロードできますので、興味があれば購入する前に確認することができます。

Grove

GroveとはSEEED社が開発をした、コネクタの規格です。学習セットではブレッドボードジャンパー線と呼ばれる線で接続をしますが、もっと簡単に接続するためのものです。

たとえばI2Cのセンサーを利用する場合には、I2Cと書いてあるところに線をつなげるだけで使えます。

Groveは非常に楽に接続が可能で、試験などで入れ替えも簡単にできます。ただし、コネクタが共通なだけで、自分で同じように接続すれば利用することも可能です。

Arduino以外でもGroveの部品は利用することが可能ですので、興味があればチャレンジしてみるのもいいと思います。ただし、普通の部品に共通のコネクタをつなげている関係で単品で買うよりは高くなります。

NanoとMEGA

ArduinoにはNanoやminiと呼ばれる小さい基板と、MEGAと呼ばれる大きな基板があります。使える端子数などが違いますので、用途に応じて選ぶことができます。

Nanoはmini USB端子を使っているものが多いのでご注意ください。私はMicro USB端子になるべく統一しているので、mini USBの基板は極力避けています。

基本を学んだら無線対応のESP32

ESP32とはArduinoでWi-fiとBluetoothが利用できるマイコンです。電波法の関係で日本で利用できるものは技適呼ばれるマークが付いているものだけになりますのでご注意ください。

ついていないものは非常に安いですが、日本で利用できるESP-WROOM-32と呼ばれるモジュールを搭載しているか、個別に申請している商品を利用するようにしましょう。

また、似たようなモジュールでWi-fiのみが利用できるESP8266(ESP-WROOM-02)もありますが、あまり値段差がないので高性能なESP32をまずは触ってみるのがいいと思います。

Bluetoothの利用例は、シリアルケーブルでパソコンに転送していたデータを簡単に無線化できます。シリアルポートの代わりにBluetoothを利用するようにするだけで、簡単に無線化ができます。

Wi-fiの利用例は、インターネット上に直接データを転送することができます。部屋の温度を定期的にアップして、グラフで確認をしてみたり、一定値を超える温度になったらメール通知などをしてくれるサービスなどが無料で提供しているサイトなどもあります。

ESP32のプラスアルファ

M5Stack

M5StackはESP32を利用したマイコンで、小さい画面にボタンやmicroSDカード、スピーカー、Grove用のコネクタなどがあります。

Stackの名前の通り、バッテリーなどの拡張用モジュールを積み重ねて利用することができます。BASICの他にも加速度、ジャイロ、磁気を計測可能な9軸センサを搭載したGrayや高性能なFireなどもあります。

最近はもっと小さいCameraや腕時計ぐらいのStickも販売されています。画面がついているので非常に使いやすいですが、できれば最初はプレーンなESP32の開発ボードから入ってもらい、他のボードで動かないときには、プレーンなESP32では動くのかを確認して欲しいです。

ここで自分の興味の方向性を確認する

Arduino UNOとESP32を触ったところで、ちょっと自分がどんなものに興味があるのかを確認したほうがいいと思います。

もっと細かい制御がしてみたい→mbed

Arduinoは非常に便利ですが、細かい制御や高度な制御には向いていません。もっと細かい制御をしたい人にはmbedをおすすめします。

mbedとはブラウザ上でプログラミングして、出来上がったプログラムをダウンロードして、USBメモリみたいに認識しているマイコンにコピーするだけで動かすことができる仕組みです。

mbed対応のマイコンは大量にありすぎて、選ぶことが難しいです。上記ではArduinoとのピン互換性が高いNUCLEO-F401REと、すこしピンの互換性は下がりますが高性能のNUCLEO-F446REを紹介します。

両方ともSTM32と呼ばれるチップを利用した、オフィシャルの開発用ボードになります。STM32はArduinoも動きますので、mbed専用ではありません。そしてSTM32独自の開発環境もありますので自分の好きな環境で開発することができます。

STM32以外のチップを利用したmbedも大量にあって、用途に合わせてチップを選ぶことになりますが、STM32の中でもたくさんありすぎて選ぶのが大変です。

上記がSTM32の開発ボードのナインナップですが、Nucleo-32がArduino nanoに相当する小さいボードで、右のNucleo-144がMEGAに相当する大きいボードです。通常は真ん中のNucleo-64から選ぶのがいいと思います。

高性能のチップと省電力のチップでそれほど価格は違わないので、バッテリーで長時間動かすなどでない場合には、まずは真ん中の上の方にある高性能のチップを使っておけばいいと思います。

チップ単体の価格は非常に安いわりに高性能のため、実際の商品化する際には利用しやすいとは思いますが、趣味のレベルだとESP32で速度が足りない場合にSTM32の利用を検討すればいいかなと思っています。

ただSTM32は無線機能を持っていないので、無線機能を使う場合には別途ESP32やESP8266に接続して、通信部分だけ任せるみたいな使い方が多いみたいです。

STM32以外だとPICとかAVRも調べてみたも楽しいと思います。

もっとパソコンみたいな制御がしたい→Raspberry Pi

USB接続のカメラとかプリンターを制御したいみたいな場合には、Raspberry Piをおすすめします。Raspberry Piはマイコンではなく、小さいパソコンです。

本体のみのものもありますが、コネクタが特殊なのと、電源の要求が厳しいのでセットのものを選んでみました。

大きなRaspberry Piと、小さなRaspberry Pi Zeroがあります。バリエーションで無線が使えるものと、使えないものや、細かい性能が違うものがありますので最新の情報で調べ直してから購入したほうがいいと思います。

小さいパソコンなので、パソコンで出来ることは、大抵できますが、逆にマイコンではないのでマイコンで利用していたようなアナログ入出力などがそのままではできません。

I2Cなどはありますので、I2C経由でADCを接続するなどが必要になります。

Raspberry PiでGroveコネクタを利用するためのGrovePiという拡張ボードもありますが高いです。これはアナログ入出力などが使えるようにICを搭載して、変換しつつ簡単に使えるようになっているためです。

まとめ

ほんとうはmbedがブラウザだけで開発できるので、簡単なのですがそれを使って電子工作をするとかになると書籍と、部品を購入したりと結構面倒になります。

その点Arduinoのセットだと日本語のチュートリアルもついているのと、開発環境を整える練習もできるのでトータルで始めやすいのかなと思います。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)