このAI-S3ボードをAliexpressで購入(ここ)
サンプルプログラムのBlinkRGBでこのボードの上にあるRGB LEDを点滅させる.このボードのレイアウトはESP32-S3-DevKitC-1に似ているが,所々異なっている・・・探してもこのボード自体のschematicが出てこないため,RGB LEDの型番は不明,接続先も不明・・そのためサンプルプログラムがなかなか動かすことができなかった.結論からいうとこのRGB LEDはGPIO38ではなく,GPIO48で制御することができる.
オリジナルのESP32-S3-DevKitC-1のschematicを見るとGPIO38に接続されているがこれはESP-IDF v5.0.1のバージョンで,ESP-IDF v4.4.xのバージョンだとGPIO48になっていた.おそらくAI-S3ボードはこの古いバージョンをベースに作られていると思われる.
環境
- Arduino IDE + esp32 v2.0.8
- Board: ESP32S3 Dev Module
サンプルプログラム
/*
BlinkRGB
*/
#define RGB_BRIGHTNESS 150 // Change white brightness (max 255)
// Explicitly define the pin here, overwrite the one in
// C:\Users\...\AppData\Local\
// Arduino15\packages\
// esp32\hardware\esp32\2.0.8\variants\esp32s3\pins_arduino.h
#define RGB_BUILTIN 48
void setup() {
Serial.begin(115200);
Serial.println("setup done...");
}
void loop() {
#ifdef RGB_BUILTIN
digitalWrite(RGB_BUILTIN, HIGH); // Turn the RGB LED white
delay(1000);
digitalWrite(RGB_BUILTIN, LOW); // Turn the RGB LED off
delay(1000);
neopixelWrite(RGB_BUILTIN,RGB_BRIGHTNESS,0,0); // Red
delay(1000);
neopixelWrite(RGB_BUILTIN,0,RGB_BRIGHTNESS,0); // Green
delay(1000);
neopixelWrite(RGB_BUILTIN,0,0,RGB_BRIGHTNESS); // Blue
delay(1000);
neopixelWrite(RGB_BUILTIN,0,0,0); // Off / black
delay(1000);
#endif
}
RGB_BUILTINをコード内に再定義しておくことでesp32s3/pins_arduino.h内に定義されているののを上書きさせる
ちなみに,上のAI-S3ボードを購入するのであれば,下記のYD-ESP32-S3ボードを購入した方がいい.このボードのschematicはGithubにある(ここ)
No comments:
Post a Comment