打印

炫酷表白神器!攻城狮的浪漫

[复制链接]
2293|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Harn|  楼主 | 2017-4-6 17:04 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 21ic小喇叭 于 2017-8-10 11:20 编辑

攻城狮怎样设计一个打开就会表白的礼品盒

表白盒子源文件.rar (1.42 MB)
可惜没有发视频的权限,要看视频的朋友可以试着搜索“表白盒子”
      如今人们需要庆祝的节日日渐增多,包括传统的外来的新兴的自创的及各种纪念日,每个节日都要去淘个礼物意思一下,直到你不知道送什么好。作为一个自称的攻城狮及创客的电子爱好者,老是淘别人设计的礼物实在感觉太OUT,老脸都挂不住了,这次就让我们自己来设计一个特别的礼物吧!一个打开就会表白的礼品盒。
想象一下,对方收到你一个小盒子,本不以为意只觉得是寻常的小玩意,顺手就放入随身的包包中不予理会。但当夜深人静独自一人之时忽然想起了那个盒子,那个看上去寻常却隐隐透着古怪的盒子,百般思索不得其解,她终于按捺不住心中的好奇,借着窗户透入的暗淡光辉,在月影阑珊的窗格下,她把白暂的手臂伸向了那个神秘的潘多拉魔盒。。。一场突如其来的**交织就此展开。。。。啊啊啊啊啊啊啊~~~~!!!!

首先我们先给礼品盒确定个大致的轮廓:
      1.既然是礼品盒——那首先得找个好看的盒子。
      2.打开就会表白?——需要音频播放功能。
      3.只是放音未免太单调?——需要灯光功能。
      4.要能自己随意更改音频文件?——需要USB下载功能。
      5.既然都用上USB了何不加个充电功能?——需要锂电池充电功能。
      6.打开就启动合上就关闭——那么还需要一个合适的传感器。

然后去逐个实现所有要点。
      1.先找一个礼品盒,如果对自己的手艺不是非常自信就不要自己做了,免得看着渗人哈哈哈~。
盒子选择的准则是在容积足够的前提下选择美观的,同时要满足传感器的安装条件,这里选择的是容积为75MM*75MM*65MM的马口铁喜糖盒,便宜好看,有多种样式,朋友们可自行选择喜欢的盒子。


      2.音频播放功能原本打算用STM32+Flash来做,但感觉那样太费事了,大材小用,于是找了一款合适的音频芯片——JQ8400。
      JQ8400是一块多功能集成语音芯片,SOP16封装,外挂Flash芯片,通过串口或IO口控制,通过USB口直接把音频文件下载到Flash,并支持多种常用音频格式,使用起来十分方便,更多具体介绍朋友们可下载应用手册了解,这里不再赘述。
      以下是JQ8400与Flash芯片原理图,两个芯片通过SPI串口连接,其价格都在5元以内。

      单单JQ8400是不足以驱动喇叭发出声音的,还需要增加一个功放电路。官方原理图推荐的是一款SOP8封装的数字功放芯片,但我觉得这种芯片声音太难听了,就改成TDA2822的,以下是TDA2822的原理图,朋友们也可选择官方推荐的。

      3.物尽其用,控制JQ8400要用到单片机,既然已经用到单片机了也不能只让它控制语音芯片,那就在语音播放的同时增加灯光效果吧。单片机的选择当然是在够用又会用的前提下选择便宜的,STM8S003F3P6无疑是一个好芯片,一块钱的片子居然集成了UART、IIC、SPI、BEEP、PWM、ADC等丰富外设,并且支持在线调试,SSOP20、QFN20超小封装,下面是单片机部分与LED的原理图。

      4.JQ8400不需要经过任何设置就能被USB识别,所以这里只需要将USB的数据线与JQ8400相连即可,连接器这里选择MicroUSB插座,这样一来就可以直接通过安卓手机的数据线与电脑连接,连接后格式化磁盘,再下载音频文件进去,文件名改为00001,如“00001.MP3”。
      5.如果使用干电池,不仅体积大还要频繁更换电池,极麻烦,这里既然用上了USB那就好好利用这个USB,还是那句话,物尽其用。锂电池充电芯片选用TP4056,SOP8封装,最大电流1A,简单便宜,以下是TP4056的电路原理图,详细介绍请参考数据手册。

      6.希望盒子打开就启动,合上就关闭,那么必须要有一个传感器来检测盒子的开合状态。这里主要从 成本、安装、功耗、稳定、美观等几个角度来考虑,作为礼品盒,美观其实才是最重要的,其它反倒是其次。
