Воспроизведение голосовых CD файлов

Vadim0312
Offline
Зарегистрирован: 27.11.2016

Прошу посдсказать как можно программно воспроизводить WAV файлы с CD. У меня есть CD карта она уже адаптирована к Ардуине. Я могу в нее загрузить аналоговые значения и считать. Но мне необходомо воспроизводить короткие звуковые файлы с наступлением событий. Примеры которые в интернете какие-то не совсем удачные с плохим изобажением. Прошу если есть, дайть ссылку на надежный пример.

Vadim0312
Offline
Зарегистрирован: 27.11.2016
#include <pcmConfig.h>;
#include <pcmRF.h>;
#include <TMRpcm.h>;
#include <pcmConfig.h>;
#include <pcmRF.h>;
#include <TMRpcm.h>;
#include <SPI.h> ;//Адаптер флешки подключается как в предыдущей статье
#include <SD.h>;
#define SD_ChipSelectPin 3; //Определение 3го пина для управления адаптером флешки
#include <TMRpcm.h>;
TMRpcm tmrpcm; //Обьект класса TMRpcm

void setup(){
  
  
tmrpcm.speakerPin = 4; //Определение пина для управляюшего сигнала для транзисторного ключа
//if (!SD.begin(SD_ChipSelectPin)) { //Проверка инициализации флешки
//return;
//}
tmrpcm.volume(4); //Как видно выше из функций - это громкость.
}
void loop(){
tmrpcm.play("0001.wav"); //ОБОЖЕ МОЙ. Всего навсего одна строчка воспроизводит аудио файл с флешки
delay(10000);
}


 

Vadim0312
Offline
Зарегистрирован: 27.11.2016

Данный скетч даёт ошибку в строке 17. Я её заблокировал и тут не понятно со схемой подключения. Флешка подключена к 10,11,12,13 пинам через делители. Куда подключать выход на усилитель ???

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

Vadim0312 пишет:
Куда подключать выход на усилитель ???

А посмотреть на

tmrpcm.speakerPin = 4;

и подумать?

Цитата:
Данный скетч даёт ошибку в строке 17.

Текст ошибки из вас паяльником нужно вытаскивать?

Vadim0312
Offline
Зарегистрирован: 27.11.2016

 

Текст ошибки из вас паяльником нужно вытаскивать?

 

Да и паяльник не поможет...

valera678
Offline
Зарегистрирован: 04.11.2016

OlegK видимо хотел бы увидеть текст ошибки которую выдает ArduinoIDE. 

Vadim0312
Offline
Зарегистрирован: 27.11.2016


#include <pcmConfig.h>;
#include <pcmRF.h>;
#include <SPI.h> ;//Адаптер флешки подключается как в предыдущей статье
#include <SD.h>;
#include <TMRpcm.h>;

#define SD_ChipSelectPin 10; //Определение 3го пина для управления адаптером флешки

TMRpcm tmrpcm; //Обьект класса TMRpcm
File myFile;
File root;

void setup(){
   Serial.begin(9600);
  
tmrpcm.speakerPin = 4; //Определение пина для управляюшего сигнала для транзисторного ключа
  while (!Serial) {
    ; //Ждём инициализации серийного порта. Нужно для Leonardo
  }
 
  Serial.print("Initializing SD card...");
  // Магия. Этот вывод должен быть настроен как выход.
  // Иначе, некоторые функции могут не работать.
   pinMode(10, OUTPUT);
 
  if (!SD.begin(10)) {
    Serial.println("initialization failed!");
    return;
  }
  Serial.println("initialization done.");
 myFile = SD.open("1.wav", FILE_READ);

  
tmrpcm.volume(50); //Как видно выше из функций - это громкость.

};
void loop(){
tmrpcm.play("1.wav"); // Всего навсего одна строчка воспроизводит аудио файл с флешки
delay(10000);

}

 

Vadim0312
Offline
Зарегистрирован: 27.11.2016

Нашел я один косячок. Ошибка ушла, но воспроизвение не идет. Проверяю на наушники на 4 пине. На видеороликах там пищалки просто взрываются, а у меня просто глухать. И громкость поднял. И инициализию файла произвел. Чего не хватает...Прошу помощи глобального разума ! :-)

valera678
Offline
Зарегистрирован: 04.11.2016

проверяйте наушники ..ну или слух

Vadim0312
Offline
Зарегистрирован: 27.11.2016
#include <pcmConfig.h>;

#include <pcmRF.h>;

#include <SPI.h> ;//Адаптер флешки подключается на 10,11,12,13 pin

#include <SD.h>;

#include <TMRpcm.h>;

#define SD_ChipSelectPin 10; //Определение 10 го пина для управления адаптером флешки

TMRpcm tmrpcm; //Обьект класса TMRpcm

File myFile;

File root;

void setup(){

   Serial.begin(9600);

tmrpcm.speakerPin = 4; //Определение пина для управляюшего сигнала для транзисторного ключа

  while (!Serial) {

    ; //Ждём инициализации серийного порта. Нужно для Leonardo

  }

  Serial.print("Initializing SD card...");

  // Магия. Этот вывод должен быть настроен как выход.

  // Иначе, некоторые функции могут не работать.

   pinMode(10, OUTPUT);

  if (!SD.begin(10)) {

    Serial.println("initialization failed!");

    return;

  }

  Serial.println("initialization done.");

 //myFile = SD.open("1");
 myFile = SD.open("001.wave", OUTPUT);
//myFile = SD.open("1.wave", FAIL_READ);
tmrpcm.volume(10); //Как видно выше из функций - это громкость.

 

};

void loop(){

tmrpcm.play("001.wave"); // Всего навсего одна строчка воспроизводит аудио файл с флешки
//tmrpcm.play("1"); // Всего навсего одна строчка воспроизводит аудио файл с флешки
delay(10000);

}

Привожу новую версию своего скетча. Опять отрицательный результат. CD карта размером 1Гиг, отфарматирована FAT16. Записаны 8 файлов .WAVE. На 4 пине наушники. Имеют 100 Ом сопротивление. Глухарь. Что может ещё быть ???

Vadim0312
Offline
Зарегистрирован: 27.11.2016

Прошу проверить мой скетч на других Ардуинках. Может моя библиотека Tmr устарела ???