模吧

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

2583查看 | 12回复

[GUC DIY ]让MINIMOSD多个功能——辅助通道及航行状态灯

[复制链接]
发表于 2017-12-29 19:59:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
本帖最后由 Guc 于 2017-12-29 21:34 编辑

    大家好,我是Guc。其实这个帖子前段时间发过了,不过出了点问题,今天从新发。这是[让Minimosd多一个功能]DIY的第三贴,添加的功能一个是辅助通道功能,一个是航行状态灯功能。辅助通道功能主要是有两个舵机输出,一个开关通道(用来控制开关);航行状态灯大家就都知道了,详细功能后面再说。
    先来介绍辅助通道功能,这个功能是通过读取osd里的6,7,8通道数据,然后转输出连个PWM信号和一个开关信号。
    来看下需要什么材料:
[GUC  DIY ]让MINIMOSD多个功能——辅助通道及航行状态灯 舵机,飞控,DIY,固件,多轴 作者:Guc 1515
    应该只有817光耦可能要买,我也是以前买过,这次试了试可以就用上了,其他型号的光耦应该也可以。光耦817是亿光光电耦合器的一种型号EL817,是一种把红外光发射器件和红外光接受器件以及信号处理电路等封装在同一管座内的器件。当输入电信号加到输入端发光器件LED上,LED发光,光接收器件接收光信号并转换成电信号,然后将电信号直接输出,或者将电信号放大处理成标准数字电平输出,这样就  光耦817实现了“电-光-电”的转换及传输,光是传输的媒介,因而输入端与输出端在电气上是绝缘的,也称为电隔离。这是个很好用的元件,原理图如下:
[GUC  DIY ]让MINIMOSD多个功能——辅助通道及航行状态灯 舵机,飞控,DIY,固件,多轴 作者:Guc 6195
辅助通道功能视频演示:
视频不知道为什么发不出来,有兴趣的点连接:
我使用了一个LED灯加个按动开关做模拟,当6通道的值大于等于1450时,光耦导通,LED亮。
看下添加的代码:
#include <Servo.h>
Servo myservo;
Servo yourservo;
void setup()  
myservo.attach(9);
yourservo.attach(5);
pinMode(4, OUTPUT);
void loop()
myservo.writeMicroseconds(chan7_raw);
yourservo.writeMicroseconds(chan8_raw);
if(chan6_raw>1400){
  digitalWrite(4,  HIGH);
}
else{ digitalWrite(4,  LOW);
}
主要用的是serve这个库,使用很方便,从上面的代码大家应该知道怎么用了吧。
关于动手做这个部分很简单,看下接线图,图上的舵机输出也需要共地,大家不要忘了接这根地线。
[GUC  DIY ]让MINIMOSD多个功能——辅助通道及航行状态灯 舵机,飞控,DIY,固件,多轴 作者:Guc 7947
如果有使用数传请把osd TX线去除,因为OSD也会向飞控请求数据,会导致延迟增加很多,现在这个版本舵机延迟比较大,不过用来做投掷器和自动脚架是够用的,不使用数传延迟会小一点。固件会在最后和航行状态灯的固件打包提供下载。
****************************************************************
接下来介绍航行状态灯,先看下需要什么?
[GUC  DIY ]让MINIMOSD多个功能——辅助通道及航行状态灯 舵机,飞控,DIY,固件,多轴 作者:Guc 3758
主要通过达林顿2003来驱动,接线和2803是一样的,可以借鉴下面这张图接线。
[GUC  DIY ]让MINIMOSD多个功能——辅助通道及航行状态灯 舵机,飞控,DIY,固件,多轴 作者:Guc 6185
OSD接线图如下:
[GUC  DIY ]让MINIMOSD多个功能——辅助通道及航行状态灯 舵机,飞控,DIY,固件,多轴 作者:Guc 3871
    以前也做过航行灯,很早了,有兴趣也可以看看: DIY电量显示报警航行刹车灯模块http://www.moz8.com/thread-75914-1-1.html
看看代码:
unsigned long currentMillis = millis();
static long distancepwm = map(osd_home_distance, 0, 500, 50, 255);
if(chan7_raw>1450){
if(osd_fix_type>2){
analogWrite(3,distancepwm);
analogWrite(5,distancepwm);
}  
else if(osd_fix_type==2){
  if(currentMillis - previousMillis >interval) {  
    previousMillis = currentMillis;  
    if (ledState >30)
      ledState = 0;
    else
      ledState = distancepwm;
   analogWrite(3, ledState);
}
analogWrite(5, distancepwm);
}
else if(osd_fix_type<2){
  if(currentMillis - previousMillis >interval) {
    previousMillis = currentMillis;  
    if (ledState>30)
      ledState = 0;
    else
      ledState =distancepwm;
   analogWrite(3,ledState);
  analogWrite(5,ledState);}
}}
else {analogWrite(3,0);
  analogWrite(5,0);}
}
    主要使用了Blinkwithoutdelay。因为使用delay会使osd变的很慢。
    目前航行灯只有显示GPS的状态的功能,通过读取gps定位信息,当未定位时两路LED灯会闪烁,当2D定位时一路闪烁一路长亮,3D定位两路长亮,并且灯的亮度随距离变化,当达到500米后最亮,最初只有五分之一的亮度。
    这只是初步做的,最近没什么时间就先发了,以后还会加一些功能,大家有没什么建议?
