• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

ESP32 и I2S

yron

Member
Хочу сделать говорящий Вариометр.
С ЦАПом всё оказалось просто , заработало с первого раза но звук очень не качественный и много помех.
Решил сделать на MAX98357 со связью по I2S , первый же пример интернет радио по ссылке заработал отлично.
Но мне нужно проигрывать звук из массива который хранится в памяти ESP32 , и я нашел такой пример по ссылке.
Однако ArduinoIDE зависает на компиляции и не выдаёт никаких ошибок.
Помогите пожалуйста решить этот вопрос, как максимально просто по I2S передавать данные из массива.
 

yron

Member
Выложите код, список установленный библиотек.
C:
#include "AudioGeneratorAAC.h"
#include "AudioOutputI2S.h"
#include "AudioFileSourcePROGMEM.h"
#include "sampleaac.h"
#define Bit_Clock_BCLK 27
#define Word_Select_WS 26
#define Serial_Data_SD 25
#define GAIN 0.125
AudioFileSourcePROGMEM *in;
AudioGeneratorAAC *aac;
AudioOutputI2S *out;
void setup(){
  Serial.begin(115200);
  in = new AudioFileSourcePROGMEM(sampleaac, sizeof(sampleaac));
  aac = new AudioGeneratorAAC();
  out = new AudioOutputI2S();
  out -> SetGain(GAIN);
  out -> SetPinout(Bit_Clock_BCLK,Word_Select_WS,Serial_Data_SD);
  aac->begin(in, out);
}
void loop(){
  if (aac->isRunning()) {
            aac->loop();
  } else {
            aac -> stop();
            Serial.printf("Sound Generator\n");
            delay(1000);
  }
}
Кроме библиотек которые устанавливаются с пакетом ESP32 установлена только библиотека ESP8266Audio
список библиотек.png
 
Сверху Снизу