
北极熊NFC唱片机
简介
基于51单片机的NFC唱片机
简介:基于51单片机的NFC唱片机开源协议
:GPL 3.0
(未经作者授权,禁止转载)描述
视频链接:
项目简介
本项目是基于51单片机的NFC唱片机,可以通过RC522模块检测出不同唱片模型中埋设IC卡的UID,从而驱动MP3模块播放相应的音乐。
项目功能
采用STC15W408AS作为主控;通过串口向MP3发送指令,从而播放歌曲。配合RC522模块、独立按键、RGB灯珠、电位器、干簧管、三极管、300减速电机等外围器件,可以模仿唱片机的工作方式。
原理解析(硬件说明)
本项目由电源部分、主控部分、NFC识别部分、MiniMP3部分、模式选择部分、电机驱动部分组成。



电源电路:
采用单节锂电池为整个系统供电,通过充放一体的升压模块先将锂电池输入的电压升至5V,为单片机以及MP3模块供电,再通过LDO将5V电压降至3.3V,为RC522模块以及300减速电机供电。
升压模块上自带的Type-C口可以为锂电池充电,支持边充边放、电量指示和过充保护。



MP3模块外围电路:
DFPlayer Mini 是一个提供串口的语音模块,完美的集成了 MP3、WAV、WMA 的硬解码。同时软件支持 TF 卡驱动,支持 FAT16、FAT32 文件系统。通过简单的串口指令即可完成播放指定的音乐,以及如何播放音乐等功能,无需繁琐的底层操作,使用方便,稳定可靠是此款产品的最大特点。
DFPlayer Mini MP3模块功能介绍及资料下载:
https://www.bilibili.com/video/BV1FpQAYjEqi/?spm_id_from=333.788.video.desc.click&vd_source=e05364ee6bc19a4d35d000bca008471d



只要将模块的TXD和RXD与单片机的TXD和RXD交叉连接,并接上扬声器,单片机就可以通过串口向MP3模块发送指令,播放TF卡中的音乐。详细使用说明见附件。
如果在MP3模块的IO1和IO2引脚接上2个独立按键,就可以切换上下曲,长按按键可以调节音量。
当然,如果担心使用按键调音量时发生误触把歌切走了,或者觉得长按操作太麻烦,可以加一个电位器,将读取到的电压值映射为0-30之内的整数,然后通过串口指令发送出去音量调节。
先进的3.5mm音频接口可以插耳机或者外接音响,妥妥的外星科技!
模式选择电路:

使用3个独立按键连接到单片机的3个IO端口,用来切换播放模式,并使用一个RGB灯珠配合导光柱显示当前的模式。
每当有按键按下,单片机就会根据相应的标志位向MP3模块发送指令,实现单曲循环、顺序播放、随机播放的功能。
需要注意的是,顺序播放的范围可以是某个文件夹内部,而随机播放的范围是整个TF卡内的文件,且每次都是从卡内的第一个文件开始。
电机驱动电路:

由于唱片只需要向一个方向转动,所以不需要很专业的电机驱动芯片,只需要一个三极管足矣。
上图是一个典型的三极管驱动电路,之所以选择PNP三极管,是因为单片机上电后引脚默认输出高电平,而高电平无法使PNP三极管导通,配合基极的上拉电阻可以防止电机意外启动。
只有与基集相连的IO口输出低电平时,三极管才会导通,从而驱动电机旋转。至于IO口何时输出低电平,则由北极熊胳膊的状态决定。
北极熊的胳膊既是电机驱动的开关,又是播放和暂停的开关。


在北极熊的内部安装有磁铁和干簧管。

当北极熊的胳膊放下时,磁铁靠近干簧管,干簧管内部导通,与干簧管相连的单片机IO口检测到低电平,驱使连接三极管基极的IO口输出低电平,三极管导通,电机开始旋转,同时发送命令,让唱片机开始播放音乐。
当北极熊的胳膊举起,磁铁远离干簧管,干簧管内部断开,单片机IO输出高电平,三极管截止,电机停止旋转,同时发送命令,让唱片机停止播放音乐。
300减速电机的型号是3V/6转,注意要在电机接口处反向并联一个续流二极管,用来泄放电机停止转动时产生的反电动势,防止其对电路中的其他元器件造成损坏。
NFC模块:


使用SPI总线与单片机通信,当唱片内部的IC卡转动到模块上方时,模块会读出IC卡的UID,程序则会根据UID播放对应文件夹内的音乐。
主控:

单片机的最小系统,相对比较简单,没有复位电路,使用内部时钟,所以不需要晶振电路,只需预留一个烧录接口用来烧录程序。
注意:当MP3模块与单片机的TXD和RXD相连时是无法烧录程序的,要先将MP3模块移除才能正常烧写。
单片机的第1个引脚,网络标号RAND,我将其悬空后采集其电压值,得到的随机数值作为随机数函数的随机数种子,用来随机播放开机音乐,但是效果一般,如果不需要这个功能,可以把RC522的复位引脚接到单片机第1脚上,第17脚弃用,如下图所示

软件代码
整体框架:

MP3模块指令:

