小i单片机入门之一.摇摇棒

[复制链接]
4090|18
 楼主| icecut 发表于 2012-12-8 23:21 | 显示全部楼层 |阅读模式
其实最近流行一种摇摇棒.今天我就给大家演示一个摇摇棒原理.

前提:

当每个用户第一次拿到多位数码管的时候,总会疑惑,为什么就那么几根腿....

当用户看到我就放了一个led的时候,总是会想,这怎么够档次呢?



当年看到右面的mini 数码管在无规则闪烁的时候,你知道发生了什么了吗?

那么,咱们就晃一晃.


蚂蚁开发板晃动效果

由于是手的非线性轨迹晃动,没有机械晃动的效果好.不过这个程序对于蚂蚁开发板和初学者都有很经典的效果.

那么就将这个简单的程序贴出来,让初学者明白,简单是入门者最需要的.也是一个开发板作者对技术的把握能力.

  1. #include <reg52.h>

  2. int k = 0;
  3. char seg[15]={0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90};
  4. void delayms(unsigned short ms) //软延时函数
  5. {
  6.         unsigned short i,j, l;
  7.         for(i=ms;i>0;i--)
  8.         {
  9.                 for (l = 0; l < 5; l++)
  10.                 for(j=5;j>0;j--)
  11.                 {
  12.                 }
  13.         }
  14. }

  15. void main()
  16. {
  17.         while(1)
  18.         {
  19.                 P0 = seg[k++];
  20.                 k = k % 10;
  21.                 delayms(1);
  22.                 P0 = 0xff;
  23.                 delayms(40);
  24.         }
  25. }



下面我就用最简单的方式贴出这个程序的精髓


摇摇棒功能图解

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
原野之狼 发表于 2012-12-9 00:08 | 显示全部楼层
虽简单  却富有趣味  
ichenqiang 发表于 2012-12-9 00:44 来自手机 | 显示全部楼层
很有趣的东西。
~Beyond~ 发表于 2012-12-9 01:44 | 显示全部楼层
嗯很有趣啊
Cortex-M0 发表于 2012-12-9 06:32 | 显示全部楼层
顶一个,小i
logger 发表于 2012-12-9 09:45 | 显示全部楼层
有点意思,拍照技术也了得!
ZG11211 发表于 2012-12-9 10:44 | 显示全部楼层
创意不错,有意思,
 楼主| icecut 发表于 2012-12-9 12:17 | 显示全部楼层
logger 发表于 2012-12-9 09:45
有点意思,拍照技术也了得!

本来想用我的单反,结果想了想,用手机搞定了...
lihaolongli 发表于 2012-12-9 14:12 | 显示全部楼层
简单有趣,支持大哥!
357482894 发表于 2012-12-9 19:59 | 显示全部楼层
刚开始看第二张图还以为那几个数字也是显示出来的呢。。。

有意思!

评论

那么精细的图能显示出来,我就不用摇了.我成了神仙了  发表于 2012-12-9 21:22
beanandpeach 发表于 2012-12-9 20:21 | 显示全部楼层
很有意思
hdl551890 发表于 2012-12-11 11:26 | 显示全部楼层
chengyabcd 发表于 2012-12-11 16:47 | 显示全部楼层
用什么传感器检测晃动速度呢?

评论

2分送你  发表于 2012-12-11 18:59
 楼主| icecut 发表于 2012-12-11 18:58 | 显示全部楼层
chengyabcd 发表于 2012-12-11 16:47
用什么传感器检测晃动速度呢?

聪明,,,终于等到一个正确的问题了...

这是一个样例,只提供显示的原理.如果想显示一个数据串或者图.都需要一个边缘检测.用来检测起始点.
从图像上来看 ,没有任何规律.所以说这个并没有起点检测.

起点检测应该用一个弹簧+锡球做一个.我下面有一个预留的18b20接口可以干这件事情.
单片机性能有限,和成本限制,就不适合用加速度传感器来做这件事情了...

你很有前途...加油...我看好你
速度检测其实在做了边缘起点之后就可以计算了.从这张图上,也可以算出来,就是看距离和单片机延时之间的关系
chengyabcd 发表于 2012-12-12 14:05 | 显示全部楼层
对自行车上的风火轮也比较感兴趣,现在的问题是没有合适的取模软件,自己又不会编写
尤其是那种通过无线传输图片,无线供电的方案,很爽,RGB彩色的
 楼主| icecut 发表于 2012-12-12 14:19 | 显示全部楼层
chengyabcd 发表于 2012-12-12 14:05
对自行车上的风火轮也比较感兴趣,现在的问题是没有合适的取模软件,自己又不会编写
尤其是那种通过无线传 ...

好创意...要不要一起做一个...取模软件不难写.如果你有决心把这个做出来,可以加我的群.我指导你搞定.
chengyabcd 发表于 2012-12-12 14:24 | 显示全部楼层
呵呵不是我的创意,已经有人做出来了,只是比较感兴趣,工作比较忙,不知道有没有时间弄,已经加你的群了
elitezhe 发表于 2012-12-12 22:28 | 显示全部楼层
效果很好哈~~~赞一个  我自己做了个简易版的8个led的
碧螺春_123 发表于 2013-12-25 21:19 | 显示全部楼层
很好,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:个人发展,技术咨询,点此  嵌入式arm爱好者←← +→→点击-->小 i 精品课全集,给你全方位的技能策划~~←←

1120

主题

15359

帖子

588

粉丝
快速回复 在线客服 返回列表 返回顶部