Audio Zero не отвечает на MKR Zero

У меня есть Arduino MKR Zero с установленной SD-картой, динамиком, подключенным к земле, и DAC0. У меня есть файл .wav под названием «test.wav», и это 8-битная монофоническая запись 88200 Гц. Я использую пример AudioZero, чтобы попытаться воспроизвести этот аудиофайл с динамика, но он не работает. Когда я загружаю и запускаю код и открываю Serial Monitor, чтобы проверить, есть ли какие-либо ошибки или успехи при чтении файлов, он просто пуст. Он отлично загружает код, но серийный монитор вообще ничего не говорит, и динамик ничего не воспроизводит. Я что-то не так настроил?

Вот код, который он выполняет:

 Простой аудиоплеер для Arduino Zero

Демонстрирует использование библиотеки Audio для Arduino Zero.

Требуемое оборудование:
* Плата Arduino с SD-картой на CS4
* Звуковой файл с именем «test.wav» в корневом каталоге SD-карты.
* Аудиоусилитель для подключения к DAC0 и заземлению
* Динамик для подключения к аудио усилителю


Артуро Гуадалупи <[email protected]>
Анджело Шалабба <[email protected]>
Клаудио Инделликати <[email protected]>

Этот пример кода находится в общественном достоянии

http://arduino.cc/en/Tutorial/SimpleAudioPlayerZero

*/

#include <SD.h>
#include <SPI.h>
#include <AudioZero.h>

void setup()
{
  // вывод отладки на скорости 115200 бод
  Serial.begin(115200);

  // устанавливаем SD-карту
  Serial.print("Initializing SD card...");
  if (!SD.begin(SDCARD_SS_PIN)) {
    Serial.println(" failed!");
    return;
  }
  Serial.println(" done.");
  // высокоскоростная передача SPI
  SPI.setClockDivider(4);

  // частота дискретизации 88200
  AudioZero.begin(2*44100);
}

void loop()
{
  int count = 0;

  // открыть волновой файл с SD-карты
  File myFile = SD.open("test.wav");
  if (!myFile) {
    // если файл не открылся, выводим ошибку и останавливаемся
    Serial.println("error opening test.wav");
    while (true);
  }

  Serial.print("Playing");

  // пока файл не будет закончен
  AudioZero.play(myFile);
  AudioZero.end();

  Serial.println("End of file. Thank you for listening!");
  while (true) ;
}

, 👍-1

Обсуждение

добавить в то время как (!Serial); после Serial.begin ждать подключения Serial Monitor, @Juraj

Когда я это делаю, похоже, что он инициализируется правильно, потому что последовательный монитор теперь говорит: «Инициализация SD-карты... выполнена». Но затем он просто зависает на этом и дальше не идет., @Tucker Epp

попробуйте пример CardInfo библиотеки SD, @Juraj

Пример информации о карте работает нормально и дает мне всю информацию без ошибок., @Tucker Epp

Вы тестировали динамик или зуммер с помощью функции tone()?, @Juraj

Да, я сделал. Тон тоже работает нормально., @Tucker Epp


1 ответ


0

Чтобы использовать последовательный монитор с Arduino MKRZERO, используйте SerialUSB вместо Serial, т.е. SerialUSB.println("something");

,