現時点の情報です。最新情報はM5StickC非公式日本語リファレンスを確認してみてください。
概要
Arduino IDEを使った、初歩的なArduinoの説明を行っていきます。今回は教材として「ELEGOO Arduino用UNO R3スターターキット」を利用したいと思います。
上記の商品で、Arduino UNOと各種センサーなどの部品と、マニュアルが入っています。私が最初にArduinoを触ったときに使ったキットです。
このキットのマニュアルを教材に、ESP32で使うときの注意点などを補足しながらすすめていきたいと思います。
ESP32の機材としてM5StickCを利用していますが、基本的にはどのESP32ボードでも大丈夫だと思います。M5StickCはスイッチサイエンスさんが日本代理店で、Amazonだと正規店が販売していないものかもしれませんので注意してください。1980円+送料200円より高い場合にはスイッチサイエンスさんで購入することをおすすめします。
また、M5StickCを利用する場合には、Grove端子側のピンを利用するためにGroveケーブルを持っている必要があります。
上記などの中から、ケーブル付きのものを1つ購入しておくことをおすすめします。おすすめは「M5Stack用赤外線送受信ユニット」か「M5Stack用ミニプロトボードユニット」あたりですが、気になったもので構わないと思います。
その他のESP32ボードの場合には、技適マークのあるものを購入するようにしてください。ESP32は無線が使える関係で、日本の法律に適応しているボード以外は利用することができません。M5StickCは基本的に現在販売されているものはすべて技適マークがあると思います。その他ESP32ボードの場合に、安いものは技適マークが入っていないのがありますので、注意して選んでください。
教材のマニュアル
ELEGOOのキットの最新マニュアルはキット付属のCDか、WebPageからダウンロードすることができます。
最新版
- https://www.elegoo.com/pages/arduino-projects
上記の「Elegoo UNO R3 Super Starter Kit」が「ELEGOO Arduino用UNO R3スターターキット」のものになります。
ただし、最近マニュアルがリニューアルして、日本語版が入っていません!
日本語マニュアル
- http://www.elegoo.com/tutorial/
過去のバージョンも残っていまして、確認したところ2019-09-17バージョンは150Mのファイルで日本語マニュアルが入っていました。こちらのマニュアルをベースにすすめていきたいと思います。
キットの中身は変わっていないので、最新版の英語版を見て勉強してもいいと思います。ざっくりESP32との違いを説明するので、細かいところはマニュアルを参考にしてください。
※ファイルの保存方法がかわりなくなってしまいました
Arduino UNOとESP32の違い
キットはArduino UNOが入っています。個人的には一つは持っていてもいいボードだと思います。ESP32との違いは、動作電圧です。ESP32は3.3Vで動いていますがArduino UNOは5Vです。
昔は5V動作のものが多かったですが、最近は3.3Vで動くものの方が多くなってきていると思います。また、速度や機能的にESP32の方が優れており、ESP32では無線通信も可能です。
ただし、簡易的なテスターやオシロスコープ的に使いたい場合には、最大5Vまで計測できるArduino UNOの方が便利に使えます。
マニュアルの構成
最初の環境構築を行い、その後にキットに付属している部品を使って勉強をしていく流れになっています。環境構築は各自調べてArduino環境を作り、ESP32のボードを追加してみてください。
Lesson 0 IDE のインストール
- https://www.arduino.cc/en/Main/Software
- https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/boards_manager.md
各自検索して調べてみてください。環境構築は検索すると情報がたくさんでてきますので、検索の勉強に最適だと思います。
ただし、結構古い情報もありますので注意してみてください。Windows環境の人はWindows appバージョンよりは、インストーラーバージョンの方がおすすめします。
Lesson 1 ライブラリを追加してシリアルモニタを開く
ここではArduino IDEにライブラリを追加する方法が書いてありました。M5StickCを使う場合にはM5StickCのライブラリを追加する必要があります。
また、付属の部品によってはライブラリを追加する必要があります。基本的には必要になってから追加すればよいと思います。
シリアルモニタは検証ではよく使うので、使い方をマニュアルで確認してみてください。
Lesson 2 点滅
レッスン2では内蔵LEDの点滅を行っています。Arduino UNOの場合には内蔵されていますが、一般的なESP32では内蔵されていない場合が多いです。
M5StickCは裏側をみてもらうと、右上の方にLED G10とあります。LEDを内蔵していますので、このLEDを光らせてみたいと思います。
その他のESP32ボードの場合には内蔵されていないので、参考程度に見てください。細かい解説は次のレッスンでしたいと思います。
// 内蔵LEDが接続されているPINを指定する int led = 10; // リセットか電源を入れると一度だけ実行される初期化処理の関数です void setup() { // 内蔵LEDをオープンドレインのデジタル出力モードに設定する pinMode(led, OUTPUT_OPEN_DRAIN); } // 常に繰り返し実行される処理の関数です void loop() { digitalWrite(led, LOW); // 内蔵LEDをONにします(LOWにすると点灯します) delay(1000); // 1000ミリ秒(=1秒)待機します digitalWrite(led, HIGH); // 内蔵LEDをOFFにします(HIGHにすると消灯します) delay(1000); // 1000ミリ秒(=1秒)待機します }
上記がM5StickC用に改造したスケッチになります。Arduinoの場合プログラムをスケッチと呼びますが、プログラムとスケッチの違いは特にないと思います。
ベースになっているスケッチは、Lチカと呼ばれているLEDをチカチカさせるBlinkというスケッチです。ボードをArduino UNOにすると、スケッチ例から選択することができます。
M5StickCで動かす場合には、ボードをM5Stick-Cに変更し、シリアルポートを接続したM5StickCのものに変更して実行することで動作すると思います。
まとめ
環境構築と、スケッチの実行までできたでしょうか?
次回から、実際にプログラムを動かしながら解説を行いたいと思います。
コメント