XIAO ESP32C3を使ってみる その1(バッテリー、Bluetooth)
はじめに
前回の記事はMaker Faire Kyoto 2023での展示のお話でした。今回は展示品に使っていたマイコンであるXIAO ESP32C3のお話です。MakerではiPhoneと無線通信をして操作しました。
小型化のために、はじめてLiPoバッテリーを採用してみました。扱いがちょっと怖いですね...
▼こういうものを展示していました。
▼前回の記事
▼スマートフォンとのBLE通信について、後日別の方法を試してみました。
XIAO ESP32C3について
概要については以前の記事でも触れています。ESP系の中でも小型のマイコンで、WiFiやBluetoothを使うことができます。ESP32C3はBluetoothの規格の中でも、BLEに対応しています。私が使っているiPhone 8もBLEに対応しているようです。
▼公式のGetting Startedのページでも説明があります。
Getting Started with Seeed Studio XIAO ESP32C3 | Seeed Studio Wiki
▼購入ページはこちら
Seeed Studio XIAO ESP32C3 — スイッチサイエンス (switch-science.com)
Seeed Studio XIAO ESP32C3: マイコン関連 秋月電子通商-電子部品・ネット通販 (akizukidenshi.com)
▼以前の記事
バッテリーの給電と充電
Getting Startedの「Battery Usage」のところに書いてあります。
裏面にバッテリー用の端子があって、3.7VのLiPoバッテリーでマイコンに給電することができます。逆にバッテリーを充電するときは、ESP32C3自身のバッテリーチャージャー機能を使うことができます。
はんだ付けするときに+と-をショートさせないようにと注意されていましたが、難しそうなので取り外しができるコネクタを取り付けておくのがいいと思います。
▼実際にはんだ付けした状態がこちら。何かの拍子にショートしないか不安です。
▼LiPoバッテリー用の充電器を買うなら、Adafruitのモジュールがおすすめです。Type-C用もあります。
バッテリーの電圧チェック
Getting Startedの「Check the battery voltage」のところに書いてあったのですが、バッテリーの電圧をピンで読み取ることができます。
▼元々意見が寄せられていたところ
220kΩの抵抗が無かったので2kΩの抵抗で代用しています。回路に詳しいわけではないので、これで大丈夫なのか分からないのですが、抵抗値が大きいほうが消費電流が少なくなるのかな?と思っています。テスターで測った電圧と、ピンで読み取った電圧では0.1Vぐらいの差がありました。
私はA0ピンで電圧を測れるようにしています。外付けの基板にあるフルカラーLEDで状態を確認できます。
▼基板に取り付けるとこんな感じ。マイコンが小さいので、基板も随分と小さくなりました。
BluetoothでiPhoneと通信
▼こちらのページを参考にしています
https://wiki.seeedstudio.com/XIAO_ESP32C3_Bluetooth_Usage/
「Light Blue」というアプリを使って、スマホと通信する方法が紹介されていました。私はiPhone 8を使っているので、Apple版のアプリで通信してみました。
Light Blueの使い方
※IDを塗りつぶしています。
▼Light Blueの画面。「>」のボタンを押していくと、詳細が表示されます。
▼Write new valueからデータを送信できます。右上にHexと書かれていますが、選択するとデータ形式を変更できます。
▼実際の選択画面。今回はUTF-8で送信します。
▼これで送信できました。Arduino IDEのSerial.readなどで値を取得し、プログラムを分岐させるといった使い方ができます。
実際の動作
▼実際にiPhoneから操作したときの動画がこちら。もっと回転速度が速いモーターにすればよかったですね。入力が結構手間です。
サンプルプログラム
▼電圧チェックとフルカラーLEDの調光をBluetoothで制御できるだけの、まだシンプルなプログラム。
▼モーターの制御も含めたプログラムはこちら。まだ調整中なので、散らかっています。
最後に
今回はLight Blueで操作しましたが、他にもBluetoothに対応したアプリがあったり、WiFiを経由して操作する方法があるようですね。Makerでもいろんな作例がありました。私はNode-RED MCUのダッシュボードを使って操作したいなと思っています。
ESP32C3は本当に便利ですね。WiFiやBluetoothを使えて、必要最小限という感じでお気に入りのマイコンです。動作中に結構熱くなるのが気になっていますが、今のところ問題なく使えています。