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

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

openlrs接收机diy

[复制链接]
跳转到指定楼层
楼主
发表于 2014-6-19 19:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天刚照这个帖子:http://bbs.5imx.com/bbs/forum.php?mod=viewthread&tid=937508&highlight=openlrs还有这个http://www.rcgroups.com/forums/showthread.php?t=2114859
做了个openlrs的接收机。具体过程那些就不说了,参考上两个帖子。
因为那两个帖子都没说到具体的各个通道的输出对应的arduino的针脚,所以我来发这个帖子说下方便其他想diy的模友。
通道号——arduino针脚(未修改设置时的默认值)
1 通道——D9
2 通道——A4
3 通道——D3
4 通道——A5
5 通道——A0
6 通道——A1
7 通道——D0(RX)
8 通道——D1(TX)

从openlrs的接收机设置页面看,这样diy的接收机1通道可以改为PPM输出,然后8通道(TX)可以输出DSM2的卫星接收机信号、或者Futaba的Sbus信号。
PPM我自己已测试,明天上班再试试卫星和Sbus

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

沙发
发表于 2014-6-19 20:26 | 只看该作者
太牛了。
3
发表于 2014-6-19 20:41 | 只看该作者
牛人办牛事呀
4
发表于 2014-6-19 21:35 | 只看该作者
试过距离能有多远
5
发表于 2014-6-24 19:49 | 只看该作者
谢谢分享!
6
 楼主| 发表于 2014-6-27 15:54 | 只看该作者
7
发表于 2015-1-14 11:17 | 只看该作者
这个得顶,找了半天了,都没找到这个资料,感谢楼主的无私分享
8
发表于 2015-1-14 11:32 | 只看该作者
貌似在HARDWARE.H里找到了相关代码


#else
// RX operation
#define PPM_OUT 9 // OCP1A
#define RSSI_OUT 3 // PD3 OC2B

#define PWM_1 9 // PB1 - also PPM
#define PWM_2 A4 // PC4 - also SDA
#define PWM_3 3 // PD3 - also RSSI
#define PWM_4 A5 // PC5 - also SCL
#define PWM_5 A0 // PC0
#define PWM_6 A1 // PC1

#define OUTPUTS 8 // outputs available

const pinMask_t OUTPUT_MASKS[OUTPUTS] = {
  {0x02,0x00,0x00}, {0x00,0x10,0x00}, {0x00,0x00,0x08},// CH1/PPM, CH2/SDA, CH3/RSSI
  {0x00,0x20,0x00}, {0x00,0x01,0x00}, {0x00,0x02,0x00},// CH4/SCL, CH5/AIN, CH6/AIN,
  {0x00,0x00,0x01}, {0x00,0x00,0x02},                  // CH7/RXD, CH8/TXD - only on 6ch

};

#define PPM_OUTPUT 0
#define RSSI_OUTPUT 2
#define ANALOG0_OUTPUT 1 // actually input
#define ANALOG1_OUTPUT 3 // actually input
#define ANALOG0_OUTPUT_ALT 4 // actually input
#define ANALOG1_OUTPUT_ALT 5 // actually input
#define SDA_OUTPUT 1
#define SCL_OUTPUT 3
#define LLIND_OUTPUT 5
#define RXD_OUTPUT 6
#define TXD_OUTPUT 7

const uint8_t OUTPUT_PIN[OUTPUTS] = { 9, A4, 3, A5, A0, A1, 0, 1};

struct rxSpecialPinMap rxSpecialPins[] = {
  { 0, PINMAP_PPM},
  { 1, PINMAP_SDA},
  { 1, PINMAP_ANALOG}, // AIN0
  { 2, PINMAP_RSSI},
  { 2, PINMAP_LBEEP},
  { 3, PINMAP_SCL},
  { 3, PINMAP_ANALOG}, // AIN1
  { 4, PINMAP_ANALOG},
  { 5, PINMAP_ANALOG},
  { 5, PINMAP_LLIND},
  { 6, PINMAP_RXD},
  { 7, PINMAP_TXD},
  { 7, PINMAP_SPKTRM},
  { 7, PINMAP_SBUS},
  { 7, PINMAP_SUMD},
};

大神你是多么牛啊,这都能找到,我没系统的学过C语言,就看过一本“爱上ARDUINO”的书,有些定义看不很懂,像CH1,也就是D9,同时也是PPM,系统是如何判断到底输出通道信号还是PPM信号的,代码在哪一段呢?
9
 楼主| 发表于 2015-2-4 20:10 | 只看该作者
longplayer 发表于 2015-1-14 11:32
貌似在HARDWARE.H里找到了相关代码

sorry,这么晚才回.一般是在设置软件里面.就是以chrome浏览器为运行基础的那个
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

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

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