Самодельный arduino wav плеер

В этой статье хочу поделиться опытом проигрывание wav файлов на Arduino. Изобретать велосипед не стал а взял готовый пример Arduino Wav плеера с сайта instructables. Пример реально рабочий если все делать правильно то проблем быть не должно, у меня ушло приблизительно около полу часа на все чтобы собрать схему, установить библиотеку и воспроизвести звук с SD карты.

Схема Arduino Wav плеера

 Проигрывание wav файлов на Arduino

Кнопки я не подключал, так как в примерах с библиотекой есть пример проигрывания 1 файла на SD карте где они не нужны. SD карту подключил так же как на схеме.

В итоге собранная мною схема состояла из:

  • SD карты;
  • Arduino Nano;
  • Транзистора;
  • Сопротивления;
  • Динамика.

Для воспроизведения wav фалов нам понадобится специальная библиотека.

Скачать библиотеку TMRpcs

Для того чтобы установить библиотеку нужно в среде 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 нужно конвертировать под определенные параметры:

  • samples per seconds: 16000;
  • bits per sample: 8;
  • channels: mono.

Пример работы Arduino Wav плеера автора

Комментарии  

 
#1 Юрий 30.11.2015 23:16
Не могли бы Вы помочь новичку в создании печатной платы для этого проекта?
Сижу ковыряю... не получается (((
Цитировать
 
 
#2 VLADIMIR RYABOKON 24.10.2016 03:54
заголовок примера не до конца :)

#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
Цитировать
 
 
#3 VLADIMIR RYABOKON 24.10.2016 03:56
ААА.... мой тоже съело :)
Видимо особенность местного движка. Короче, заголовок тогда брать из примеров библиотеки
Цитировать
 

Добавить комментарий


Защитный код
Обновить

Последние комментарии

Последнии темы форума

  • Нет сообщений для показа