【超スペックArduino!】ESP32を買って、ちょっと触ってみる話
こんにちは!べれすくです!
最近はIoT化や小学生にもプログラミングの授業が始まることもあって、Arduinoみたいな教育用マイコンボードがよく売れています。
そんな中、Arduinoと同じ開発環境を用いて開発ができるマイコンボードがここ数年で話題になっているので私も買ってみました!
もくじ
サイズと価格はArduino nano! 中身はモンスター?!
その名もESP32!
基本スペックはこんな感じ
- CPU : デュアルコア Tensilica LX6 160 または 240 MHz
- SRAM : 520KB
- 電源電圧:2.2V~3.6V
- 静電容量タッチインターフェース:x10
- 32kHzオシレータ:x1
- GPIO:x21
- UART:x3
- SPI:x2
- I2S:x2
- ADC:x16
- DAC:x2
- I2C:x2
- SDIO:マスター/スレーブ
でゅ...デュアルコア?! 240MHz?! 520KB?!
驚きポイントが多すぎて突っ込みが追い付きません。
Arduino unoがシングルコアの16MHz、SRAMが2KBであることを考えると凄さがわかると思います。
プロセッサは単純計算で30倍の性能です。
さらに驚きは続きます。
対応無線規格
このマイコンボード、WifiモジュールとBluetoothモジュールが標準装備です。
うそだろ...
そして、お値段は純正でも一つ1500円也
純正Arduino unoの半額、もしくは中国産のパチモンArduino dueと同等の値段ですね。
そして、もちろんESP32にも非純正品が存在します。
もちろん私はESP32も中国産のパチモンESP32を買いましたよ!
2つで1980円也~(コード付き)
送料やコード代を引くと、一つ900円ほどですね!
もちろん技適も通っているので日本での使用も問題ないですよ!
環境構築をしよう!
早速ですが使ってみます。
開発環境はいろいろあるみたいですが、今回はArduinoIDEを使います。
ArduinoIDEのダウンロード方法は割愛しますね。
ESP32用の設定ファイルをインポートしよう
ArduinoIDEは標準ではESP32のボード情報を持っていないのでインポートします。
まずは左上のファイルから環境設定を選びます。
赤線を引いたところに
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
と入力します。(コピペでいいです。)
入力できたらOKを押しましょう。
次に”ツール → ボード → ボードマネージャ”を選択します。(すでに、ESP32が入っちゃってますが気にしないでください)
赤線の検索欄にesp32と入力し、検索をかけましょう。
一つだけ出てくると思うので最新版をインストールしちゃってください!
インストールができたら、先ほどの”ツール → ボード ”の中に、ESP32があると思うので、自分の環境にあったものを選択してください。(ほとんどの場合一番上のDev moduleです。)
COMポートを選択しよう
後はESP32の接続先であるCOMを選択してあげれば、完了です!
まぁ、この辺はArduinoでも一緒ですね。
”ツール → シリアルポート”の中にあるCOMをESP32が接続されている番号に変更するだけです。
適当に試していってもいいですが、調べるには左下のWindowsマークを右クリックして、デバイスマネージャーを開きます。
ポート(COMとLPT)を開くとそれらしい端末が出てきます。
私の場合はCOM7がESP32ですね。
これで環境構築は完了です!
サンプルプログラムを動かそう!
せっかくなのでサンプルプログラムを動かしてみましょう!
マイコンボードのテストといえばLチカ(LEDをチカチカさせるだけ)...ですが!
LEDが手元にないので、今回はWifiモジュールを使ってみようと思います。
左上の”ファイル → スケッチ例 → WiFi → WiFiScan”の順に進みます。
プログラムのファイルが起動すると思うので、左上の矢印マークを押して書き込みます。
書き込みが完了したら、右上の虫眼鏡マークをおしてシリアルポートを開きます。
シリアルポートを開いたら右下のボーレートを"115200bps"に変更します。
しばらく待つと...キタ!
周囲のWiFiのSSIDが表示されました。(ほかの人のSSIDにはモザイクをかけています。)
私のWiFiのSSIDであるVereskも認識されています。
いやー、もう大成功!
ちょっと残念なところ
このESP32は文句の付け所がほとんどないのですが、少し残念なところがあります。
というのも、このESP32は3.3V駆動なので、ピンからの5V給電や、5V出力ができません。
ピンからのPWMやシリアル通信もON状態で3.3Vなので、少々心配が残ります。
モータドライバやモジュールによってはレベルシフト回路を通す必要がありそうです。
ちょっと面倒。
まとめ!
買って間もないですが、すでに満足度は高いです。
この価格でこのスペックはほかのマイコンボードじゃ考えられないと思います。
コンパクトでハイスペックな上、Arduinoと同じように使うことができるのは大きな利点だと思います。
センサーやモジュールを使うのが楽しみです!
今回はこの辺にしておきましょう。それでは!