音乐盒一(光感)

来自Microduino Wikipedia
Yanglibin@microduino.cc讨论 | 贡献2015年9月15日 (二) 15:26的版本 (Created page with "{{Language| 音乐盒一(光感)}} {| style="width: 800px;" |- | ==目的== 搭建的是一个音乐盒,打开盒子的门来切换音乐,关闭门则停止播放音...")
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索
Language English

目的

搭建的是一个音乐盒,打开盒子的门来切换音乐,关闭门则停止播放音乐。

原理

通过光敏传感器来检测门的开启与关闭,当打开门时光比较强,则触发切歌,否则关闭盒子停止播放音乐。

设备

模块 数量 功能
mCookie-CoreUSB/zh 1 核心板
mCookie-Hub/zh 1 传感器转接板
mCookie-Audio/zh 1 音频模块
mCookie-Amplifier/zh 1 功率放大模块
mCookie-BM/zh 1 电池管理
Microduino-Light/zh 1 光敏传感器
  • 其他设备:
    • 喇叭两个
    • 电池1个

准备

  • Setup 1:用USB线将CoreUSB模块与PC/Mac相连,并打开Arduino IDE。
  • Setup 3:打开下载的程序,选择好板卡和COM端口下载程序。

软件调试

代码说明,一部分检测光敏强度,另一部分根据亮度情况发送串口指令控制Audio播放、暂停、切歌。

  • ” audio.h”控制Audio模块文件。
  • Audio模块串口使用,需要根据板子上的串口跳线确定,默认使用软串口2,3.
#include <SoftwareSerial.h>

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

#define AUDIO_PORT mySerial   
//#define AUDIO_PORT mySerial
  • 光敏预设的触发值,当光敏值大于该设定值则认为开门了,否则则为关门。定义光敏检测引脚
#define light_cm 300

#define light_pin A0
  • 当检测到的值比预设大,延时100ms再次检测是否大于预设值,防止抖动,如果是则执行切歌指令“audio_down();”一次,通过“change”的真假值来实现指令只执行一次。
  if ( light_val > light_cm && !change)
  {
    if (millis() - time1 > 100)
    {
      light_val = analogRead(light_pin);
      if (light_val > light_cm)
      {
        change = true;//值为真,上面if条件只执行一次
        off = false;
        audio_down();
        //audio_choose(1);
        //audio_play();
      }
      time1 = millis();
    }
  }
  • 当检测到的值比预设小,延时100ms再次检测,如果是则执行停止指令“audio_pause();”一次,通过“off”的真假值来实现指令只执行一次。
  if ( light_val > light_cm && !change)
  {
    if (millis() - time1 > 100)
    {
      light_val = analogRead(light_pin);
      if (light_val > light_cm)
      {
        change = true;//值为真,上面if条件只执行一次
        off = false;
        audio_down();
        //audio_choose(1);
        //audio_play();
      }
      time1 = millis();
    }
  }

搭建硬件

  • Setup1:将光敏传感器接到Sensorhub的A0引脚上。
  • Setup 2:将TF卡装在AudioShield模块的卡槽中。
MusicBox Joystick TF.jpg
  • Setup 3:将Audio和AudioShield模块堆叠并连接PC,就可以将想要播放的MP3文件储存在TF卡根目录下,最多储存9首。
MusicBox Joystick song.jpg
  • Setup4:将两个喇叭接到Amplifier上
MusicBox Joystick song speak.JPG
  • Setup5:将Audio,Audio shield,Amplifier三个叠堆到一块。
MusicBox Joystick 3 speak.JPG
  • Setup6:将激活后的电池盒与BM模块相连
CoreUSB Ble steup2.jpg
  • Setup7:将所有模块堆叠在一起,顺序随意(除了Audio,AudioShield和Amplifier三个要挨在一起),电路部分搭建完成了!

结果

打开音乐盒的门就可以切歌,关闭门则停止播放音乐。你也可以通过乐高搭建一个漂亮的外观。

视频