固件下载: [GUC  DIY ]让MINIMOSD多个功能——辅助通道及航行状态灯 舵机,飞控,DIY,固件,多轴 作者:Guc 2296 辅助通道及航行灯固件.zip (130.47 KB, 下载次数: 0, 售价: 2 牛币)
    还有补充说明一下,我做的OSD DIY是用于多轴的哦。
还有我其他帖子的链接:
[url=http://www.moz8.com/thread-109219-1-1.html][GUC 5元 DIY ]让MINIMOSD多个功能——温度监控[/url]
[url=http://www.moz8.com/thread-109107-1-1.html][GUC 1元 DIY ]让MINIMOSD多个功能——摄像头切换[/url]
【GUC CIY】超声波辅助飞行模块
如果有什么写的不清楚的,其他帖子里有更多内容。
谢谢大家阅贴!

发表于 2017-12-29 20:07:04 | 显示全部楼层
osd也玩得这么6,也是厉害了
发表于 2017-12-29 21:02:28 | 显示全部楼层
不错不错不错不错不错不错
发表于 2017-12-29 21:29:55 | 显示全部楼层
学习了
发表于 2017-12-30 06:27:33 | 显示全部楼层
学习了
发表于 2017-12-30 09:36:55 | 显示全部楼层
楼主是真懂的人,像楼主学习!
 楼主| 发表于 2017-12-31 17:00:55 | 显示全部楼层
anyhow18 发表于 2017-12-30 09:36 [GUC  DIY ]让MINIMOSD多个功能——辅助通道及航行状态灯 舵机,飞控,DIY,固件,多轴 作者:Guc 3911
楼主是真懂的人,像楼主学习!

谢谢顶帖[GUC  DIY ]让MINIMOSD多个功能——辅助通道及航行状态灯 舵机,飞控,DIY,固件,多轴 作者:Guc 8816
 楼主| 发表于 2018-1-1 14:08:54 | 显示全部楼层
你好,明天 发表于 2017-12-29 20:07 [GUC  DIY ]让MINIMOSD多个功能——辅助通道及航行状态灯 舵机,飞控,DIY,固件,多轴 作者:Guc 3049
osd也玩得这么6,也是厉害了

谢谢顶帖[GUC  DIY ]让MINIMOSD多个功能——辅助通道及航行状态灯 舵机,飞控,DIY,固件,多轴 作者:Guc 2454
发表于 2018-1-1 21:04:15 | 显示全部楼层
这个没试过,只是micro mini osd 至今电压没有变化。论坛上找了好多全是CF的可我是OP的真是没办法了[GUC  DIY ]让MINIMOSD多个功能——辅助通道及航行状态灯 舵机,飞控,DIY,固件,多轴 作者:DD2005 569
发表于 2018-1-3 00:01:15 | 显示全部楼层
感谢Guc老师的教程,现在还专门把其他教程的链接发在下面,点赞!我觉得要是能让指示灯显示磁罗盘的状态也很好,因为我觉得apm很多次出事故都与磁罗盘有关,(虽然说最好的办法是带数传和手机/电脑)比如我之前飞四轴,开始能定位,过一会飞机就开始绕圈了,下降时也是螺旋下降,以及使用无头模式,飞机最后飞行的方向会与开始定义的差别很大。
我觉得对飞机比较重要的是1加速度计状态 2罗盘健康状态 3GPS状态
 楼主| 发表于 2018-1-3 07:13:24 | 显示全部楼层
西柚西柚2014 发表于 2018-1-3 00:01 [GUC  DIY ]让MINIMOSD多个功能——辅助通道及航行状态灯 舵机,飞控,DIY,固件,多轴 作者:Guc 6552
感谢Guc老师的教程,现在还专门把其他教程的链接发在下面,点赞!我觉得要是能让指示灯显示磁罗盘的状态也 ...

我看看,把罗盘状态也加进去
发表于 2018-1-26 15:38:17 | 显示全部楼层
好详细,顶上去
回复 支持 反对

使用道具 举报

发表于 2018-2-11 16:32:17 | 显示全部楼层
牛币
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|关于模吧|APP下载|广告报价|小黑屋|手机版|企业会员|商城入驻|联系我们|模吧 ( 冀公网安备13080502000084号 )

© 2013-2020 Moz8.com 模吧,玩出精彩!