摇摇棒方案
1、LED摇摇棒硬件系统的组成
本次设计的简单有趣的LED摇摇棒,它是基于单片机控制的电子装置。具有按键进行画面切换和消除重影等功能,能使画面清晰显示出来。它主要由单片机控制部分,LED驱动部分,LED显示部分组成,其硬件组成框图如图1所示。
1.1LED摇摇棒按键模块
本设计中通过一个画面切换开关对显示的内容进行切换。在设计中通过开关来控制摇摇棒只能向一边摇动时显示信息,否则会出现镜像字或镜像画面,也就是重影的现象。可选的摇动控制开关有水银开关和开关两种。水银开关稳定性较高,但安全性较差。开关虽然稳定性稍差,但不容易被打破,安全度很高。考虑到实际应用环境,故选用开关作为系统的摇动控制,由开关带来的不稳定性可以通过软件进行弥补。手动复位开关的功能是控制系统的启停。
1.2LED摇摇棒控制部分
单片机最小系统作为整个系统的控制核心,它主要负责控制二极管的亮灭及显示状态。通过单片机的软件编程及外部中断,来控制摇摇棒的显示效果。
1.3LED显示模块
此设计中根据LED点阵的显示原理来设计显示部分。点阵的显示分为行扫描与列扫描两种,列扫描是将字模数组通过点阵屏的行驱动进行输入,然后通过列对每一行进行扫描,当列为低(高)电平、行为高(低)电平时则表示该点为图案的一部分,将其读出、显示。而本次设计的LED显示棒数据传输原理与LED点阵屏相似。可以把LED显示棒看成是LED点阵屏中的一列。为了使显示的图案清晰,在设计中使用了16个高亮度LED管将它们排成一列,整个屏在静止时也就相当于16行×1列。数据传输时同样使用行送数据、列扫描。
1
在摆动过程中,应用人眼的视觉暂留原理,被点亮的列不会很快的消失,而是随着摆动的方向继续向前移动,只要移动的速度高于视觉暂留的最短时间显示内容就不会熄灭,这样,一幅图案也就可以这样被“摆动”出来了。
根据系统分析,具体的硬件电路连如图2所示。在具作硬件的时候,将16个3mm高亮度红色的LED排列成整齐的一列。
在proteus下仿真调试的时候,给定的电源VCC为5V,实际使用时用3节干电池串联4.5V即可。
2、LED摇摇棒系统软件设计
2.1LED摇摇棒软件设计思想
在摇动LED棒的时候单片机必须单程传送数据,否则显示的图形会产生重影,影响视觉效果。因此当系统开始工作后通过开关的位置来使单片机实现单程传送数据给LED。如果开关位于右边,则进入外部中断1并将一变量置1,在变量为1期间让单片机以一定的频率将数据传送给LED.如果开关位于左边,则进入外部中断0并将变量置0。在这期间单片机不会传送数据给LED.在送数据时,数据送完后应延时一段时间来使摇动时显示的每个字不会太拥挤,之后再立刻熄灭LED并开始重新判断开关的位置。
2
系统开始运行,首先初始化整个系统,然后等待外部中断。当用手摇动到指定位置时,由开关触发外部中断,系统接收到外部中断信号后,就传送数据,再经过一段延时后开始显示。显示完成返回主程序,等待下一个摇动周期的到来。周而复始的晃动,则会显示出相应的信息。
下面将设计一个LED显示棒且需要有按键进行内容切换,它主要是由控制部分,LED驱动部分,LED显示部分以及电源部分组成,如图4所示。
单片机将提取的字模进行存储,当接收到按键输入的指令时单片机就将相应的字模代码通过I/O口输出,使LED灯点亮,利用视觉暂留原理最终使图案完整的显示在摆动的显示屏中。
3、LED灯的选择
传统LED发光二极管。颜色多样,在可以同样显示图案的前提下使用它更为经济。
4、外部中断信号产生方式
通过外部中断可以控制数据开始传输的时刻。选择好外部中断来源是本次制作的难点及重点。使用惯性开关。通过摇晃使得惯性开关的摆杆与焊接的左右两个触点接触,利用这种接触产生的电平变化来触发中断,结合软件控制显示,制作简单,使用方便。
抗重影方案的选择:使用外部中断控制数据传输时刻。外部中断信号由惯性开关产生,触发方式为下降沿触发。惯性开关左右两边的触点分别与单片机两个外部中断接口相连,默认为高电平,摇动的摆杆接地。惯性开关处于不同位置进入不同的中断,从而决定何时送数据。该方案简单易行,可以保证数据是单程传输的,避免了重影。不摇动时把惯性开关处在左边就可以使LED棒熄灭,可以达到省电的效果。
3
5、实物
4