- 大一下学期,学院,科协举办第一届流水灯大赛
-
当时比赛时学长指出,这是真彩,不是全彩
-
大一和几个同学参加学院流水灯大赛的作品代码,拼命榨干了51单片机的资源
-
虽已经历很多全国赛事,依然觉得当时这代码和方案写得不错。
-
方案
- 颜色控制
- 使用三色雾状灯冒LED,共阴引脚。
- 当时pwm控制颜色的技术不是很成熟,也尝试过了,最终采用I2C控制下的DAC(TLC5620)控制颜色的方案:将64个灯的红色阳极接在一起,接到DAC的chn0;将64个灯的绿色阳极接在一起,接到DAC的chn1;将64个灯的蓝色阳极接在一起,接到DAC的chn2
- 通过控制DAC的输出电压,分别控制每个灯的颜色。
- 图案控制
- 扫描技术,视觉暂留原理
- 使用多个译码器(74hc138,74HC154)组合后逐个扫描64个灯的阴极。
- 控制
- 51单片机,原型验证用的是STC89C52,后面ROM,速度告急,在宏晶官网找了一款引脚完全兼容,,节拍更快的型号换上去,把晶振速度换大。
- 多个定时器和延时调度
- 无源蜂鸣器播放音乐
- 刷新颜色,消隐
- 保持图片,换图
- 刷图大致流程
for (imageCnt = 0 ;imageCnt < ? ;imageCnt ++): // 选图 for (imageDelayCnt = 0;imageDelayCnt < ? ; imageDelayCnt ++ ): // 每张图多刷几次延时以保证视觉暂留能看到 for ( lightCnt = 0 ; lightCnt < 64; lightCnt ++ ): // 扫描64个灯进行视觉暂留 decoder select (lightCnt) // 选灯 DAC set color (red,green,blue) // 输出颜色 __nop__(3); // 保持 DAC set color (0,0,0) //消影
- 颜色控制
- Xiangjie Wu
- Songhuan Huang
- Wentao Sun
- Ruige Lee
-
做完摇摇棒,就想到了把摇摇棒安装在自行车的车轮上,转起来,一个图案
-
采用霍尔传感器,需要在车轮上贴一个磁铁标记起始位置
-
每次检测到磁铁后,开始刷图案,因为自行车加速度不是很大,默认车轮每圈所用时间为上一圈的时间,则可以计算出图片每个位置开始时间
- Pu Liu
- Zong Yang
- Ruige Lee