2026年7月27日月曜日

esp32 max9837a 音出し コンパイルできた

https://www.farmsoft.jp/2193/#toc6でmax98357aのつかいかたはわかった この例では次のようにしているが、任意のピンをえらぶ GAIN と SD は接続していません。音量の制御や出力制御を変更することができますので、必要であれば接続してください。 MAX98357A ESP32開発ボード(38Pin) LRC GPIO 26 BCLK GPIO 27 DIN GPIO 25 GAIN ー SD ー GND GND VIN 5V #include // ピン設定 const int pinBCLK = 27; // Bit Clock const int pinLRC = 25; // Left/Right Clock (WS) const int pinDIN = 22; // Data In (SD) // I2Sオブジェクトの作成 I2SClass i2s; void setup() { Serial.begin(115200); Serial.println("I2S 音声出力テスト"); // I2Sのピンと初期設定 i2s.setPins(pinBCLK, pinLRC, pinDIN); // 標準的なI2Sモード, 44.1kHz, 16bit, ステレオで初期化 if (!i2s.begin(I2S_MODE_STD, 44100, I2S_DATA_BIT_WIDTH_16BIT, I2S_SLOT_MODE_STEREO)) { Serial.println("I2Sの初期化に失敗しました!"); while (1); } } void loop() { // 440Hzのサイン波(ピーという音)を生成 static double angle = 0.0; int16_t sample = sin(angle) * 8000; // 音量(最大32767、大きすぎると割れます) angle += 2.0 * PI * 440.0 / 44100.0; if (angle >= 2.0 * PI) angle -= 2.0 * PI; // 左右のチャンネルに書き込み i2s.write(sample); // 左 i2s.write(sample); // 右 }

0 件のコメント:

コメントを投稿