首先想到的是物理开关,但考虑到安装不方便、不美观、不稳定等因素,先剔除掉,传感器必须是非接触性的。霍尔传感器?同样安装起来也不方便,还要配合磁铁使用,容易粘东西,也不考虑。红外对射、超声波测距?会被礼品挡住,同样不可行。经过一番冥思苦想权衡利弊之后最终决定选用光敏电阻。
      利用光敏电阻如何感知盖子状态呢?因为这种盒子是封闭且不透明的,合上盖子的时候里面是完全黑暗的,而打开的时候光敏电阻能够感受到自然光,我们可以通过光敏电阻的受光程度(阻值)来判断盖子是否打开,也许有朋友要问了,如果对方是在完全黑暗的地方打开礼品盒呢?那么我可以告诉你正常人是不会在伸手不见五指的环境打开未知的礼物的,只要保证第一次她会在有光的地方打开就可以了,因为惊喜只会发生一次。当然也不需要在非常亮的地方打开盒子,只要有一点光就可以了,只要能判断出跟盒子合上后完全黑暗时的差距。也许又有朋友要问了,既然打开后启动灯光效果,那又如何检测盒盖的状态呢?这个也有办法,留到后面讲述,以下是光敏电路原理图,这里使用两个光敏电阻,目的是保证可靠性。

硬件设计:
      下面是完整的原理图,其中TTP223部分是触摸电路,这个是扩展用的,在这里可以去掉,后续我会把电路图及源程序以压缩包的形式上传。

      设计好电路后我们要根据盒子的结构设计PCB,期间要充分考虑电池、喇叭、LED及USB口的布局,以下是我根据选用的盒子设计的PCB。

      然后加工好的电路板大概是这个样子。

      也不能就这样把电路板赤果果地放在盒子里,得给它穿上衣服,设计一块挡板,同时还要设计几块导光板,避免LED和光敏电阻被礼品遮挡,其制作材料为亚克力,成品见下图。

      可以通过USB口下载音频与充电,充电时一个灯闪烁,满电后熄灭。

      再垫上一块海绵。

      硬件设计至此大功告成!

技术关键:
      硬件设计到此已经完成,下面我再讲一下关键技术部分该怎么实现。

1.开盖检测的实现
      这个在上面已经讲过,通过检测“变亮”的过程来判断,这个好解决,光敏电阻在越亮的地方阻值越小,串联电阻后两端的电压也越小,我们通过单片机的AD去读取光敏电阻的电压值,并调试出一个合适的“阀值”来区分开盖与盒盖状态,这里使用两个光敏电阻(一边一个)是为了避免其中一个出故障或被遮挡而导致无法使用。

2.盒盖检测的实现
      开盖检测容易解决,但开盖之后灯光效果启动,我们就没有办法检测盒盖状态了,因为即使合上盖子,由于灯光效果的关系AD检测出来的状态也是开盖的状态,那要怎么办呢?也有办法!我们让灯光换样式的时候熄灭几百毫秒,趁这个空挡去检测,在换样式的时熄灭几百毫秒对效果影响不大。为什么要几百毫秒?因为灯熄灭后会有余晖,以及残留的光线会在盒子内漫反射一段时间。

3.灯光效果实现
      灯光如果只是闪烁的话会很单调,加一些呼吸灯会好很多,呼吸灯要用到PWM,虽然这款单片机有PWM,但通道毕竟很有限,要如何实现这么多LED的PWM呢?我们可以设一个100US的定时器中断,再给每个LED分配一个计数变量,让其在中断里不停做+1运算,达到10之后清零并输出低电平。然后在中断外面给每个LED定义一个全局变量,这个变量用来设置LED的占空比,中断做+1运算的时候同时对比全局变量,如果相等则改变IO口状态输出高电平,如此可以实现非常多的1KHz的10级PWM。

