注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
忙忙草的个人空间 https://home.eeworld.com.cn/space-uid-64414.html [收藏] [复制] [分享] [RSS]
日志

DIY光影棒在编程阶段应注意的几点事项

已有 1198 次阅读2009-1-5 14:07

在这次论坛组织的DIY光影棒活动中,网友们表现积极,踊跃参加,到目前各位参与的网友们电路板都已焊接完毕,进入了编程阶段。由于我们这次参加的网友们几乎都是第一次DIY光影棒,所以,在确定方案时所设计的一些控制方法在编程阶段出现了不容易实现的问题,要求在编程时应做相应的调整,才能顺利完成编程工作,使这次的DIY活动取得圆满成功。为了使网友们能顺利完成编程工作,现将一些注意事项贴出来,以供大家参考,避免在编程时被类似问题所困扰。

 

一、显示汉字的取模方法:汉字取模软件网上有很多可以下载,论坛上也有几个取模软件可以下载使用。但必须按列取模,所以,使用的软件应支持按列(即纵向)取模方式才行,而且应按从高位到低位的顺序取模。一个汉字用16行×16列来显示,当按列取模时,每列需要2个字节,则一个汉字16列应有32个字节。选择的取模软件最好能支持多种字体,至少要支持宋体、黑体和楷体,而且支持C51和A51两种格式。这样,显示的汉字就可以变换字体了。当从左向右摇动光影棒时显示汉字,就按从左向右的顺序显示每一列,这正是汉字取模及存放的顺序。

如果是按相反的方向摇动时显示汉字,应按相反的顺序取出取放的字模数据,在编程时相对比较难些。

 

二、原设计时想用水银开关根据摇动方向控制显示影像,如从左向右摇动时开始显示,而且用红色或绿色显示汉字,再从右向左返回摇动时,用另一种颜色显示汉字。可经实测,由于水银开关过于灵敏,在摇动时,手持光影棒角度不易掌握,即便不摇动,而是角度变化时,水银开关也频繁接通。而摇动时,却又不是按所要求的时候接通,所以,在光影棒上不宜使用水银开关。而这次论坛发给大家的元件,采购的是滚珠开关,其特点与水银相似,但却有接触不可靠的缺点,即摇动或变换角度不能可靠接通。因此,水银开关和滚珠开关均不宜使用。而应换成轻触按钮来控制显示。

 

三、显示的启动方式,因控制显示换成按钮后,就要求开始摇动的同时按下按钮,当程序检测到按钮被按压后就开始逐列扫描显示汉字,直到显示最后一列结束扫描。显示结束后程序要检测按钮是否释放,如果未释放应等待按钮释放后再回到等待状态,等待下一次按钮再开始下一次显示。考虑到编程的方便和手臂摇动的习惯,最好选择从左向右摇动时开始显示汉字,而从右向左返回时就不用必显示了,即单向控制显示。改成这种显示方式有两个原因,一个原因是用按钮控制显示,当开始向一个方向摇动时要按下按钮开始显示,而返回时就应该释放按钮反向显示,但是这样很难掌握,而且来回摇动的时间比较短,左右摇动的范围也不大,所以,在摇动的同时控制按钮实在很难。其实就单向控制显示也需要训练一会才能配合得好,才能显示出完整且清楚的文字来。第二个原因是也是主要原因,在设计时我们没有考虑到这一点。因为每摇动一次,扫描一个汉字的每一列只能显示一次,且显示时间应很短,经实验延时1.5毫秒比较合适。这样,如果按显示4个汉字计算,摇动一次显示一遍大约需要1.5×64列=96毫秒。这是利用视觉暂留效应才看到了扫描形成的影像,但看到的影像只有一次且时间非常短,所以这种视觉很快就消失了。如果要看到比较清晰的影像需要多次产生视觉效应才行,这就要求反复摇动几次后视觉才能适应这种影像。而两个方向都显示时,那么两个方向扫描显示产生的视觉时间差刚好相反,产生的影像不清晰也杂乱了。

 

四、扫描显示每一列的延时时间问题,就是上面提到的延时取短了,显示的影像不够稳定清晰,取长了超过了视觉暂留时间就看不到完整的影像了。更主要是摇动一次的延时的时间与摇动的距离和速度都有关。延时短了,要示摇动的速度要快,范围要大,这样显示的影像才能展开,否则成了细长的汉字了,即纵向被压缩了。同时,速度还要比较均匀,否则显示的文字“胖瘦”不同。延时长了,速度要比较慢,距离要大些,否则影不能全部展开,显示不全,或者也是“胖瘦”不一。取1.5毫秒,是经实测得到的比较合适的值。当然这个延时值也仅是供大家在编程参考,你也可以根据自己的试验选取一个适合你自己的延时值。不过,最后还要强调一句,取1.5毫秒是根据显示四个汉字来测试的,也就是说与你选定的显示的字数多少有关。

 

五、原设计时,准备用按键S1作计数器,用于改变显示不同的影像,而且还计划在编程时确定两种显示模式,即手动选择显示的文字和自动变换显示的文字。现在应改用S1按钮作为显示控制按钮了,那原来准备焊接滚珠开关S2的位置就改焊一个轻触按钮,即计数按键,用来控制选择显示文字,每按一次改变一次,并取消自己变换的方式。原来想在自动变换模式下,每摇到一次自动变换显示一组文字,现在看来这种模式也不适宜,原因上面已说过,要看到一次比较清晰的影像要反复连续摇动几次,即连续显示几次视觉才能适应,且要求摇动的手法也要训练多次后才能适应。如果是那种利用电机不停地旋转来形成的影像,均速度转动的问题就好解决了,而手动来回摇动确实不好控制。

六、为了省电,同时也是考虑产生控制开始显示的原因,不摇动时,16个红灯和16个绿灯均为关闭状态,只有开始摇动扫描显示时才点亮相应的LED灯。那么在按下计数按键改变显示的文字时,可用8个红或绿LED灯来显示当前所选择的组数,这样,准备显示的文字确定8组比较合适,当然确定再多些也可以。每按一次计数按键后用红、绿显示0.51秒后自动灭掉,这样,可以提示计数选择完成了,同时,也显示出当前选择第几组文字了。
发表评论 评论 (1 个评论)
回复 lovedata 2009-1-9 22:25
谢谢忙忙草,今天下午材料到了,明天就开始焊

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章