欢迎光临
我们一直在努力

Arduino按键控制MP3播放器

20180420112120_22

==概述==

MP3音乐播放器之前我们已经实现了通过红外遥控来实现对MP3播放器的控制,今天就做一个按键控制的MP3播放器。通过按键控制MP3的播放、暂停、上一曲、下一曲等功能。

本次是以小实验的方式写的,对于模块不了解的,可以先看一下我们的模块教程,了解掌握模块使用方法后,再尝试本小实验。

(对于非本店模块不提供技术支持!如果无法做通,可能是不兼容导致,请自行尝试)。

模块示例:

MP3模块:http://arduino365.com/2016/09/01/mp3%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE%E5%99%A8%E6%A8%A1%E5%9D%97/

所需材料:

UNO主控板一个:点我购买

MP3模块一个:点我购买

小喇叭一个:点我购买

按键开关三个:点我购买

1K电阻二个:点我购买

大面包板一个:点我购买

面包线一扎:点我购买

内存卡一个(按要求放置MP3歌曲)。

==指令表==

Open-Live-WriterMP3_C394203652zvn794zvfsp4w9ws_thumb-1

Open-Live-WriterMP3_872DOpen-Live-WriterMP3_C394203653rhre3o0hz06trlct_2-1_thumb

==接线方式==

MP3模块                                Arduino

VCC                                             5V

RX———1K电阻—————- D11

TX———1K电阻—————- D10

GND                                            GND

——————————————————————————

MP3模块                                      小喇叭

SPK_1                                             红线

SPK_2                                             黑线

单个喇叭属于单声道,喇叭导线没有正负极之分。

——————————————————————————–

按键开关                                        Arduino

按键1                                                D2———GND

按键2                                                D3———GND

按键3                                                D4———GND

———————————————————————————

==接线图==

MP3Arduino_aa_


==例子程序==

//arduino源码地址:http://educ8s.tv/arduino-mp3-player/
//整理:ZBST ROBOT
//购买地址zhongbest.taobao.com

#include "SoftwareSerial.h"//引用软串口库文件
SoftwareSerial mySerial(10, 11);//定义引脚,D10为RX,D11为TX
# define Start_Byte 0x7E
# define Version_Byte 0xFF
# define Command_Length 0x06
# define End_Byte 0xEF
# define Acknowledge 0x00 //定义指令的相关参数

# define ACTIVATED LOW

int buttonNext = 2;//定义按键下一曲为D2
int buttonPause = 3;//定义按键播放/暂停为D3
int buttonPrevious = 4;//定义按键上一曲为D4
boolean isPlaying = false;//布尔型isPlaying为假。

void setup () {

pinMode(buttonPause, INPUT);
digitalWrite(buttonPause,HIGH);
pinMode(buttonNext, INPUT);
digitalWrite(buttonNext,HIGH);
pinMode(buttonPrevious, INPUT);
digitalWrite(buttonPrevious,HIGH);//定义引脚通信,默认拉高。

mySerial.begin (9600);//软串口初始化,波特率9600.
delay(1000);//延时1秒
playFirst();//开始播放第一首歌曲
isPlaying = true;//isPlaying为真

}

void loop () {

if (digitalRead(buttonPause) == ACTIVATED)//判断暂停键如果为低电平
   {
     if(isPlaying)//判断isPlaying状态
     {
       pause();//暂停播放
       isPlaying = false;//isPlaying为假
     }else
     {
       isPlaying = true;//反之isPlaying为真
       play();//开始播放
     }
   }

  if (digitalRead(buttonNext) == ACTIVATED)//判断下一曲键为低电平
   {
     if(isPlaying)//判断isPlaying状态
     {
       playNext();//播放下一曲,此处不管isPlaying是什么状态,均播放下一曲。
     }
   }

   if (digitalRead(buttonPrevious) == ACTIVATED)//判断上一曲键为低电平
   {
     if(isPlaying)//判断isPlaying状态
     {
       playPrevious();//播放上一曲,此处不管isPlaying是什么状态,均播放上一曲。
     }
   }
}

void playFirst()
{
   execute_CMD(0x3F, 0, 0);//发送初始化参数指令
   delay(500);//延时500ms
   setVolume(20);//设置音量为20
   delay(500);//延时500ms
   execute_CMD(0x11,0,1);//全部循环播放指令触发。
   delay(500);//延时500ms
}

void pause()
{
   execute_CMD(0x0E,0,0);//暂停指令触发。
   delay(500);//延时500ms
}

void play()
{
   execute_CMD(0x0D,0,1);//播放指令触发。
   delay(500);
}

void playNext()
{
   execute_CMD(0x01,0,1);//下一曲指令触发
   delay(500);//延时500ms
}

void playPrevious()
{
   execute_CMD(0x02,0,1);//上一曲指令触发
   delay(500);//延时500ms
}

void setVolume(int volume)
{
   execute_CMD(0x06, 1000, volume); // 音量指令,这里设置了1000响一点~~
   delay(2000);//延时2秒
}

void execute_CMD(byte CMD, byte Par1, byte Par2)
// 执行的命令和参数
{
// Calculate the checksum (2 bytes)
word checksum = -(Version_Byte + Command_Length + CMD + Acknowledge + Par1 + Par2);
// Build the command line
byte Command_line[10] = { Start_Byte, Version_Byte, Command_Length, CMD, Acknowledge,
Par1, Par2, highByte(checksum), lowByte(checksum), End_Byte};
//Send the command line to the module
for (byte k=0; k<10; k++)
{
mySerial.write( Command_line[k]);//软串口输入命令行
}
}

==实验效果==

==相关下载==

此程序使用官方softwareSerial库文件,为官方编译器(IDE)自带库文件。无需添加或下载。




未经允许不得转载:Arduino-Maker » Arduino按键控制MP3播放器

支付宝扫码打赏 微信打赏

原创文章,若帮到您,欢迎打赏

分享到:更多 ()

评论 1

评论前必须登录!

 

  1. #1

    666

    chituzongzi2个月前 (03-12)

线上商城

中贝斯特创客空间蘑菇云创客教育