【一起DIY】掌控板POV创意灯
本帖最后由 Hockel 于 2021-10-21 10:06 编辑## 创意背景
视觉暂留(POV)现象是光对视网膜所产生的视觉在光停止作用后,仍保留一段时间的现象,其具体应用是电影的拍摄和放映。原因是由视神经的反应速度造成的。是动画、电影等视觉媒体形成和传播的根据。视觉实际上是靠眼睛的晶状体成像,感光细胞感光,并且将光信号转换为神经电流,传回大脑引起人体视觉。感光细胞的感光是靠一些感光色素,感光色素的形成是需要一定时间的,这就形成了视觉暂停的机理.
法国人保罗·罗盖在1828年发明了留影盘(类似上图)。当圆盘旋转时,鸟在笼子里出现了,这证明了当眼睛看到一系列图像时,它一次保留一个图像。物体在快速运动时, 当人眼所看到的影像消失后,人眼仍能继续保留其影像0.1-0.4秒左右的图像,这种现象被称为视觉暂留现象。
![](https://imagemc.dfrobot.com.cn/data/attachment/album/202110/21/095533lotpwvttv8o8uzo8.jpg)
## 功能设计
1、该项目使用的主控是掌控板,来控制WS18B12灯带的灯珠点亮顺序,通过电机的快速转动来达到视觉暂留的效果。
2、微信小程序端可以输入我们想要的文本文字,控制灯珠的刷新频率,灯带的亮度及开关灯。
3、使用3Done来设计该项目的外形。
## 硬件清单
![](https://imagemc.dfrobot.com.cn/data/attachment/album/202110/21/095710k1qoksq7qqv7q1fa.jpg)
## 制作步骤
1、 用3Done设计POV显示外壳
![](https://imagemc.dfrobot.com.cn/data/attachment/album/202110/21/095954t020x06r00e4mwr0.jpg)
2、 将设计好的模型进行切片后3D打印。
![](https://imagemc.dfrobot.com.cn/data/attachment/album/202110/21/100034rduhduc9wppukzd9.jpg)
3、 开始进行项目组装。
![](https://imagemc.dfrobot.com.cn/data/attachment/album/202110/21/100100q7znvcfsnncrrbju.jpg)
## 工作原理
这里我们用5个灯珠来进行文字的显示,因为我这里用的灯带使用的15灯珠的灯带,为了居中显示效果更好,值让第6,7,8,9,10的灯珠来点亮。(ps:其中这里的灯珠与灯珠之间的距离太大,如果做那种pov球体显示,这需要灯珠间隙更小的灯带!)
![](https://imagemc.dfrobot.com.cn/data/attachment/album/202110/21/100132cvw6vk9mkznmvp2m.jpg)
如果我们要显示A这个字符,我们需要先将第一列的5-8的灯珠进行进行点亮,然后依次类推:
第一列:【5,6,7,8】
第二列:【7,9】
第三列:【7,9】
第四列:【5,6,7,8】
那如果我们需要显示Z字符呢?
![](https://imagemc.dfrobot.com.cn/data/attachment/album/202110/21/100200zx6bsxgbz0h3vgl8.jpg)
以此类推:剩下字符就交个屏幕前的读者了!
## 小程序界面
打开微信小程序:“**掌控板物联网**”
![](https://imagemc.dfrobot.com.cn/data/attachment/album/202110/21/100234rx8r8pabrrjjb10s.jpg)
data0:开关组件:控制灯带的亮灭
data1:输入框组件:控制灯带的显示文字效果
data2:滑块组件:控制灯带的亮度
date3:步进器组件:控制字符与字符显示的位置
## 程序编写
使用mpython 对该项目进行程序的编写:
**step1:**
主程序:
1、对灯带进行初始化(设置灯带的数量,亮度)
2、设置wifi,小程序等参数
3、小程序接收数据是进行相应的操作:(开灯、关灯、切换文字、设置灯带亮度及字符之间的显示时间)
![](https://imagemc.dfrobot.com.cn/data/attachment/album/202110/21/100313cl7756m77rdrorsm.jpg)
**step2:**
字母显示的实现:
![](https://imagemc.dfrobot.com.cn/data/attachment/album/202110/21/100419fhhmaz9i020ff2ii.jpg)
根据前面的工作原理,我们知道R只需要显示:三列
第一列:【5,6,7,8,9】
第二列:【6,7,9】
第三列:【5,7,8,9】
里定义了五个列表的函数,对应每一列。
我们需要对显示字母字母将列所对应的灯珠号写在相应的列表中。然后对列表进行遍历,设置灯带生效即可完成对这个字母的显示。
其他字符的显示效果与上述类似。
**step3:**
对小程序输入的字符,然后进行逐个显示
![](https://imagemc.dfrobot.com.cn/data/attachment/album/202110/21/100446adnnfz4u9hy9hjjh.jpg)
项目演示
https://qiniu.makeymonkey.com/bed34cef-a9ac-4539-9c05-d56160bdd714.mp4
##总结
通过本项目的学习,同学们认识并了解了什么是视觉暂留现象!对列表的知识点也有了更近一步的掌握。如果灯带灯珠之间的间隙更短的话,可以进行球体形状显示(文字,图片等)。
更多教程欢迎关注个人博客:(https://www.hockel.club/)
需要mPython源码的:
关注微信公众号:跟着hockel玩科创,
回复:pov 棒棒的 哇!好棒哦! 做的很不错 厉害。。。 6666666666
页:
[1]