录入唱片信息:
开启手机的NFC功能,并在手机上安装一个NFC读写工具App,比如NFC Tools Pro。打开软件,将IC卡靠近手机的NFC感应区,软件会识别出这张IC卡的序列号,即UID

将UID填入RC522.c文件的数组中,以十六进制0x开头

每一个数组代表一张唱片的UID
生成卡号:
放上唱片后,RC522模块会读取该唱片中IC卡的UID,若UID和之前录入的信息匹配,会生成对应的卡号,若不匹配,则卡号为0

播放唱片:
程序获取到唱片卡号后,会通过串口向MP3模块发送指令,播放对应文件夹内的音乐。

可以按自己的需求增加或减少唱片的数量,同时对程序做出相应的更改,随后就可以编译和烧录了。完整程序见附录。
注意事项

MP3模块建议购买带HW-247A字样的型号,不需要额外添加降噪电阻
使用音频接口前最好断开本机自带的小扬声器和主板之间的连接。经测试,无论是否使用音频接口,小扬声器都会正常播放,外接音响时可能没有什么感觉,但插耳机时就有较大影响了。
RC522模块建议买贵的,8块钱左右的那种,之前买了几个三四块钱的,结果质量参差不齐,有的行,有的就很不稳定,还是不要碰运气了
如果手头没有免冷启动的USB转TTL模块,最好准备一个带5V输出的电源模块,用来配合下载和调试

独立按键模块上的按键尺寸应该是6×6×6或6×6×7,如果是6×6×5的按键则需要拆掉更换

上图中黑色模块按键的尺寸是6×6×7,而绿色模块按键的尺寸是6×6×5,从外观上就能看出两者的高度明显不同。
有一个简单的方法用来判断按键是否符合需求:拿一个按键帽套到按键上,这种按键帽在6×6×6和6×6×7的按键上可以使用,但在6×6×5的按键上是无法固定的,这也是一定要把6×6×5的按键更换掉的原因。

组装流程
北极熊:
在北极熊的左半部分内侧用502胶水安装直径5mm厚度8mm的磁铁,在手臂连接件上安装直径5mm厚度3mm的磁铁

注意,要区分极性,使得两个磁铁可以像下图一样互相吸附,这样就可以使手臂保持举起的状态,不会自动落下。

在北极熊的左半部分外侧安装直径4mm厚度2mm的磁铁,在手臂下方安装边长5mm厚度1.5mm的磁铁

注意,要区分极性,使得两个磁铁可以互相吸附,这样就可以使手臂保持落下的状态,不会自动举起。

截取一小块洞洞板,在上面焊接一个干簧管,并使用斜口钳减去背面凸起的焊点,使背面尽可能平整

在北极熊的右半部分内侧用热熔胶枪安装干簧管,使得手臂落下时,手臂连接件上的磁铁可以尽可能地靠近干簧管。
如果位置得当,当手臂放下时,干簧管内部会导通,手臂抬起时,干簧管内部会断开,使用万用表的蜂鸣档可以进行测试。这个位置不是很好把控,可能需要耐心地多试几次。


注意:磁铁和干簧管之间应该留有一定的空隙,调整干簧管的位置时动作一定要轻,否则干簧管容易被干碎(别问我怎么知道的。。。)
在北极熊的底部烫入2个热熔螺母

将北极熊的鼻子和眼睛装到头部


将北极熊的头部和身体拼装到一起

上盖:
使用小螺丝刀捅穿螺丝孔上搭桥的耗材


使用502将2个装饰件粘到上盖的凹槽内


将导光柱卡进冰块模型的安装孔中

将冰块模型上的安装孔和上盖的安装孔对齐,从上盖底部穿出2个M3×12的螺丝,并将北极熊和上盖组装到一起。



底座:
拆除底座内的3个支撑


扬声器:
使用M2螺母将4根M2×5+5的六角铜柱安装到扬声器上

在外侧使用4个M2×5的螺丝将扬声器固定到底座内部


电池盒:
使用3M胶将单节5号电池盒安装到主板和NFC模块中间的位置

按键:
使用加热台拆除3位按键模块上中间的按键,拆除5位按键模块上所有的6×6×5的按键,并重新装上3个6×6×6的按键。

使用M3×10的螺丝和M3螺母将绿色的按键模块装到按键支架上。

将按键支架卡入底座的卡槽中

从外侧安装3个键帽

开关:
从外侧将船型开关卡入底座的安装孔

300减速电机:
将轴套安装到300减速电机的电机轴上


电位器:
使用热风枪将电位器模块上的排针拆除


整体布局:

300减速电机、2位按键模块、电位器模块、主板、RC522模块都使用M3×5的螺丝固定,升压模块使用M2×5的螺丝固定。
下图是焊接好的完整的布局:

底座螺丝柱上也要嵌入热熔螺母,方便安装和拆卸
唱片:
将带背胶的IC钱币卡粘到唱片的凹槽中

准备2张贴纸

将贴纸粘到唱片上

实物图
使用6个M3×8的螺丝将上盖和底座组装到一起,在电位器旋钮上套上旋钮帽,放上唱片,北极熊NFC唱片机就制作完成了。

在唱片机的左侧有Type-C充电口和电量指示灯(共4格),打开开关后即可查看剩余电量。

设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程工程成员
知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。










