5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
楼主: 白小淘
打印 上一主题 下一主题

【化学博士学种田】一起来DIY可编程航灯(已经写完,所有制造文件已公布)

[复制链接]
21
发表于 2015-4-9 07:38 | 只看该作者
支持楼主。顶一个

欢迎继续阅读楼主其他信息

22
发表于 2015-4-9 10:41 | 只看该作者
楼主有没有呼吸效果?  有没有考虑怎样的闪灯模式更方便判断机身前后? 我也想自己做,到现在都还没开工。 LED 选择除了灯带, 不知道用食人鱼那种高亮的好不好, 一臂一颗的
23
 楼主| 发表于 2015-4-9 12:46 | 只看该作者
cadillacxlr 发表于 2015-4-9 10:41
楼主有没有呼吸效果?  有没有考虑怎样的闪灯模式更方便判断机身前后? 我也想自己做,到现在都还没开工。  ...

这个可以有哦……


24
发表于 2015-4-9 13:00 | 只看该作者
arduino玩过,如果要控制大电流的灯,就得加三极管了吧!普通led满足不了一般人的。以后加上流水灯,呼吸灯,频闪灯等的控制吧。设计不同的延时即可
来自苹果客户端来自苹果客户端
25
 楼主| 发表于 2015-4-9 13:06 | 只看该作者
白色的熊 发表于 2015-4-9 13:00
arduino玩过,如果要控制大电流的灯,就得加三极管了吧!普通led满足不了一般人的。以后加上流水灯,呼吸灯 ...

atmega8的输出最大好像是5V40mA,这个测试可以用,小的LED也行,大的就必须加三极管了。


26
发表于 2015-4-9 14:43 | 只看该作者
白小淘 发表于 2015-4-8 23:39
你的什么控?什么设备测的?
话说标准的PWM一个周期20ms,高电平在1-2ms之间,其余的全是低电平,通道低 ...

可能昨天弄错了,或者混控了,今天又测了下,您是对的

串口助手一般数值显示
957 上
1501 空
2045 下

27
发表于 2015-4-9 21:19 | 只看该作者
楼主我等初中学生党没技术没时间 能不能出个套件
来自苹果客户端来自苹果客户端
28
 楼主| 发表于 2015-4-9 21:20 | 只看该作者
cyk0123 发表于 2015-4-9 21:19
楼主我等初中学生党没技术没时间 能不能出个套件

不打算出套件……

29
发表于 2015-4-9 21:28 | 只看该作者
白小淘 发表于 2015-4-9 21:20
不打算出套件……

那我怎么弄 珍真没时间
来自苹果客户端来自苹果客户端
30
发表于 2015-4-9 22:33 | 只看该作者

31
 楼主| 发表于 2015-4-10 18:56 | 只看该作者
本帖最后由 白小淘 于 2015-4-10 19:24 编辑

现在来讲一下这个程序的结构吧……
程序有四大模块:
1,初始化模块:这个是固定不变的,负责指定引脚的状态等任务,它只会在上电时执行一次。
2,信号模块:负责读取来自接收机的信号并通知控制模块,通知方式是一个一位的数字(比如低位是1,中位是2等等)。
3,控制模块:接收来自信号模块的数字并控制启用那个闪烁模块,这个理论上可以无限长。
4,闪烁模块:这个输出信号,控制LED如何闪,理论上,可以有无限个这种模块。
信号模块会有三个:一个用于3段开关的(兼容2段),一个用于4段开关的,一个用于6段开关的,所有的模块都可以读取来自旋钮的信号并作出响应,所以如果是旋钮,三个模块想用那个就用那个。
控制模块一个:里面结构这样子case(0){ 闪烁模块 },0可以是任何数字,信号模块发过来哪个数字,控制模块就执行那个数字里的闪烁模块。
闪烁模块:这个负责LED的闪烁,结构是这样子:开启XX,延时多少多少,关闭XX,对就是这样子的……是不是很简单?这个我提供四种不一样的,更多的大家自己动手啦……




32
 楼主| 发表于 2015-4-10 18:58 | 只看该作者
我顶贴貌似没反应,你们要帮我顶贴啊……
33
 楼主| 发表于 2015-4-10 19:07 | 只看该作者
本帖最后由 白小淘 于 2015-4-10 19:27 编辑

程序楼
【】【】【】【】【以下是初始化模块】【】【】【】【】
  1. void setup()
  2. {
  3.   for(int i=2;i<6;i++)
  4.   {
  5.     pinMode(i,1);
  6.   }
  7.   pinMode(10,0);
  8. }
复制代码

【】【】【】【】【初始化模块结束】【】【】【】【】
【】【】【】【】【以下是用于三段开关和两段开关的信号模块】【】【】【】【】
  1.   int a=pulseIn(10,1);
  2.   int r=1;
  3.   if(a<1800)
  4.   {
  5.     if(a>1200)
  6.     {
  7.       r=2;
  8.     }
  9.     else
  10.     {
  11.       r=1;
  12.     }
  13.   }
  14.   else
  15.   {
  16.     r=3;
  17.   }
复制代码

【】【】【】【】【信号模块结束】【】【】【】【】
这个模块在三段开关时,低位输出1,中位输出2,高位输出3
用于2段开关时,低位输出1,高位输出3



34
发表于 2015-4-10 19:10 | 只看该作者
小号码来顶贴
35
 楼主| 发表于 2015-4-10 19:19 | 只看该作者
本帖最后由 白小淘 于 2015-4-10 19:40 编辑

程序楼:
以下是控制模块:

  1. switch(r)
  2.   {
  3.     case(1):
  4.     {
  5.        第一个闪烁模块
  6.       break;
  7.     }
  8.     case(2):
  9.     {
  10.        第二个闪烁模块
  11.        break;
  12.     }
  13.     可以不断的这样写很多模块,当然,信号模块有数字过来才会启用。
  14.   }
复制代码

以下是四段开关的信号模块,信号由低到高分别输出1.2.3.4。

  1. int a=pulseIn(10,1);
  2. int r=1;
  3. if(a<1500)
  4. {
  5.   if(a<1200){r=1}
  6.   else{r=2}
  7. }
  8. else
  9. {
  10.   if(a<1800){r=3}
  11.   else{r=4}
  12. }
复制代码



36
发表于 2015-4-10 22:52 | 只看该作者
白小淘 发表于 2015-4-8 23:00
好的,现在把我测试读取PWM的程序发上来,做一下简单的讲解。

硬件电路:ATmega8,接16M晶振,晶振两边 ...

http://bbs.5imx.com/bbs/forum.ph ... =1013486&extra=
看看我的帖子。

使用延时函数不太好。这样会占用时间,单片机在延时期间不干活。切换模式有延迟。楼主看看我的办法,效果超棒

37
 楼主| 发表于 2015-4-10 23:16 | 只看该作者
kenhuyang 发表于 2015-4-10 22:52
http://bbs.5imx.com/bbs/forum.php?mod=viewthread&tid=1013486&extra=
看看我的帖子。

好的,我明天研究一下,今天在布线……PCB的尺寸打算做到2×3左右


38
发表于 2015-4-10 23:48 | 只看该作者
不懂帮顶
来自苹果客户端来自苹果客户端
39
发表于 2015-4-11 00:04 | 只看该作者
期待,楼主神人也
40
 楼主| 发表于 2015-4-11 21:22 | 只看该作者
闪烁模块暂时停一下,因为40楼说延时不好……
PCB文件会在我的样品测试无误后公布,啥都不留,谁想做都可以,有技术,任性!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /1 下一条

快速回复 返回顶部 返回列表