ESP-WROOM-32 DIP化キットをセットアップした
はじめに
IoTがしたい。BLEを使いたい。ArduinoIDEで開発したい。
じゃあESP-WROOM-32を使おう!
ということでESP-WROOM-32で電子工作をすることになったのですが,せっかくなら開発ボードじゃなくてDIP化キットから回路組んだりして開発できるようにしようか...
となったので作りました。
ちなみに開発ボードを使う人はここから読めばセットアップできます。
ESP-WROOM-32について
ESP32シリーズはWi-FiとBluetoothを内蔵する低コスト,低消費電力なSocのマイコンである。他のBluetooth内蔵マイコンに比べてとにかく安い!この安さでBluetoothもWi-Fiも!とにかくこいつは電子工作界の革命児なのだ。(誇張)
使うもの
全て秋月電子さんで揃います。
- ESP-WROOM-32 DIP化キット
- FT232RQ USBシリアル変換キット
- 低損失CMOS三端子レギュレータ 3.3v 500mA NJU7223F33
- 電解コンデンサー47μF 35V 85℃(ルビコンPK)
- 絶縁型ラジアルリード型積層セラミックコンデンサー0.1μF 50V 2.54mm (10個入)
- カーボン抵抗(炭素皮膜抵抗)1/4W 10KΩ(100本入)
- タクトスイッチ(黒色)
回路を組む
3端子レギュレーターを使って3.3Vまで降圧する
ESP-WROOM-32の入力電圧は2.2V~3.6Vですが,ここでのシリアル変換器からは5Vが供給されてしまいます。そこで3端子レギュレーターを使って3.3Vまで降圧して3v3ピンに繋ぎます。
リセットスイッチなどをつける
ENピンとIO0ピンはタクトスイッチをつけます。
両者ともにOFF時に10kΩでプルアップし,ON時にGNDに繋がるようにします。
ENピン側のスイッチはリセット用。IO0ピンのスイッチはENピンのスイッチとともに書き込みモードへの切り替え用に使います。
シリアル通信の回路を作る
ここでのシリアル通信の意味は狭義のものですし大したことは書きません。詳しくは調べてください。
パソコンとESP32をつなぐためにシリアル通信をします。USBからの入力は変換キットで変換されるのでESP32に配線するだけです。
基本的に最低限のシリアル通信をするためには3本の線が必要です。1つがGNDで残り2つは送受信用です。送信用はTXD(Transmitted Data),受信用はRXD(Received Data)という名称です。
ブレッドボード図
ライブラリをダウンロード
ArduinoIDEで開発可能です。
- [環境設定]の[追加のボードマネージャのURL]にhttps://dl.espressif.com/dl/package_esp32_index.json を追加。
- [ツール] > [ボード] > [ボードマネージャ]を開く。
- 検索フィルタに「esp32」を設定すると、「esp32 by Espressif Systems」が表示されるのでそれをインストール。
- [ファイル] > [スケッチ例] にESP32 Dev Module用のスケッチ例があることを確認
Lチカ
ボードは[ツール] > [ボード] > "ESP32 dev module"を選択。*1
IO0ピン側のスイッチをスイッチA,ENピン側のスイッチをスイッチBとします。
スイッチAを押しながらスイッチBを押し,B→Aの順に離して,書き込みモードにしてから書き込みます。Lチカが成功すればOK!
次回はBLEとして動かして行こうと思います。
void setup() {
pinMode(19, OUTPUT);
}
void loop() {
digitalWrite(19, HIGH);
delay(250);
digitalWrite(19, LOW);
delay(250);
}
最後に
なんだかんだで別段難しいことはないです。しかしながら,秋月電子さんや他のお店ではESP-WROOM-32の開発用ボードというものが1500円前後で売っています。(ちなみにESP32DIP化キット+USBシリアル変換キットで1500円オーバー)
今回はレギュレーターを使って降圧回路を組んだりとか,パソコンとマイコン間のシリアル通信についてとか学びたいことが色々あったので自作しましたが,
開発ボードを買う方が早いし安いし楽だということが結論。
ESP32-DecKitC ESP-WROOM-32開発ボード
参考サイト
*1:2018.10.31追記