В этой статье хочу поделиться опытом проигрывание wav файлов на Arduino. Изобретать велосипед не стал а взял готовый пример Arduino Wav плеера с сайта instructables. Пример реально рабочий если все делать правильно то проблем быть не должно, у меня ушло приблизительно около полу часа на все чтобы собрать схему, установить библиотеку и воспроизвести звук с SD карты.
Кнопки я не подключал, так как в примерах с библиотекой есть пример проигрывания 1 файла на SD карте где они не нужны. SD карту подключил так же как на схеме.
В итоге собранная мною схема состояла из:
Для воспроизведения wav фалов нам понадобится специальная библиотека.
Для того чтобы установить библиотеку нужно в среде Arduino IDE выбрать пункт импорт библиотеки zip. Но в моем случае это почему-то не сработало, если у вас произошло тоже самое, то можно распаковать этот архив в папку libraries в директории с установленной программой.
После того как импортировали библиотеку, в примерах Arduino IDE появится еще один пункт TMRpcs. В нем есть пример basic - пример который проигрывает один файл на SD карте однократно. Для повторного проигрывания нужно жать кнопку reset.
Пример кода для проигрывания файла wav на arduino
#include // need to include the SD library
//#define SD_ChipSelectPin 53 //example uses hardware SS pin 53 on Mega2560
#define SD_ChipSelectPin 4 //using digital pin 4 on arduino nano 328, can use other pins
#include // also need to include this library...
#include
TMRpcm tmrpcm; // create an object for use in this sketch
void setup(){
tmrpcm.speakerPin = 9; //5,6,11 or 46 on Mega, 9 on Uno, Nano, etc
Serial.begin(9600);
if (!SD.begin(SD_ChipSelectPin)) { // see if the card is present and can be initialized:
Serial.println("SD fail");
return; // don't do anything more if not
}
tmrpcm.play("music"); //the sound file "music" will play each time the arduino powers up, or is reset
}
void loop(){
if(Serial.available()){
if(Serial.read() == 'p'){ //send the letter p over the serial monitor to start playback
tmrpcm.play("music");
}
}
}
В этом примере все что нужно сделать это поменять имя воспроизводимого файла на "music.wav" и таким же именем назвать сам файл на SD карте, ну или любым другим именем.
Файл wav нужно конвертировать под определенные параметры:
Комментарии
Сижу ковыряю... не получается (((
#include // need to include the SD library
//#define SD_ChipSelectPi n 53 //example uses hardware SS pin 53 on Mega2560
#define SD_ChipSelectPi n 4 //using digital pin 4 on arduino nano 328, can use other pins
#include // also need to include this library...
#include
Видимо особенность местного движка. Короче, заголовок тогда брать из примеров библиотеки