DIY系列之二:MP3播放器皮带扣

移动通信

305人已加入

描述

关键词: 三轴加速度计 , LPC2148 , MP3播放器皮带扣


        前一段时间,我们的机械工程师Casey上网的时候发现了一些很漂亮的皮带扣。这正是我们用来包裹住MP3开发板的好东西,所以他很自然地想到:“我敢打赌,我们可以把MP3播放器变成那个东西!”
这样一来,任务开始变成了将MP3开发板所需硬件移植到PCB上去,从而能够正好匹配这些皮带扣。我们的目标是使一个MP3播放器,不仅适合皮带扣,而且也与运动相呼应,并且可以玩至少一两个小时都不充电。

我们成功了!请仔细阅读,了解如何使你自己的MP3播放器成为皮带扣。
硬件
这里有一个用来制作皮带扣所需要主要组成部分的列表:
LPC2148 ARM微控制器,大脑;
VS1002 MP3解码器,解码MP3音频数据并发送出去;
MMA7260三轴加速度计,髋部逆冲推覆,带霹雳舞输入;
microSD插槽,一个用于存储的SD卡
USB miniB连接器,用于加载歌曲和充电设备;
导航开关,用于用户输入;
音频插孔耳机插头那些要到的东西!
三色LED,稍微漂亮一些,这些华丽的东西总是好的;
On / Off开关;
MAX1555 USB充电器,对电池进行充电;
3.3V稳压器。


最大的问题是如何启动的设备。我们需要的东西将是强大到足以运行100 mA的电流,保持至少几个小时,并且可充电。 锂离子电池组通常会在项目中使用,但是它们过大而笨重。安装电池将非常具有挑战性的,它占用的体积过大,从而看上去穿着“时尚”。在进行了相当多的搜索后,我查到了这些锂离子可充电纽扣电池的供应商。太完美了! 一个200-mAhr的电池可以在MP3播放器上至少运行几个小时的,而且它的再充电能力很强。
哇,很多东西将放在一个板极系统上,却没有一个非常大的印记。但是我们会没事的。您可以查看原理图,看看我们如何连接一切,或者你可以下载Eagle文件,以获得更好的视图(自己建立一个自己)。让我们来看看如何做PCB板布局。
布局
开始布局之前第一件事,我总是决定PCB是什么形状。在这种情况下,我们受制于外壳。 PCB必须融入一个小槽的皮带扣的背面。因此,为了决定PCB的尺寸,我刚刚测量了皮带扣背面的插图,并且发现所需的PCB大小为3.03英寸宽×1.45英寸高。有了这些方面的数据,我开始画PCB的尺寸。


现在,我们已经创建了尺寸,可以去寻找组件的位置。通常我排列组件的方式是使得连接的信号最简单的。不过,对于这个项目,我们不得不做出一些特殊的考虑。首先,我不得不把元件安排在板子的两边。在SparkFun我们通常不这样做,因为制造这样一种电路板是令人头痛的。但PCB太小,不适合在一边摆放所有东西。

我决定,我想要把尽可能多的组件放在正面,从而在使用皮带扣时,你会尽可能看到一个很酷的电路板。我肯定希望LED也在前面,这样的话,如果当我们把它打开,每个人都可以看到!
当把板子前面所有的东西都摆放好以后,我只好把电池放在板子的背面。我也把USB连接器放在背面,以便它可以访问,而无需解开皮带扣来使用PCB。音频插孔和导航开关也被放置在背后,这样的话当人们穿着皮带扣时,也能访问

在上面的图片中,你可以看到我决定如何摆放PCB背面的组件。音频插孔在电路板顶部,这样的话耳机可以直接从皮带扣穿出。为了允许用户从播放器中去除电池,电池连接器上没有任何组件。
我们必须避免电池和组件之间的连接,因为该组件可能会意外地导致电池短路(我知道这一点是因为我做了它的第一个版本,这款主板烧起来并在我的手指上留下了标记!要小心)。所以我把USB连接器放在底部,并把导航开关放在侧面,这样的话就不会干扰到电池。
请注意,两个电池都由分别的标记,但只有一个有标识。你或许会问为什么这么做呢?事实是,我不是这个意思。在送出Gerber文件前,我没有检查它。看看这张截图的布局。

提请你注意右上角的粉色大正方形。 microSD插槽被放置在顶部的板面。电池直接摆放在它之下。看到电池的绿色方块连接器了吗?这是电池接触的地连接。注意如果电池支持架焊接好了以后,microSD插槽就焊接在这上面,Vcc接触正好与支持架相连接。这将会比较麻烦,因为microSD的屏蔽连接到地面,我们就会通过200毫安的电池有一个从Vcc对地的短路。不好,非常糟糕!幸运的是,我在有人受伤前发现了这个问题。
现在,我们已经成功地把所有东西都摆放在PCB上了,我们可以继续进行有趣的部分:编写代码!
       
代码编写
使得事情按照我希望的方式进行是一件很有乐趣的事情。我开始通过加载SparkFun LPC2148的USB引导程序,这点您可以通过阅读本教程来了解。引导程序可以让我把固件文件放置到SD卡上,随后LPC2148将自动重新设定新的代码。这样每次我要测试新代码,就可以实现更快的代码开发。
当引导程序被加载到板上后,我就开始写“真实”的代码,或这说是实际运行的MP3播放器的代码。在编写任何代码之前,我不得不决定如何对设备进行操作。由于没有一个屏幕,从播放列表选择一首歌曲是比较麻烦的。所以我决定的第一件事是,能够随机播放歌曲。
这是比较容易实现的。我还需要能够使播放器启动/停止、改变音量、更换歌曲。我有三个按钮和一个加速度计来完成这些任务。我定义向上和向下的导航开关按钮来改变音量,中间的按钮来暂停/播放当前歌曲。
唯一缺少的功能,就是改变所播放的歌曲。当然,我决定使用加速度传感器来检测运动的变化。通俗地说,改变乐曲,用户只需做一个“臀部推力。”这是正确的,让你身体语言来进行操作!
我还添加了一些有趣的东西,如果加速度计检测到用户的舞蹈,三色LED将开始闪烁。实现这些代码是不是太困难。我开始使用MP3板上的示例代码,抛开所有我不需要的东西。然后,我只是改变了一些控制,并增加了LED的功能。变变变!皮带扣MP3播放器就诞生了。
 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分