Arduino NANO ESP32を使ってハマったところ
1. 概要
WiFi接続できるNanoが欲しいなと思って買ってみましたが、ESP32を積んでるが故に普通のNANOと同じような使い方ができない部分があったのでメモ。他にハマったら追記します。
2. 拡張IOボードを使うにはB1ピンを切る必要がある
拡張IOボードに載せると書き込みができなくなって困っていました。
調べたところ、以下のフォーラムでB1を切れ!と書いてありました。
B1ピンについてはB0ピンと合わせて以下に説明があります。
ブートローダーモードで使用するようです。
3. NeoPixelのピンの指定方法が違う
いくらやってもNeoPixelが光らないなと思ったら、ピンの指定方法が違いました。
こちらのフォーラムで同様のやりとりがされていました。
例えばD6を使いたい場合はGPIOの番号である9番を指定します。
NeoPixelのsimpleというサンプルだと通常こうなっています。
#define PIN 6
#define NUMPIXELS 16
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
...
Nano ESP32を使ってD6ピンを使いたい場合は6ではなくGPIOの番号の9になります。
#define PIN 9 // D6 = GPIO9
#define NUMPIXELS 16
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
...
詳細は以下に記載されています。PIN番号とGPIO番号の対応図もあります。
NeoPixel以外では通常のPIN番号で大丈夫です。
4. AnalogピンはDigitalピンとして使えない(これは普通のNANOも)
これはNano ESP32だからじゃなくて、Nanoも使えないみたい。
The exception is the Arduino Nano, Pro Mini, and Mini’s A6 and A7 pins, which can only be used as analog inputs.
公式のドキュメントにもDigitalのところには書かれてないからそういうことなのか。
5. 動作電圧5Vではなく3.3VでUSB接続をしていない場合は5Vが取れない
The internal operating voltage of the ESP32-S3 SoC is 3.3 V
それに伴って5Vの出力ピンがVUSBに変わっています。USB接続の時はUSBから5Vが供給されますが、VINから電源を供給してUSB接続をしない場合は5Vが取れません。VINが5Vであればそれを使えますが僕は12Vで使おうとしてたので、別途三端子レギュレーターを用意して12Vから5Vを使いました。
Discussion