4.死机了怎么办
      由于这个设计没有电源开关,也没有复位按钮,一旦程序跑飞会比较麻烦,虽然有看门狗,但还是要留一手以防万一,这里设计了一个插上USB后产生一个复位信号的电路,见下图。

接通USB(5V)时,Q2导通,C10左边电平被瞬间拉低,由于电容两端电压不能突变,其右端连着的Reset引脚也被拉低,直至C10充满电Reset端恢复高电平,这个过程单片机实现了复位。

5.超长待机实现
      使用电池的产品必须考虑功耗问题,尤其是这种一直待机的设备,这里主要从两个方面来减少电能的消耗,其一是盒子盖上后系统进入低功耗模式,隔1秒钟唤醒一次,唤醒后迅速判断盖子状态,若判断结果是盖子打开则加载应用程序,否则马上进入低功耗模式直至下一次唤醒。虽然每次进入低功耗模式只有一秒钟左右,但它是非常关键的,因为退出低功耗的时间远小于1秒,如果每次退出的时间是10MS,那待机的功耗将节约80%左右(猜测)。其二是在盖子合上后切断不必要外设电源,其电路如下,这个电路使用400MAH的锂电池理论可以待机数月。

      程序烧录完成后表白盒子就制作完成了,使用时往里面放置想要的礼物,对方打开盒子后灯光从熄灭到最亮缓慢变化,时间大概持续3S,随后音乐(录音)响起,多种灯光效果交叉变幻,一场视听表白盛宴就此拉开序幕~~。


      那么到这里这个设计就结束了,朋友们如果喜欢就赶紧制作一个送女盆友吧,很少写这些长篇大论,如有不妥之处请多多指教,若朋友们喜欢 后续我将继续更新更多有趣的设计

PCB成品.jpg (106.42 KB )

PCB成品.jpg

相关帖子

沙发
Harn|  楼主 | 2017-4-6 22:10 | 只看该作者
没人捧场,蛋蛋的忧伤

使用特权

评论回复
板凳
小庄2| | 2017-4-7 09:28 | 只看该作者
做广告的嫌疑

使用特权

评论回复
地板
前功尽弃| | 2017-4-7 10:01 | 只看该作者
想法不错,东西也蛮精致的,其实我最关心的还是那个音效,这个比较能影响气氛

使用特权

评论回复
5
whtwhtw| | 2017-4-7 16:52 | 只看该作者
这个做好,巧克力都揉碎了。。。。。。

使用特权

评论回复
6
Harn|  楼主 | 2017-4-8 00:58 | 只看该作者
前功尽弃 发表于 2017-4-7 10:01
想法不错,东西也蛮精致的,其实我最关心的还是那个音效,这个比较能影响气氛 ...

效果还不错,优点底噪

使用特权

评论回复
7
Harn|  楼主 | 2017-4-8 00:59 | 只看该作者
whtwhtw 发表于 2017-4-7 16:52
这个做好,巧克力都揉碎了。。。。。。

没懂

使用特权

评论回复
8
Harn|  楼主 | 2017-4-9 14:12 | 只看该作者
好冷清好冷清好冷清

使用特权

评论回复
9

使用特权

评论回复
10
@若水| | 2017-4-11 13:26 | 只看该作者
求样品

使用特权

评论回复
11
licaijunzhuce| | 2017-4-13 13:37 | 只看该作者
不错不错。

使用特权

评论回复
12
changwan1| | 2017-4-13 23:01 | 只看该作者
NB

使用特权

评论回复
13
nuaabob| | 2017-4-21 14:46 | 只看该作者
我觉得,这种东西,应该没有女孩子会喜欢,也就是自娱自乐而已了。

使用特权

评论回复
14
aivenk| | 2017-4-23 19:38 | 只看该作者
你这个太复杂了,而且很耗电。
用VS1103做一个,还带可以带背景音乐,可以录可擦除,简单不耗电。

使用特权

评论回复
15
wzr200408| | 2017-8-11 13:57 | 只看该作者
这个有点意思,哈哈哈

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

10

帖子

0

粉丝