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