【21ic DIY秀】+8pin 单片机的穿戴流水灯

[复制链接]
1481|24
 楼主 | 2019-2-28 13:48 | 显示全部楼层 |阅读模式
本帖最后由 kuailewangzi8 于 2019-4-7 22:14 编辑

可穿戴LED灯是一个简单而有趣的项目,它基于microchip公司的pic12F629单片机,单片机只有8个引脚,可以无需外部时钟,通过3.3V纽扣电池供电,资源丰富两组组定时器中断,直插PDIP封装,以上特性非常适合制作一个方便携带的流水灯


https://www.bilibili.com/video/av48524430/
一、系统框图
无标题.jpg
二、功能介绍
它是一个可以挂在身上的装饰品,它简单而有趣,集成20个LED让你走到哪里都非常耀眼。
33.gif
具体参数:
  • 轻触按键X1

  • 草帽LEDX20

  • CR2032电池X1

  • PCB板X1

  • Pic12F629芯片X1

  • 挂绳X1
  • 三、程序框图
    无标题1.jpg
    四、实物演示


    五、代码附件
    1.代码
    穿戴LED.X.rar (151.33 KB, 下载次数: 1)
     楼主 | 2019-3-2 22:44 | 显示全部楼层
    Section1、主控
    选用的主控芯片是microchip公司的8位芯片pic12F629


    特性如下:
  • 内部高精度4M时钟
  • 宽工作电压范围,从 2.0V到5.5V
  • 高灌/拉电流能力,可直接驱动 LED
  • 6个具有独立方向控制功能的 I/O引脚
  • 2个带有预分频器的定时器
  • 多样性封装形式

  • 上述特性非常适合制作一个流水灯,我们可以无需外部时钟,通过3.3V纽扣电池供电直接驱动LED,定时器用来切换显示的模式,PDIP封装非常适合DIY。
    111.jpg



    使用道具

    评论回复
     楼主 | 2019-3-2 22:54 | 显示全部楼层
    Section2、LED
    它是这次DIY的主角,选用白色红光雾状草帽LED,非常的妖艳。
    QQ截图20190302225224.jpg



    特性如下:
    6.jpg

    使用道具

    评论回复
    | 2019-3-7 15:09 | 显示全部楼层
    搞什么名堂啊

    使用道具

    评论回复
     楼主 | 2019-3-12 22:37 | 显示全部楼层
    本帖最后由 kuailewangzi8 于 2019-3-12 22:38 编辑

    Section3、按键和电池
    3.1按键
    这里使用普通轻触按键,它的作用一方面起到切换闪灯模式,另一方面用来实现系统的开关机。
    无标题.jpg

    3.2电池
    我们选用一个纽扣电池,一方面方便整个系统的携带,另一方面方便后期电池的消耗更换。
    无标题.png

    使用道具

    评论回复
     楼主 | 2019-3-12 22:46 | 显示全部楼层
    Section4、挂绳
    非常适合于小朋友挂脖子上,作为智能穿戴的一部分。
    无标题.png

    使用道具

    评论回复
     楼主 | 2019-3-12 22:56 | 显示全部楼层
    本帖最后由 kuailewangzi8 于 2019-3-13 23:14 编辑

    Section5、原理图
  • 芯片一个引脚仅能作输入用作按键检测

  • 另外5个引脚具有2种状态输入和输出状态,用来接20个LED灯。

  • CharliePlex是一种多路复用技术。它最早于1995年初由Maxim集成产品公司的Charlie Allen提出,用于驱动多路显示。像其他多路复用技术(如矩阵)一样,charlieplexing用于通过尽量少的端口控制更多的负载。这里我们借用这种多路复用技术。

  • Schematic_Heart-LED20_Sheet-1_20190312225832.png

    使用道具

    评论回复
     楼主 | 2019-3-13 23:32 | 显示全部楼层
    本帖最后由 kuailewangzi8 于 2019-3-13 23:43 编辑

    Section6、PCB图
    6.gif


    9.gif
    板子外形就是一个大大的心形,具体方法就是首先用CAD画出漂亮的心形,并且用锚点标出20个指示灯的具体位置,然后导入外形的pcb板的边框层就可以了。



    使用道具

    评论回复
    | 2019-3-15 11:19 | 显示全部楼层
    建议所有元件改用贴片的,
    不然会刮 衣 服 !

    使用道具

    评论回复
    | 2019-3-15 13:34 | 显示全部楼层
    建议再搞小一点,不然影响拿出来变身~

    使用道具

    评论回复
     楼主 | 2019-3-15 22:58 | 显示全部楼层
    通宵敲代码 发表于 2019-3-15 11:19
    建议所有元件改用贴片的,
    不然会刮 衣 服 !

    谢谢,建议,采用直插件的初衷就是方便焊接小白操作,更容易组装成功。

    使用道具

    评论回复
     楼主 | 2019-3-15 22:58 | 显示全部楼层
    小鱼儿1045 发表于 2019-3-15 13:34
    建议再搞小一点,不然影响拿出来变身~

    谢谢建议,第一版搞成功了,可以弄个全部贴片的

    使用道具

    评论回复
     楼主 | 2019-3-15 23:13 | 显示全部楼层
    本帖最后由 kuailewangzi8 于 2019-3-22 23:05 编辑

    Section7、焊接


    7.1元器件BOM
    无标题.jpg


    7.2下单采购,静静等待物料和PCB板。。。。。


    漫长的等待,终于等到它们
    微信图片_20190322223707.jpg



    微信图片_20190322223703.jpg


    微信图片_20190322223658.jpg


    7.3注意事项
    1.注意LED方向,圆形带横线的引脚为负极
    588895c94f71a11994.png
    2.注意MCU方向,豁口朝向左边
    51025c94f7ff3aeb8.png






    使用道具

    评论回复
    | 2019-3-19 20:26 | 显示全部楼层
    感觉应该蛮好玩儿的东东,关注啦!

    使用道具

    评论回复
     楼主 | 2019-3-22 22:30 | 显示全部楼层
    penguin008 发表于 2019-3-19 20:26
    感觉应该蛮好玩儿的东东,关注啦!

    精彩在后面

    使用道具

    评论回复
     楼主 | 2019-3-22 23:09 | 显示全部楼层
    本帖最后由 kuailewangzi8 于 2019-3-28 22:05 编辑

    Section8、准备开发环境

    8.1 必备软件和工具
  • Kit3或者ICD3
  • 908555c964ebbb4f83.png
  • maplabX IDE  
  • 下载链接:  https://www.microchip.com/mplab/mplab-x-ide                                                                                 

  • XC8编译器
  • 下载链接:https://www.microchip.com/mplab/compilers

  • 使用道具

    评论回复
     楼主 | 2019-3-25 18:16 | 显示全部楼层
    本帖最后由 kuailewangzi8 于 2019-3-28 22:08 编辑

    Section9、动手焊接

    9.1 芯片底座

    9.2轻触按键

    9.3LED

    9.4电池底座



      

    使用道具

    评论回复
     楼主 | 2019-3-28 22:09 | 显示全部楼层
    本帖最后由 kuailewangzi8 于 2019-3-30 23:04 编辑

    Section10、代码调试

    9.1 新建工程
    参照下面演示动画,新建一个工程
    01 新建工程.gif

    9.2端口输出
    配置IO口输入和输出方向,进一步影响LED显示状态
    02 IO 输出.gif

    9.3端口输入
    当按键按下时,改变显示的led的位置


    9.4定时器
    循环把灯点亮


    使用道具

    评论回复
     楼主 | 2019-3-29 22:20 | 显示全部楼层
    本帖最后由 kuailewangzi8 于 2019-3-30 22:53 编辑

    Section11、问题解决
    11.1烧录的问题
    因为所有IO都接LED了,所以在板子上烧录程序是不成功的,因为烧录器的数据和时钟信号线上有LED的缘故。我的解决办法是,把单片机板焊接的临时烧录板子上,进行代码的烧录,烧录完取下插到目标板上。
    微信图片_20190330225345.jpg

    11.2端口分配的问题
    这个芯片的GP3端口只能做输入端口,而我们驱动LED时既用到输入用到输出。我这里通过飞线更改将按键检测接到GP3,LED接到GP4。
    微信图片_20190330225341.jpg

    使用道具

    评论回复
     楼主 | 2019-3-30 23:11 | 显示全部楼层
    本帖最后由 kuailewangzi8 于 2019-4-1 00:27 编辑

    Section12、定义动画模式
    这里我们定义3种模式,每种模式对应一种动画,通过按键进行切换。


    12.1顺时针扫描


    12.2逆时针扫描


    12.3横向扫描






    使用道具

    评论回复
    扫描二维码,随时随地手机跟帖
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    我要发帖 投诉建议 创建版块 申请版主

    快速回复

    您需要登录后才可以回帖
    登录 | 注册
    高级模式

    论坛热帖

    关闭

    热门推荐上一条 /5 下一条

    快速回复 返回顶部 返回列表