Welcome to our 9th blog post! In this update we are going to guide you through the process to play .wav files on the MKR1000. The components we have used are -
- Arduino MKR1000
- PAM 8403 Amplifier (5V with Potentiometer)
- Speaker (4 Ohms, 3 Watts)
- Jumper cables
Speaker (8 Ohms, 3 Watts) PAM 8403 Amplifier
The library designed for SAMD boards is called AudioZero. This library enables an Arduino Zero or MKR1000 board to play back .wav files from a storage device like an SD card. More information can be found on https://github.com/arduino-libraries/AudioZero
Pin diagram -
After connection -
Code -
#include <SD.h> #include <SPI.h> #include <AudioZero.h> void setup() { // debug output at 115200 baud Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for native USB port only } Serial.print("Initializing SD card..."); if (!SD.begin(4)) { Serial.println("initialization failed!"); while (1); } Serial.println("initialization done."); delay(2000); // 44100kHz stereo => 88200 sample rate AudioZero.begin(2*44100); } void loop() { int count = 0; // open wave file from sdcard File myFile = SD.open("a.wav"); if (!myFile) { // if the file't opden, 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) ; }
Demonstration -
Stay tuned for our next blog!