Introduction
There are a thousand of radio stations are broadcasting music/reviews/interviews over the internet. To listen these radio stations you will need a personal computer or tablet or smartphone or a stand alone web radio player. The circuit I have designed is an inexpensive web radio player with high quality stereo sound. The WebRadio player is controlled by two switches for going to the next or previous radio station. That WebRadio has 14 pre-defined radio stations that can be replaced with the radio stations of your choice by re-programming the modified sketch to the arduino pro mini. So far, the WebRadio player supports sound streams up to 64-kbps (audio streams over internet). Choosing radio stations that broadcasts AAC sound streams instead of mpeg (mp3) will give you the best sound quality.
The WebRadio player successfully managed to play 320 kbps mp3 audio streams that are stored on my local network!
The circuit
The arduino sends a request to a WebRadio server through the ethernet module (ENC28J60). The ENC28J60 is connected to the webradio server, sends the request and waits for response from the server. The response will be the header information of the radio station followed by the audio stream (mp3, aac etc). The arduino gets the answer from the server and sends the received data to the VS1053B mp3, aac, wma decoder. The VS1053B automatically recognizes the kind of the received format, decodes it and outputs it to the speakers. On LCD is appeared the WebRadio station number (1-14) and the first 122 characters of the server header response.
The WebRadio audio streams header
A typical response from an ICECAST server is like the following data
Demonstration of the WebRadio player (720p)
Modifications:: William Dudley had made some modifications to the webradio player by adding new features. The new sketch (WebRadio_player.20141120.ino) is included in to the Arduino_WebRadio_player.zip file above.
Additional features: - 16x2 LCD is used - Analog A0 pin buttons are used (See LCDKeypad library) - Last selected radio station is stored in eeprom for retrieving back after next power ON.
This modification requires different Arduino pin order.
The schematic for LCD keypad can be found here:
Reference:
The whole project (sketch and libraries) can be found also on GitHub
Created and published by Vassilis Serasidis on 10 October 2014
|
||||||||||||||||||||||||||
|