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

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

【代码奉上】精灵2 改装乐天电调 自制LED状态指示灯

[复制链接]
跳转到指定楼层
楼主
发表于 2015-2-15 14:32 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 crazyboyyy 于 2015-3-12 10:56 编辑

乐天20A 比原厂电调更轻 兼容性更好

led状态指示问题
用arduino做了个原厂电调点灯协议的解析
效果不错
再也不用买原厂1xx多的电调了



int pin = 7;
int red = 2;
int green = 3;
int blue = 5;
unsigned long duration;

void setup()
{
  Serial.begin(38400); // Open serial connection to report values to host
  Serial.println("Starting up");
  pinMode(pin, INPUT);
  pinMode(red, OUTPUT);
  pinMode(green, OUTPUT);
  pinMode(blue, OUTPUT);
}

void loop()
{
  //digitalWrite(blue,HIGH);
  //digitalWrite(green,HIGH);
  duration = pulseIn(pin, HIGH);
  Serial.print(duration);
  Serial.print("\n");
// if ( duration > 380 && duration <480 ) YELLOW
  //if ( duration > 280 && duration <380 )//GREEN
  if ( duration > 180 && duration <280 )//RED
  {
    digitalWrite(red, HIGH);
  }
  else
  {
    digitalWrite(red, LOW);
    if ( duration > 280 && duration <380 )//GREEN
    {
    digitalWrite(green, HIGH);
    }
    else
    {
      digitalWrite(green, LOW);
      if ( duration > 380 && duration <480 ) //YELLOW
      {
      digitalWrite(blue, HIGH);
      }
      else
      {
      digitalWrite(blue, LOW);
      }
    }
  }

}






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

沙发
发表于 2015-2-21 22:36 | 只看该作者
求具体的 改装方法

3
发表于 2015-2-24 18:36 | 只看该作者
能提供一下改造方法不?
4
发表于 2015-2-25 11:52 | 只看该作者
同求改造方法啊
5
 楼主| 发表于 2015-2-26 21:55 | 只看该作者
QQ哥 发表于 2015-2-25 11:52
同求改造方法啊

闪灯信号由单独一路1khz的pwm控制,不同频率代表不同颜色,精灵中心板电调插口有一个针是这个信号,用arduino编个简单的采集占空比再对应点三种灯的程序 ,就行了

过两天回国把代码发出来,没在手上
来自苹果客户端来自苹果客户端
6
发表于 2015-2-27 14:24 | 只看该作者

7
发表于 2015-2-27 14:25 | 只看该作者


8
 楼主| 发表于 2015-3-12 10:56 | 只看该作者
QQ哥 发表于 2015-2-25 11:52
同求改造方法啊

下面是arduino的程序,中心板四个电调接口口其中各有一个管脚输出控制亮灯的pwm,
根据不同脉冲宽度点亮不同颜色的灯。
int pin = 7;
int red = 2;
int green = 3;
int blue = 5;
unsigned long duration;

void setup()
{
  Serial.begin(38400); // Open serial connection to report values to host
  Serial.println("Starting up");
  pinMode(pin, INPUT);
  pinMode(red, OUTPUT);
  pinMode(green, OUTPUT);
  pinMode(blue, OUTPUT);
}

void loop()
{
  //digitalWrite(blue,HIGH);
  //digitalWrite(green,HIGH);
  duration = pulseIn(pin, HIGH);
  Serial.print(duration);
  Serial.print("\n");
// if ( duration > 380 && duration <480 ) YELLOW
  //if ( duration > 280 && duration <380 )//GREEN
  if ( duration > 180 && duration <280 )//RED
  {
    digitalWrite(red, HIGH);
  }
  else
  {
    digitalWrite(red, LOW);
    if ( duration > 280 && duration <380 )//GREEN
    {
    digitalWrite(green, HIGH);
    }
    else
    {
      digitalWrite(green, LOW);
      if ( duration > 380 && duration <480 ) //YELLOW
      {
      digitalWrite(blue, HIGH);
      }
      else
      {
      digitalWrite(blue, LOW);
      }
    }
  }

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

本版积分规则

关闭

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

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