😇

Arduino NANO ESP32を使ってハマったところ

に公開

1. 概要

WiFi接続できるNanoが欲しいなと思って買ってみましたが、ESP32を積んでるが故に普通のNANOと同じような使い方ができない部分があったのでメモ。他にハマったら追記します。

2. 拡張IOボードを使うにはB1ピンを切る必要がある

拡張IOボードに載せると書き込みができなくなって困っていました。
調べたところ、以下のフォーラムでB1を切れ!と書いてありました。
https://forum.arduino.cc/t/esp32-not-recognized-if-connected-to-gravity-nano-i-o-shield/1176673

B1ピンについてはB0ピンと合わせて以下に説明があります。
ブートローダーモードで使用するようです。
https://support.arduino.cc/hc/en-us/articles/9625819325212-About-the-B1-and-B0-pins-on-the-Nano-ESP32

3. ピンの指定方法が違う

いくらやってもNeoPixelが光らないなと思ったら、ピンの指定方法が違いました。

こちらのフォーラムで同様のやりとりがされていました。
https://forum.arduino.cc/t/nano-esp32-and-neopixels-issue/1177402/2

例えば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番号の対応図もあります。
https://docs.arduino.cc/tutorials/nano-esp32/pin-setup/

Discussion