Audio player using VS1003, SD card and Arduino Mega, Circuit and program

After completing the circuit, upload the following program to Arduino Mega. Program tested and worked good on Arduino 1.8.10. Change the value of “audioName” to the name of audio file to be played in the SD card. Audio files should be stored in the SD card as shown in the following image.

#include <SPI.h#include <SD.h// SCI Registers const uint8_t SCI_MODE = 0x0; const uint8_t SCI_STATUS = 0x1; const uint8_t SCI_BASS = 0x2;
Read More
VS1003 voice recording and storing in SD card for indefinite time using Arduino Mega, Circuit and program

Upload the following program to Arduino Mega. Open the serial monitor. Now, press the push button switch provided in the circuit. Recording will start and stop in alternate presses of push button switch. Once recording started, press the push button switch again to stop recording. Speak something through the MIC. Voice will be recorded in SD card as “wavFile6.WAV”. Take the SD card from the card reader and play the recorded file on computer.

#include <SPI.h#include <SD.h//#include "SdFat.h" //SdFat SD;
Read More
Display “HEX” data of audio “WAV” file from SD card using Arduino Mega

After completing the circuit, upload the following program to your Arduino Mega. A file named “wavFile6.WAV” should be there in your SD card.

//#include <VS1003ESP12.h//#include <ESP8266WiFi.h#include <SPI.h#include <SD.hconst int xcsPin = A3; const int sdCs = 10; File myFile; char fileName[] = "wavFile6.WAV"; byte data[4]; void disableVS1003(void) { digitalWrite(xcsPin, HIGH); } void setup () { pinMode(sdCs, OUTPUT); // digitalWrite(sdCs, HIGH); // initiate SPI SPI.begin(); // initiate a serial port at 57600 Serial.begin(115200);
Read More
VS1003 voice recording and storing in SD card for definite time using Arduino Mega, Circuit and program

VS1003 voice recording program tested on Arduino version 1.8.10.

#include <SPI.h#include <SD.h//#include "SdFat.h" //SdFat SD; SPIClass mySPI; // VS1003 SCI Write Command byte is 0x02 #define VS_WRITE_COMMAND 0x02 // VS1003 SCI Read COmmand byte is 0x03 #define VS_READ_COMMAND 0x03 // Size of the "wav" file set to 100*512 bytes including the header files const unsigned char RIFFHeader0fn[] = { 'R' , 'I' , 'F' , 'F' , // Chunk ID (RIFF) 0xF8,
Read More
“Hello” voice from VS1003 using Arduino Mega

Upload the following program to your Arduino MEGA. “Hello” voice will be heard from VS1003. Use headphones to hear the voice.

#include <SPI.h// SCI Registers const uint8_t SCI_MODE = 0x0; const uint8_t SCI_STATUS = 0x1; const uint8_t SCI_BASS = 0x2; const uint8_t SCI_CLOCKF = 0x3; const uint8_t SCI_DECODE_TIME = 0x4; const uint8_t SCI_AUDATA = 0x5; const uint8_t SCI_WRAM = 0x6; const uint8_t SCI_WRAMADDR = 0x7; const uint8_t SCI_HDAT0 = 0x8; const uint8_t SCI_HDAT1 = 0x9;
Read More
VS1003 MP3 player with “Next” select option using Arduino MEGA

Upload the program to your Arduino board. Some mp3 files named 1.mp3, 2.mp3, 3.mp3 and 4.mp3 should be saved in your SD card.

Press the switch SW, next song will be played in each switch press.

#include <SPI.h#include <SD.h// SCI Registers const uint8_t SCI_MODE = 0x0; const uint8_t SCI_STATUS = 0x1; const uint8_t SCI_BASS = 0x2; const uint8_t SCI_CLOCKF = 0x3; const uint8_t SCI_DECODE_TIME = 0x4; const uint8_t SCI_AUDATA = 0x5;
Read More
Patterns in cascaded 16-bit serial-in parallel-out shift register modules using Arduino UNO
/* Shift Register Example Turning on the outputs of a 74HC595 using an array Hardware: * 74HC595 shift register * LEDs attached to each of the outputs of the shift register */ //Pin connected to ST_CP (12) of 74HC595 int latchPin = 12; //Pin connected to SH_CP (11) of 74HC595 int clockPin = 11; ////Pin connected to DS (14) of 74HC595 int dataPin = 10; //holders for information you're going to pass to shifting function byte data;
Read More
Cascading two 16-bit serial-in parallel-out shift register modules using Arduino UNO

Cascading is an important feature of 74HC595. Cascading helps to create multiple outputs. Similarly, you can cascade more modules.

Upload the following program to Arduino UNO. Change the value in customDelay() function to change the speed of running LED.

/* Shift Register Example Turning on the outputs of a 74HC595 using an array Hardware: * 74HC595 shift register * LEDs attached to each of the outputs of the shift register */ //Pin connected to ST_CP (12) of 74HC595 int latchPin = 12;
Read More
Interfacing 16-bit serial-in parallel-out Shift register module to Arduino UNO

Here, we will see the circuit to interface a 16-bit serial-in parallel-out Shift register module using Arduino UNO. Shift register module is powered from Arduino UNO.

This module will help to create 16 digital outputs from only 3 digital pins of Arduino. This module can be used in applications where more digital outputs are required such as LED cube, LED matrix etc.

Upload the following program to Arduino UNO. Change the value in customDelay() function to change the speed of running LED.

Read More
“WAV” file creation on SD card using NodeMCU through “SdFat” library

This program will create a “WAV” file in the SD card using NodeMCU, through “SdFat” library. Upload the program to NodeMCU. A “WAV” file named “wavFile3.wav” will be created in the SD card.

#include <SPI.h#include "SdFat.h" using namespace sdfat; SdFat SD; const unsigned char createWavTemplateArray[] = { 0x52, 0x49, 0x46, 0x46, // Chunk ID (RIFF) 'R', 'I', 'F', 'F', 0x20, 0x20, 0x20, 0x20, // Chunk payload size 0x57, 0x41, 0x56, 0x45, // RIFF resource format type 'W',
Read More
X