べれすく!

素人プログラマによるモノづくりやブログ生活を話すブログ

【スポンサーリンク】

【超スペックArduino!】ESP32を買って、ちょっと触ってみる話

こんにちは!べれすくです!
 
最近はIoT化や小学生にもプログラミングの授業が始まることもあって、Arduinoみたいな教育用マイコンボードがよく売れています。
そんな中、Arduinoと同じ開発環境を用いて開発ができるマイコンボードがここ数年で話題になっているので私も買ってみました!
 

もくじ

 

サイズと価格はArduino nano! 中身はモンスター?!

その名もESP32!
f:id:Veresk:20200822152444j:plain 基本スペックはこんな感じ

  • 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円也

akizukidenshi.com

純正Arduino unoの半額、もしくは中国産のパチモンArduino dueと同等の値段ですね。
そして、もちろんESP32にも非純正品が存在します。
もちろん私はESP32も中国産のパチモンESP32を買いましたよ!
f:id:Veresk:20200822161706j:plain
2つで1980円也~(コード付き)
送料やコード代を引くと、一つ900円ほどですね!


 
もちろん技適も通っているので日本での使用も問題ないですよ!
 

環境構築をしよう!

早速ですが使ってみます。
開発環境はいろいろあるみたいですが、今回はArduinoIDEを使います。
ArduinoIDEのダウンロード方法は割愛しますね。
 

ESP32用の設定ファイルをインポートしよう

ArduinoIDEは標準ではESP32のボード情報を持っていないのでインポートします。
f:id:Veresk:20200822162737p:plain
まずは左上のファイルから環境設定を選びます。
 
f:id:Veresk:20200822162833p:plain
赤線を引いたところに

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

と入力します。(コピペでいいです。)
入力できたらOKを押しましょう。

f:id:Veresk:20200822163321p:plain
次に”ツール → ボード → ボードマネージャ”を選択します。(すでに、ESP32が入っちゃってますが気にしないでください)
 
f:id:Veresk:20200822163553p:plain
赤線の検索欄にesp32と入力し、検索をかけましょう。
一つだけ出てくると思うので最新版をインストールしちゃってください!
 
f:id:Veresk:20200822163736p:plain
インストールができたら、先ほどの”ツール → ボード ”の中に、ESP32があると思うので、自分の環境にあったものを選択してください。(ほとんどの場合一番上のDev moduleです。)

COMポートを選択しよう

後はESP32の接続先であるCOMを選択してあげれば、完了です!
まぁ、この辺はArduinoでも一緒ですね。
f:id:Veresk:20200822164533p:plain
”ツール → シリアルポート”の中にあるCOMをESP32が接続されている番号に変更するだけです。
 
適当に試していってもいいですが、調べるには左下のWindowsマークを右クリックして、デバイスマネージャーを開きます。
f:id:Veresk:20200822164834p:plain
ポート(COMとLPT)を開くとそれらしい端末が出てきます。
私の場合はCOM7がESP32ですね。

 
これで環境構築は完了です!
 

サンプルプログラムを動かそう!

せっかくなのでサンプルプログラムを動かしてみましょう!
マイコンボードのテストといえばLチカ(LEDをチカチカさせるだけ)...ですが!
LEDが手元にないので、今回はWifiモジュールを使ってみようと思います。
f:id:Veresk:20200822165246p:plain 左上の”ファイル → スケッチ例 → WiFi → WiFiScan”の順に進みます。
f:id:Veresk:20200822165819p:plain
プログラムのファイルが起動すると思うので、左上の矢印マークを押して書き込みます。
書き込みが完了したら、右上の虫眼鏡マークをおしてシリアルポートを開きます。
f:id:Veresk:20200822170138p:plain
シリアルポートを開いたら右下のボーレートを"115200bps"に変更します。
 
しばらく待つと...キタ!
周囲のWiFiSSIDが表示されました。(ほかの人のSSIDにはモザイクをかけています。)
私のWiFiSSIDであるVereskも認識されています。

いやー、もう大成功!

 

ちょっと残念なところ

このESP32は文句の付け所がほとんどないのですが、少し残念なところがあります。
というのも、このESP32は3.3V駆動なので、ピンからの5V給電や、5V出力ができません
ピンからのPWMやシリアル通信もON状態で3.3Vなので、少々心配が残ります。
モータドライバやモジュールによってはレベルシフト回路を通す必要がありそうです。
ちょっと面倒。

まとめ!

買って間もないですが、すでに満足度は高いです。
この価格でこのスペックはほかのマイコンボードじゃ考えられないと思います。
コンパクトでハイスペックな上、Arduinoと同じように使うことができるのは大きな利点だと思います。
センサーやモジュールを使うのが楽しみです!
 
今回はこの辺にしておきましょう。それでは!