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

[复制链接]
3047|25
手机看帖
扫描二维码
随时随地手机跟帖
kuailewangzi8|  楼主 | 2019-2-28 13:48 | 显示全部楼层 |阅读模式
本帖最后由 kuailewangzi8 于 2019-4-7 22:14 编辑

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



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

  • 草帽LEDX20

  • CR2032电池X1

  • PCB板X1

  • Pic12F629芯片X1

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


五、代码附件
1.代码
穿戴LED.X.rar (151.33 KB)
评论
VS烟雨 2019-3-15 17:41 回复TA
厉害了 
luyuechishi 2019-3-14 18:09 回复TA
666666666666 
21ic小喇叭 2019-2-28 17:09 回复TA
期待 

相关帖子

kuailewangzi8|  楼主 | 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



使用特权

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



特性如下:
6.jpg

使用特权

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

使用特权

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

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

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

使用特权

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

使用特权

评论回复
kuailewangzi8|  楼主 | 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

使用特权

评论回复
kuailewangzi8|  楼主 | 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 | 显示全部楼层
建议所有元件改用贴片的,
不然会刮 衣 服 !

使用特权

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

使用特权

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

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

使用特权

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

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

使用特权

评论回复
kuailewangzi8|  楼主 | 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






使用特权

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

使用特权

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

精彩在后面

使用特权

评论回复
kuailewangzi8|  楼主 | 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

使用特权

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

Section9、动手焊接

9.1 芯片底座

9.2轻触按键

9.3LED

9.4电池底座



  

使用特权

评论回复
kuailewangzi8|  楼主 | 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定时器
循环把灯点亮


使用特权

评论回复
kuailewangzi8|  楼主 | 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

使用特权

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

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


12.1顺时针扫描


12.2逆时针扫描


12.3横向扫描






使用特权

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

本版积分规则

5

主题

160

帖子

1

粉丝