• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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
 
Сверху Снизу