SimpleAudioPlayerZero

Bu öğreticinin amacı, yeni Audio lilbrary ve 10 bit DAC kullanarak SD kartta depolanan bir dalga dosyasını oynatmaktır.

Gerekli Donanım


Harici ses yükseltici oluşturmak için bileşenler

Devre

Anakarta bir hoparlör bağlamak için, DAC0 pimi ile hoparlör arasına bir amplifikasyon devresi eklediniz . Amplifikasyon devresi hoparlörün sesini artıracaktır. Mevcut birçok ses amplifikatörü vardır, en yaygın olanlarından biri LM386'dır . Aşağıdaki şemada, LM386 ve bir grup bileşen kullanılarak devrenin nasıl oluşturulacağı gösterilmektedir. Vs pinini bağlayan LM386'yı Arduino Zero / MKRZero'nun 5V pininde bulunan +5 V veya harici 9V pil gibi farklı voltaj kaynaklarıyla besleyebilirsiniz . Amplifikatörün kazancı, LM386'nın pim 1 ve 8'ine bağlanan kapasitör tarafından verilir. 10 µF kapasitör ile kazanç 200'e ayarlanır, kapasitör olmadan kazanç 50'dir. Potansiyometre ile amplifikatörün ses seviyesini kontrol edebilirsiniz.

LM386 elektronik şematik

Arduino Zero ve MKR1000 için, pin 4'te CS bulunan bir SD veya microSD kart için kalkan veya modül bağlamanız gerekir.

LM386 breadboard üzerine montaj

MKRZero için microSD Yuvası yerleşiktir. Kartın kök dizininde "test.wav" adlı bir .wav dosyası bulunmaktadır. Basit bir test için, polariteye saygı duyan bir çift kulaklığı doğrudan toprağa ve DAC0'a takabilirsiniz .

MKRZero ve tüm bileşenlerle aynı devre tahtasında yapılan aynı devre

Uyarı : hoparlörü doğrudan Arduino Zero veya MKRZero pinlerine bağlamayın .

Ses dosyası

SD karta depolanacak Ses dosyası 88200 Hz, 8 bitlik imzasız PCM mono kalitesinde .wav biçiminde olmalıdır. Bu tür dosyalar, cüret gibi ses programları kullanılarak kolayca elde edilebilir.

Kod

/*
  Simple Audio Player for Arduino Zero

 Demonstrates the use of the Audio library for the Arduino Zero

 Hardware required :
 * Arduino shield with a SD card on CS4
 * A sound file named "test.wav" in the root directory of the SD card
 * An audio amplifier to connect to the DAC0 and ground
 * A speaker to connect to the audio amplifier

 
 Arturo Guadalupi <a.guadalupi@arduino.cc>
 Angelo Scialabba <a.scialabba@arduino.cc>
 Claudio Indellicati <c.indellicati@arduino.cc>

 This example code is in the public domain

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

*/


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

void setup()
{
  // debug output at 115200 baud
  Serial.begin(115200);

  // setup SD-card
  Serial.print("Initializing SD card...");
  if (!SD.begin(4)) {
    Serial.println(" failed!");
    while(true);
  }
  Serial.println(" done.");

  // 44100kHz stereo => 88200 sample rate
  AudioZero.begin(2*44100);
}

void loop()
{
  int count = 0;

  // open wave file from sdcard
  File myFile = SD.open("test.wav");
  if (!myFile) {
    // if the file didn't open, print an error and stop
    Serial.println("error opening test.wav");
    while (true);
  }

  Serial.print("Playing");
 
  // until the file is not finished  
  AudioZero.play(myFile);

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