欢迎光临
我们一直在努力

红外遥控MP3播放器

5E7166D7731A83768B9CB43891D64973

==概述==

MP3模块是一款小巧且价格低廉的MP3模块,可以直接接驳扬声器。模块配合供电电池、扬声器、按键可以单独使用,也可以通过串口控制,作为Arduino UNO或者是任何有串口的单片机的一个模块。模块本身完美的集成了MP3、WAV、WMA的硬解码。同时软件支持TF卡驱动,支持FAT16、FAT32文件系统。通过简单的串口指令即可完成播放指定的音乐,以及如何播放音乐等功能,无需繁琐的底层操作,使用方便,稳定可靠。

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

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

所需物品:

MP3播放器模块一个:点我购买

主控板一块(可以使用NANO,体积小):点我购买

小面包板一块:点我购买

红外接收模块一个:点我购买

红外遥控器一个:点我购买

杜邦线若干(公对母、母对母、公对公):点我购买

小喇叭一个:点我购买

1K电阻:点我购买

内存卡一个

对于模块不会使用的,可以先看一下模块示例教程:

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/

红外接收模块教程地址:http://arduino365.com/2017/01/09/%E7%BA%A2%E5%A4%96%E5%8F%91%E5%B0%84%E6%A8%A1%E5%9D%97%E3%80%81%E6%8E%A5%E6%94%B6%E6%A8%A1%E5%9D%97-2/

遥控器示例教程地址:http://arduino365.com/2016/08/30/%E7%BA%A2%E5%A4%96%E9%81%A5%E6%8E%A7%E5%99%A8/

==接线方式==

MP3Arduino_bb

按照图上接线后,配合红外遥控器使用。

==例子程序==

/*
arduino365.com

zhongbest.taobao.com
*/

#include <IRremote.h>
#include <SoftwareSerial.h>
#include <DFPlayer_Mini_Mp3.h>

//定义对应16进制数值的常量名
#define VOLUP   0x00FFA857       //VOL+
#define PREV    0x00FF22DD       //后退/上一曲
#define PAUSE   0x00FFC23D       //暂停/播放
#define NEXT    0x00FF02FD       //前进/下一曲

#define VOLDOWN 0x00FFE01F       //VOL-

#define ZERO    0x00FF6897       //0
#define EQ      0x00FF906F       //EQ
#define REPT    0x00FF629D      //ST/REPT
#define ONE     0x00FF30CF       //1
#define TWO     0x00FF18E7       //2
#define THREE   0x00FF7A85       //3
#define FOUR    0x00FF10EF       //4
#define FIVE    0x00FF38C7       //5
#define SIX     0x00FF5AA5       //6
#define SEVEN   0x00FF42BD       //7
#define EIGHT   0x00FF4AB5       //8
#define NINE    0x00FF52AD       //9

int recvPin = 2;               //红外接收器到ardunio的端口
boolean a = true;              //播放逻辑设定
int i = 20;                    //初始化音量
int z = 0;                     //初始化音效
IRrecv recv(recvPin);         //初始化接收
decode_results res;          //储存接收到的数据

void setup() {
   Serial.begin(9600);          //初始化串口
   recv.enableIRIn();            //允许接收数据
   mp3_set_serial (Serial);     //设置串行DFPlayer-mini mp3模块
   mp3_set_volume (i);           //初始化音量
   mp3_set_EQ (z);               //初始化音效
}

void loop() {
   if(recv.decode(&res)) {                        //判断是否接受到数据
     switch(res.value) {                          //判断按下的按钮

      case PREV:                                 //上一首
       if (a == true) {
         a = !a;
         }
       mp3_prev ();
       break;

      case NEXT:                                 //下一首
       if (a == true) {
         a = !a;
         }
       mp3_next ();
       break;

      case PAUSE:                                //暂停与播放(暂停具有断点播放)
       if (a == true) {
         a = !a;
         mp3_play ();
         }
       else {
         a = !a;
         mp3_pause ();
         }
       break;

      case VOLUP:                                //音量加
       if (i < 30) {
         i = i+1;
         mp3_set_volume (i);
         }
       break;

      case VOLDOWN:                              //音量减
       if (i > 0) {
         i = i-1;
         mp3_set_volume (i);
         }
       break;

      case EQ:                                   //音效模式切换
       if (z < 5) {
         z = z+1;
         }
       else {
         z = 0;
         }
       mp3_set_EQ (z);
       break;

      case REPT :                                //随机模式播放
       if (a == true) {
         a = !a;
         }
       mp3_random_play ();
       break;

      case ONE:
       if (a == true) {
         a = !a;
         }
       mp3_play (1);
       break;

      case TWO:
       if (a == true) {
         a = !a;
         }
       mp3_play (2);
       break;

      case THREE:
       if (a == true) {
         a = !a;
         }
       mp3_play (3);
       break;

      case FOUR:
       if (a == true) {
         a = !a;
         }
       mp3_play (4);
       break;

      case FIVE:
       if (a == true) {
         a = !a;
         }
       mp3_play (5);
       break;

      case SIX:
       if (a == true) {
         a = !a;
         }
       mp3_play (6);
       break;

      case SEVEN:
       if (a == true) {
         a = !a;
         }
       mp3_play (7);
       break;

      case EIGHT:
       if (a == true) {
         a = !a;
         }
       mp3_play (8);
       break;

      case NINE:
       if (a == true) {
         a = !a;
         }
       mp3_play (9);
       break;

      default:
       ;
       }
       recv.resume();                             //接收下一个数据
     }
}

==实验效果==

按遥控器上的按键,实现红外遥控器控制MP3模块。

未经允许不得转载:Arduino-Maker » 红外遥控MP3播放器

支付宝扫码打赏 微信打赏

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

分享到:更多 ()

评论 抢沙发

评论前必须登录!

 

线上商城

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