Difference between revisions of "Music Player"

From Microduino Wiki
Jump to: navigation, search
(Created page with "{| style="width: 800px;" |- | ==Objective== The course will show you how to control Microduino modules to achieve a music player by using Processing. ==Equipment== *'''Mi...")
 
 
Line 30: Line 30:
 
==Debugging==
 
==Debugging==
  
Step 1:The hardware building of the circuit can refer to:
+
Step 1: The hardware building of the circuit can refer to:
 
http://www.microduino.cc/wiki/index.php?title=Microduino_LM4863%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE%E5%99%A8-301KIT/zh
 
http://www.microduino.cc/wiki/index.php?title=Microduino_LM4863%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE%E5%99%A8-301KIT/zh
  
Line 44: Line 44:
  
  
Step 2:Audio Production   
+
Step 2: Audio Production   
 
*A SoX-based tool will be needed. And you can choose a proper conversion program according to the operational frequency of you Microduino modules.   
 
*A SoX-based tool will be needed. And you can choose a proper conversion program according to the operational frequency of you Microduino modules.   
*Extract the file to “Microduino with 16 MHz” folder and put the audio file into the folder, then select “FullRate@16MHz_Mono.bat”
+
*Extract the file to "Microduino with 16 MHz" folder and put the audio file into the folder, then select "FullRate@16MHz_Mono.bat"
 
|-
 
|-
 
|
 
|
Line 52: Line 52:
 
|-
 
|-
 
|
 
|
*A dialog box will pop up, showing “Press any key to continue...
+
*A dialog box will pop up, showing "Press any key to continue..."
 
|-
 
|-
 
|
 
|
Line 58: Line 58:
 
|-
 
|-
 
|
 
|
*After that, there appears a newly created folder and you will find the converted file inside. If failed, you can convert the audio file to “wav” format and have another try.  
+
*After that, there appears a newly created folder and you will find the converted file inside. If failed, you can convert the audio file to "wav" format and have another try.  
 
|-
 
|-
 
|
 
|
Line 69: Line 69:
 
**The name of the audio file should also be changed to that of the generated audio file.  
 
**The name of the audio file should also be changed to that of the generated audio file.  
  
Step 3:Here the code needed:
+
Step 3:Here the code needed:
  
 
The code of two ends (Processing and Microduino)   
 
The code of two ends (Processing and Microduino)   
Line 75: Line 75:
 
Microduino:
 
Microduino:
  
//The code keeps consistent with that of the 301kit of Microduino-LM4863 music player. The difference is the added function of receiving serial data   
+
//The code keeps consistent with that of the 301 kit of Microduino-LM4863 music player. The difference is the added function of receiving serial data   
 
     if(Serial.available())
 
     if(Serial.available())
 
     {
 
     {
Line 84: Line 84:
 
       {
 
       {
 
         num_two=num_one ;
 
         num_two=num_one ;
         if(command=='p') {//’p’ means play
+
         if(command=='p') {//'p' means play
 
           SdPlay.play();
 
           SdPlay.play();
 
           Serial.println(F("Play."));
 
           Serial.println(F("Play."));
 
         }
 
         }
         else if(command=='t') {//’t’ means stop
+
         else if(command=='t') {//'t' means stop
 
           SdPlay.pause();
 
           SdPlay.pause();
 
           Serial.println(F("Pause."));
 
           Serial.println(F("Pause."));
Line 120: Line 120:
  
  
Step 4:Download the code and get it compiled successfully.  
+
Step 4: Download the code and get it compiled successfully.  
  
Step 5:After the system goes well, a disk music player will appear on the screen. Click the button in the middle to see what happens.  
+
Step 5: After the system goes well, a disk music player will appear on the screen. Click the button in the middle to see what happens.  
  
 
==Result==
 
==Result==

Latest revision as of 09:33, 13 September 2016

Objective

The course will show you how to control Microduino modules to achieve a music player by using Processing.

Equipment


  • Other Hardware Equipment
    • A USB cable
    • A loudspeaker
    • A storage card

Schematic

Just stack the four Microduino modules mentioned above and connect the two wires of the loudspeaker to Microduino-LM4863

Program

https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Processing/MicroduinoMusicplayer

https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Processing/ProcessingMusicplayer

Debugging

Step 1: The hardware building of the circuit can refer to: http://www.microduino.cc/wiki/index.php?title=Microduino_LM4863%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE%E5%99%A8-301KIT/zh


  • Insert the storage card into the slot of Microduino SD
301KIT-SD
  • Connect the loudspeaker
301KIT-Speak


Build the hardware environment according to the schematic, just like this:

ProcessingMusicplayerConnectionDiagram.jpg


Step 2: Audio Production

  • A SoX-based tool will be needed. And you can choose a proper conversion program according to the operational frequency of you Microduino modules.
  • Extract the file to "Microduino with 16 MHz" folder and put the audio file into the folder, then select "FullRate@16MHz_Mono.bat"
Audio
  • A dialog box will pop up, showing "Press any key to continue..."
Audio
  • After that, there appears a newly created folder and you will find the converted file inside. If failed, you can convert the audio file to "wav" format and have another try.
Audio
  • Copy the converted audio file to the storage card and insert the card into Microduino SD card slot.
  • Use IED to open the test program offered by Microduino and choose Microduino Core (Atmega328P@16M,5V). Here the things should be noticed before program download:
    • Since some libraries may have different pin definition, please download the changed libraries and replace the former ones;
    • The name of the audio file should also be changed to that of the generated audio file.

Step 3:Here the code needed:

The code of two ends (Processing and Microduino)

Microduino:

//The code keeps consistent with that of the 301 kit of Microduino-LM4863 music player. The difference is the added function of receiving serial data

   if(Serial.available())
   {
     command=Serial.read();
     Serial.println(command);
     SdPlay.worker();
     if(num_two!=num_one)
     {
       num_two=num_one ;
       if(command=='p') {//'p' means play
         SdPlay.play();
         Serial.println(F("Play."));
       }
       else if(command=='t') {//'t' means stop
         SdPlay.pause();
         Serial.println(F("Pause."));
       }
       Serial.println(ok);
       Serial.print(num_one);
       Serial.println(num_two);
     }
   }

Processing:

//Get the data of the first serial port.

 println(Serial.list());
 // is always my Arduino, so I open Serial.list()[0].
 // Open whatever port is the one you're using.
 port = new Serial(this, Serial.list()[0], 9600);

//Add background-image, judge the mouse click, send play or pause instructions to Microduino to control the music player

 void draw() {
   image(bg, 0, 0);
   if (button) {
     image(play, x, y);
     port.write("p");
   } 
   else {
     image(pause, x, y);
     port.write("t");
   }
 }


Step 4: Download the code and get it compiled successfully.

Step 5: After the system goes well, a disk music player will appear on the screen. Click the button in the middle to see what happens.

Result

The music player starts or pauses along with the click of the button, just like this:.

ProcessingMusicplayerResult.jpg


Video