车轮旋转 LED--自适应速度显示



5 天前 上传

这是LED?
没错 车轮上的旋转LED


再来张

























  • 对于单片机来说,突发的事情实在太多了,例如用户对单片机输入数据,按键,那都是单片机本身无法估计的事情。外来数据的突然进入,也属于突发事件。这些外部来的突发信号,一般就由单片机的外部中断来处理。外部中断其实就是一个管脚的状态改变引起的中断,在之后会说。

  • IMG_3654.jpg (251.24 KB, 下载次数: 0)




不多说


进入制作的过程










电路




 



LED 16颗(没用贴片的LED 因为~后文再说~~~)


限流电阻




 



焊好(焊功。。。哎 就这样。。。)




 



剪排线神器啊


LED共阳极  阳极总控通过三极管用IO口控制(总控可以用PWM控制总体亮度 比较方便) 


阴极16根线 各一个IO口












暴力剪下这条板子


啊!断了。。。


断口再焊接下就好了






然后另一块板子 51单片机系统焊好


外部中断到地接个干簧管 用霍尔传感器也可以


受磁铁影响中断 确定LED图案一圈的起始位置












还接了一组彩灯(这个随意)亮着还是好看的








 



一组遥控接上 还有个接收的板子没照












全部连起来的图


其实在测试硬件 没问题就下载程序(程序。。。一会儿再说。。。)






哦 还要个电源




 



18650电池盒 加个5V升压模块、开关


热熔胶粘在一起






主板加根USB线供电 配合这个电源接口






还得防水来着










 



还是热熔胶、塑料膜伺候


(这个也顶多防点小雨。。。没想到其他什么好办法)















安装




 



电池盒、主板上扎带 简单又牢固








 



LED热熔胶粘上 也挺牢固的


注意LED朝向轮胎里 不朝向两边  这样在轮胎两侧都可以看到(这也是为啥不用贴片的)








 



干簧管的位置比较重要








相对LED灯而言尽量在红色区域内


因为干簧管转到磁铁的位置时 显示会开始新的一圈


而这时的图像不一定很连贯(就像下图左上角这样的。。。这个是我一开始位置选的不太好时拍的)





所以把这个切换的地方换到轮胎不太显眼的地方会好看点


当然也可以直接换到单车支架的阴影下面




 



磁铁和干簧管距离5mm以内吧 还是热熔胶固定






上电池






大功告成!!!


可以骑去兜风了






还有重点是程序




我自己写的程序感觉不太简洁 就不贴了吧






但分享下思路:






LED程序包括电路与 摇摇棒 类似


但它的程序需要自适应车轮的转速显示






我是这样设计的


用定时器定特定的时间


转过一圈记下定时器溢出中断的次数(尽量调时间让次数大一点更准确)


新的一圈次数清零






在某一圈显示时用上一圈的次数作为时间基准


比如一圈内LED要在200个地方显示 而上一圈定时溢出了4200次


那么这圈LED就要在溢出计数为 4200/200*n 左右的时候显示


n就是第几个显示的地方






这样就实现了连续的适应速度地显示






我实际用的在192个地方显示


全轮相当于 192/16 = 12 个16*16点阵屏










其他部分的程序类似摇摇棒 就比较容易了






图案可以很多 做成动画也没问题






换个手机来几张(这个曝光时间好短。。。)


















哈哈 I'am LYC .  00后哦 (好像见过@lyc2002 真巧 不过我是2000)

虽然这是我的车轮LED第三次改版 花了一天时间 但还是没有做到满意
一个是外观设计 要防水(这次不太漂亮,用的塑料膜防水)得考虑用什么做个外壳
二是只有一组LED刷新如果车速较慢的话 图案就看不出来(测试要15码以上效果才好)有时间试试多组LED刷新的
用全彩LED的就更棒了


来源:http://www.geekfans.com/thread-78972-1-1.html 

单片机

每天更新
单片机
各种知识,电子制作DIY,及
电子行业
最新资讯,关注我们,棒棒哒!

单片机一般用于OTA更新的存储器有两种。首要,非易失性存储器(例如内存)用于存储运用程序的程序代码和只读数据。其次,易失性存储器(如SRAM)用于存储软件运用程序的可修改部分(如仓库)。

生成海报
点赞 0

Abin

我还没有学会写个人说明!

相关推荐

51单片机——定时器

为什么使用定时器? 之前我们的led灯每隔1s循环左移点亮的时候,使用的定时方法是在c程序执行若干次空循环,这样会耗费很多cpu资源,因为空轮询。本篇博客将使用51单片机内置的定时器中断