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

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
查看: 5612|回复: 73
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2015-4-8 19:03 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 白小淘 于 2015-5-6 21:50 编辑

20150416:本帖剩下的内容将转至隔 壁论坛电子区更新。
20150419:所有的文件已经公布了,在另外那个帖子的4楼,公开下载,只需要保证不改我的LOGO就行,其他的随便,至于程序,我已经放了一个闪烁的视频,和视频配套的代码在视频那楼的下面一楼,那个主要对格式进行说明,其他的模块大家一起写啦……

20150506:重大更新,8Mhz的bootloader已经搞定,现在NB了,整块版就剩下Mega8和扩流的三极管……没有任何外围元件了,现在测试能否长时间稳定工作……

总是看到有人做爆闪灯,但是闪久了不觉得无聊么??
我有这样一个想法:
1,做一个廉价的航灯硬件,个位数的RMB投入。
2,多路独 立控制输出,所有的一起闪就没意思了。
3,航灯支持的电压电流宽,想用多大的LED都可以。
4,可以遥控控制,切换多种不一样的闪法,或者开启/关闭LED。
5,把程序写成乐高积木一样的模块,想怎么闪自己拼装,并且开源,想增加新的闪烁模块可以自己写。
好了,就这些,我要开工了。
先说一下计划的硬件,想要把程序模块化,还要所有人都可以自己编程,几乎必须用arduino,因为arduino简单,但是……现在最便宜的arduino官方硬件好像就是pro mini了(貌似有非AVR主控的,但是功能弱爆),这货要最便宜的卖家都要10元左右,果断放弃,这么贵……放弃了就不能用arduino了吗?错!arduino的硬件还有非官方的,这其中,便宜而且功能强大的要数mega8做的了,所以我采用了mega8。
昨天试了一下,现在我搭的mega8已经可以和arduino的IDE通信了,程序的下载,运行都正常。
ATmega8,现在的无刷电调有很多都用了这个单片机,对于闪灯来说运算能力强到无法想象了。
说一下,昨天之前,我不会编程,不了解硬件,以前只是玩过一下下PCBlayout,改过几个电路板,但是……我相信我能做到我前面说的这些。










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

沙发
 楼主| 发表于 2015-4-8 19:07 | 只看该作者
本帖最后由 白小淘 于 2015-4-9 19:09 编辑

硬件原理图完成,mega8的输入输出按理说串个4.7K的电阻好点,但是我前面两天的测试没用也未见异常,就这样了……
从左到右,P3是四个备用的输出,P1是信号输入,P4是ISP接口,P5是串口,P6是高压输入,目前我测试用的三级管9013支持25V,P2是LED输出
下面写的程序全部以这个原理图为硬件基础。


3
发表于 2015-4-8 19:09 | 只看该作者
4
发表于 2015-4-8 19:57 | 只看该作者
支持,看看做出来的效果
5
发表于 2015-4-8 20:08 | 只看该作者
路过期待。
6
发表于 2015-4-8 20:24 | 只看该作者
必须支持。。。期待样品
7
发表于 2015-4-8 21:01 | 只看该作者



支持折腾
8
发表于 2015-4-8 21:04 | 只看该作者
前期验证可以用arduino板子嘛,省事,没必要用mega8造arduino,后期量产再说也不晚。
9
发表于 2015-4-8 21:05 | 只看该作者
支持楼主。顶一个
10
发表于 2015-4-8 21:45 | 只看该作者
支持开源
来自安卓客户端来自安卓客户端
11
发表于 2015-4-8 22:17 | 只看该作者




支持折腾
12
发表于 2015-4-8 22:23 | 只看该作者
我模型,这个支持,可惜我只知道电路,不懂编程。。。。。。。。。。。。
13
发表于 2015-4-8 22:29 | 只看该作者
比较好的想法……
14
 楼主| 发表于 2015-4-8 23:00 | 只看该作者
本帖最后由 白小淘 于 2015-4-9 19:18 编辑

好的,现在把我测试读取PWM的程序发上来,做一下简单的讲解。

硬件电路:ATmega8,接16M晶振,晶振两边接22pF电容,其他不用管,直接刷arduino对应的bootloader,之后用USB转串口连接IDE
串口接在PD0(RX),PD1(TX)上面,四个LED接PD2,PD3,PD4,PD5(我用了三极管放大的,小LED可以不用),遥控信号接PB5。(由于软件还没弄好,口述了……,目前这些硬件5元左右,价格我很满意)

测试正常的状态:开关高时,5号脚的灯亮,其他不变,开关低时,5号脚的灯灭,其他不变。

程序如下:
void setup() //初始化程序
{
for(int i=2;i<6;i++)
pinMode(i,OUTPUT);   //使用for循环一次定义4个脚的模式,全部为输出
pinMode(13,INPUT);   //定义13号脚的模式为输入
}


void loop()  //主程序,这里面的会不断循环执行
{
  int a;   //定义一个整数a
  a = pulseIn(13,HIGH);    //读取13号脚的高电平,赋值给a
                           //PWM信号低位1000us,高位2000us,中位1500us
  if(a>1500)   //如果a大于1500,也就是输入信号为高时
  {
    digitalWrite(5,HIGH); //打开5号脚,此时5号脚的灯亮
  }
  else   //否则,也就是信号不符合if的定义(即小于1500)时
  {
    digitalWrite(5,LOW);  //关闭5号脚,此时5号脚的灯灭
  }
  for(int i=2;i<5;i++)
  {
    digitalWrite(i,HIGH);   //使用for和digitalWrite把其他的脚全部打开
  }
}

上面这一段比较有意义了,
闪灯基本是下面这种格式的:
digitalWrite(i,HIGH);//将i打开
delay(1000);        //延时1000ms
digitalWrite(i,LOW);//将i关闭


15
发表于 2015-4-8 23:05 | 只看该作者

16
发表于 2015-4-8 23:06 | 只看该作者
支持加学习
17
发表于 2015-4-8 23:09 | 只看该作者
高位实测2700
18
发表于 2015-4-8 23:12 | 只看该作者
期待,楼主神人也
19
发表于 2015-4-8 23:34 | 只看该作者
白小淘 发表于 2015-4-8 23:00
好的,现在把我测试读取PWM的程序发上来,做一下简单的讲解。

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

闪灯代码其实不用写的.有现成的LED灯条的各种闪代码.复制过来就好了.

20
 楼主| 发表于 2015-4-8 23:39 | 只看该作者

你的什么控?什么设备测的?
话说标准的PWM一个周期20ms,高电平在1-2ms之间,其余的全是低电平,通道低位时高电平1ms,高位时高电平2ms。你的不是这样子的?


您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

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

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