Music Box(Joystick)

来自Microduino Wikipedia
Radiumray9@gmail.com讨论 | 贡献2015年10月14日 (三) 06:33的版本 (Created page with "{{Language| Music Box(Joystick)}} {| style="width: 800px;" |- | ==Overview== Build a music box, can play the music files in the TF card, select the song with Joystic rocker,...")
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索
Language English

Overview

Build a music box, can play the music files in the TF card, select the song with

Joystic rocker, and the volume of operation.

Schematic

Rocker XY direction movement detection by reading the analog value to judge. At

the same judge to stay the length of time to select the control mode.

Equipment

Module Number Function
mCookie-CoreUSB/zh 1 Core board
mCookie-Hub/zh 1 Sensor pin board
mCookie-Audio/zh 1 Audio Module
mCookie-Amplifier/zh 1 Power amplifier module
mCookie-BM/zh 1 Battery Management
Microduino-Joystick/zh 1 JoyStick
  • Other Equipment:
    • 2 Speaker
    • 1 Batteray
    • 1 TF card

Code

  • Setup 1:Connect the CoreUSB module to your computer and then start the

Arduino IDE.

  • Setup 2:Select Files>Examples>mCokie>_203_MusicBox_Joystick
  • Setup 3:Click upload button to upload program. When "Done Uploading"

appears, the program should have successfully been uplloaded into the CoreUSB.

Software Debuge

  • ” audio.h” Audio lib file
  • Audio module Serial use D2, D3
#include <SoftwareSerial.h>

SoftwareSerial mySerial(2, 3); // RX, TX

#define AUDIO_PORT mySerial
  • Detection rocker value
int uiStep()         //change songs
{
  if (analogRead(A0) < 100)  //Y-up
  {
    delay(50);       //50 ms delay
    if (analogRead(A0) < 100)      //
      return 1;      //return 1
  }
  if (analogRead(A1) < 100)    //
  {
    delay(50);       //50 ms delay
    if (analogRead(A1) < 100)  //X-Right
      return 2;      //return 2
  }
  if (analogRead(A1) > 900)    //X-Left
  {
    delay(50);       //50 ms delay
    if (analogRead(A1) > 900)  //
      return 3;      //return 3
  }
  return 0;
}
  • OLED Display interface, user can change it
 //The main interface, can be freely to changes
void draw()
{
  setFont_L;

  u8g.setPrintPos(4, 16);
  u8g.print("Music_sta:");
  u8g.print(music_status ? "play" : "pause");

  u8g.setPrintPos(4, 16 * 2);
  u8g.print("Music_vol:");
  u8g.print(music_vol);
  u8g.print("/30");
  u8g.setPrintPos(4, 16 * 3);
  u8g.print("Music_num:");
  u8g.print(music_num);
  u8g.print("/");
  u8g.print(music_num_MAX);
  u8g.setPrintPos(4, 16 * 4);
  u8g.print("....Microduino....");
  //u8g.print(rtc.formatTime(RTCC_TIME_HMS));
}

Hardware Buildup

  • Setup 1:Using the above diagram as reference, connect the sensors into the

corrensponding ports on the Hub module.

  • Setup 2:Insert a micro SD card into the Audio Shield.
MusicBox Joystick TF.jpg
  • Setup 3:Stack the Audio Shield and Audio modules.Even though your micro SD

card may be able to store many songs, the program we provide only supports up

to 9 songs.

MusicBox Joystick song.jpg
  • Setup4:Connect the speakers into the Amplifier module.
MusicBox Joystick song speak.JPG
  • Setup5:Stack the Amplifier, Audio, and Audio Shield modules.
MusicBox Joystick 3 speak.JPG
  • Setup6:Connect the activated Battery module to your Battery Management

module.

CoreUSB Ble steup2.jpg
  • Setup7:Stack all the modules together in any order you like (Except three

Audio modules, They must be together). Congratulations, you have finished

building the circuit!

How to Operate

Result

Control music playback, pause and change songs by using Joystick. You can also build a nice look LEGO Shell.

Video