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); // 右
}
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