查看“音乐盒三(红外遥控)”的源代码
←
音乐盒三(红外遥控)
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{Language| 音乐盒一(红外控制)}} {| style="width: 800px;" |- | ==目的== 搭建一个音乐盒,可播放TF卡中的音乐文件,用遥控器进行选歌,及音量操作,同时也可以用Joystick进行控制。 [[File: MusicBox_Remote.jpg|600px|center]] ==原理== 检测是否有对应的红外遥控信号,根据不同红外信号控制播放音乐。同时检测摇杆X-Y方向的动作,通过读取模拟值来判断。同时判断停留时间长短来选择控制方式。 [[File: MusicBox_Remote-sch.jpg|600px|center]] ==设备== {|class="wikitable" |- |模块||数量||功能 |- |[[mCookie-CoreUSB/zh]]||1||核心板 |- |[[mCookie-Hub/zh]]||1||传感器转接板 |- |[[mCookie-Audio/zh]]||1||音频模块 |- |[[mCookie-Amplifier/zh]]||1||功率放大模块 |- | [[mCookie-OLED/zh]]||1||显示屏 |- | [[mCookie-BM/zh]]||1||电池管理 |- | [[Microduino-Joystick/zh]]||1||摇杆传感器 |- | [[Microduino-IR receiver/zh]]||1||红外接收 |} *其他设备: **喇叭两个 **电池1个 **TF存储卡 **红外遥控器 [[File: MusicBox_Remote-module.jpg|600px|center]] ==加载代码== *Setup 1:用USB线将CoreUSB模块与PC/Mac相连,并打开Arduino IDE。 [[File:CoreUSB_Ble_pc.jpg|600px|center]] * Setup 2:点击Files > Examples > mCookie > _302_MusicBox_Remote, 加载程序。 [[File: _ MusicBox_Remote_ino.jpg|600px|center]] * Setup 3:选择好板卡和COM端口下载程序。出现上传成功(Done Uploading)提示,表示程序已经写进CoreUSB模块中了。 [[File: _ MusicBox_Remote _ino-ok.jpg|600px|center]] ==软件调试== *红外控制 <source lang="cpp"> if (irrecv.decode(&results)) { //Serial.println(results.value, HEX); irrecv.resume(); // Receive the next value if (results.value == 0xFFA857) { music_status = !music_status; //播放或暂停 if (music_status == true) //播放 { Serial.println("play"); //串口输出 “play”(工作 audio_play(); //音频工作 } else //暂停 { Serial.println("pause"); //串口输出 “pause”(暂停) audio_pause(); //音频暂停工作 } } else if (results.value == 0xFF906F)//下一曲 { music_num++; //歌曲序号加 if (music_num > music_num_MAX) //限制歌曲序号范围,如果歌曲序号大于30 { music_num = 1; //歌曲序号返回1 } music_status = true; audio_choose(music_num); audio_play(); eeprom_WRITE(); } else if (results.value == 0xFFE01F)//上一曲 { music_num--; //歌曲序号减1 if (music_num < 1) //限制歌曲序号范围,如果歌曲序号小于1 { music_num = music_num_MAX; //歌曲序号为最大(9) } music_status = true; audio_choose(music_num); //音频选择歌曲序号 audio_play(); //音频工作 eeprom_WRITE(); } else if (results.value == 0xFF02FD)//音量加 { music_vol++; //音量+1 if (music_vol > 30) music_vol = 1; //若音量大于30,则音量为3 audio_vol(music_vol); music_status = true; eeprom_WRITE(); } else if (results.value == 0xFF9867)//音量减 { music_vol--; //音量减1 if (music_vol < 1) music_vol = 30; //如果音量小于1,音量为30 audio_vol(music_vol); music_status = true; eeprom_WRITE(); } } else results.value = 0; </source> *检测摇杆值 <source lang="cpp"> int uiStep() //切歌 { if (analogRead(A0) < 100) //Y-up { delay(50); //延迟50毫秒输出 if (analogRead(A0) < 100) // return 1; //回到动作1 } if (analogRead(A1) < 100) // { delay(50); //延迟50毫秒输出 if (analogRead(A1) < 100) //X-Right return 2; //回到动作2 } if (analogRead(A1) > 900) //X-Left { delay(50); //延迟50毫秒输出 if (analogRead(A1) > 900) // return 3; //回到动作3 } return 0; } </source> *OLED显示界面,用户可以改 <source lang="cpp"> //主界面,可自由定义 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)); } </source> ==搭建硬件== *Setup 1:用连接线将OLED接到Hub模块的IIC接口上,Joystick传感器安装到A0,A1。IR receiver传感器接到D6。 [[File: _ MusicBox_Remote _hub.jpg|600px|center]] *Setup 2:将TF卡装在AudioShield模块的卡槽中。 [[File: _MusicBox_Joystick _TF.jpg|600px|center]] *Setup 3:将Audio和AudioShield模块堆叠并连接PC,就可以将想要播放的MP3文件储存在TF卡根目录下,最多储存9首。 [[File: _MusicBox_Joystick _song.jpg|600px|center]] *Setup4:将两个喇叭接到Amplifier上 [[file: MusicBox_Joystick _song_speak.JPG|600px|center]] *Setup5:将Audio,Audio shield,Amplifier三个叠堆到一块。 [[file: MusicBox_Joystick _3_speak.JPG|600px|center]] *Setup6:将激活后的电池盒与BM模块相连 [[File:CoreUSB_Ble_steup2.jpg|600px|center]] *Setup7:将所有模块堆叠在一起,顺序随意(除了Audio,AudioShield和Amplifier三个要挨在一起),电路部分搭建完成了! [[file: MusicBox_Remote_steup_ok.JPG|600px|center]] ==如何操作== 你可以通过点按遥控器的相应按钮控制音乐盒的歌曲切换以及音量。 [[file: MusicBox_Remote _ir.JPG|600px|center]] 你也可以通过Joystick对音乐盒进行控制,方法如下。 [[file: MusicBox_Joystick _caozuo.JPG|600px|center]] 也可以选择Duo-V进行堆叠,这样OLED就不需要连接在Hub上,整个应用的高度也会降低。 [[file: MusicBox_Remote _duo.JPG|600px|center]] ==结果== 通过红外遥控器或Joystick摇杆来控制音乐的播放、暂停与切歌。你也可以通过乐高搭建一个漂亮的外观。 [[file: MusicBox_Remote_ok.JPG|600px|center]] ==视频== |}
该页面使用的模板:
模板:Language
(
查看源代码
)
模板:Nmbox
(
查看源代码
)
返回至
音乐盒三(红外遥控)
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息