Vyberte stránku

Přehrávač .wav souborů lze velmi jednoduše sestavit pomocí arduina a může se hodit například pro vaše modely. Podělím se tedy o postup jak na to.

 

 

 

Co budete potřebovat :

  • Arduino
  • čtečku MicroSD ($4 at DX.com )
  • MicroSD kartu
  • Reproduktor

Wav soubory je nutné mít ve formátu 22 kHz, 8 bit Mono (zkoušel jsem i jiné kombinace, ty ale výslednou kvalitu přehrání dramaticky zhorší). Soubory uložte na MicroSD kartu. Také doporučuji je nazvat co nejjednoduššími a krátkými názvy. Některé soubory se mi nepřehrály pokud měly delší název.

Jak zapojíme samotnou čtečku:

  • 3.3v  zapojte na 3.3v na Arduinu
  • GND zapojte na GND na Arduinu
  • D0 zapojte na pin D12 na Arduinu
  • CMD zapojte na pin D11 na Arduinu
  • CLK zapojte na pin D13 na Arduinu
  • D3 zapojte na pin D10 na Arduinu

Teď máme čtečku připravenou a můžeme z ní číst. Budete potřebovat ještě tuto knihovnu, kterou si přidáte do programu na ovládání Arduina (tento software je ke stažení zde: http://arduino.cc/en/Main/Software). Knihovna ke stažení: https://github.com/TMRh20/TMRpcm

Nyní připojíme reproduktor. Výchozím pinem na Arduinu je pin D9. Máte dvě základní možnosti jak reproduktor zapojit:

  1. tranzistorPřes tranzistor (například 2N2222) – provede zesílení, ale nečekejte nic světoborného. Tranzistor zapojíte dle uvedeného obrázku, kdy jej přes odpor připojíte na pin D9 (na tranzistorový vývod B), na další vývod (vývod C) přivedeme napájení z Arduina pomocí pinu 5V a poslední vývod (vývod E) slouží pro výstup na reproduktor.
  2. Přes zesilovač – ten si můžete koupit rovnou hotový nebo jako stavebnici, zesilovačpřípadně jako já přímo ze součástek pomocí čipu LM386 zesilovač postavit. Na googlu najdete jistě spoustu návodů i s detaily zapojení a návrhy samotných plošných spojů. Já jsem použil ten nejjednodušší návod s nejmenším počtem součástek, viz. obrázek vpravo. Napájení je ale vhodnější použít menší, například 5V, vyhnete se tak nežádoucímu šumu. Použil jsem tedy pin Arduina D4 pro napájení tohoto zesilovače.

Reproduktor můžete použít dle libosti. Já jsem použil vybrakovaný reproduktor ze starého mobilního telefonu a to především kvůli velikosti (potřeboval jsem co nejmenší možný).

Pokud máte vše zapojeno a připraveno stačí spustit software pro Arduino a nahrát vhodný kód. Já jsem použil tento:

#include <SD.h> //budete potřebovat tuto knihovnu
#include <TMRpcm.h> // a také tuto knihovnu…
#define SD_ChipSelectPin 10

TMRpcm tmrpcm; // Vytvoří objekt
char mychar;
int powerPin = 4;

void setup(){

tmrpcm.speakerPin = 9; //11 na Mega, 9 na Uno, Nano…

Serial.begin(9600);
pinMode(powerPin, OUTPUT);
digitalWrite(powerPin, LOW);
pinMode(10, OUTPUT);
digitalWrite(10, HIGH);

if (!SD.begin(SD_ChipSelectPin)) {
Serial.println(“SD fail”);
return;
}
digitalWrite(powerPin, HIGH);
tmrpcm.play(“sfx03.wav”); //Soubor “sfx03.wav” se přehraje po každém zapnutí/resetu Arduina
}

void loop(){

if(Serial.available()){
mychar = Serial.read();

if(mychar == ‘q’){ //Soubor se přehraje po stusknutí klávesy “q” v módu “Serial Monitor”
tmrpcm.play(“ag_fire.wav”);
}

}

}

Zde je výsledek: