5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)

标题: openlrs接收机diy [打印本页]

作者: 失业中    时间: 2014-6-19 19:19
标题: openlrs接收机diy
今天刚照这个帖子: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


作者: hangzhou163    时间: 2014-6-19 20:26
太牛了。

作者: pamhobby    时间: 2014-6-19 20:41
牛人办牛事呀

作者: ziyee    时间: 2014-6-19 21:35
试过距离能有多远

作者: cyken    时间: 2014-6-24 19:49
谢谢分享!

作者: 失业中    时间: 2014-6-27 15:54
接收机制作过程
http://bbs.5imx.com/bbs/forum.ph ... ;extra=#pid13131775

作者: longplayer    时间: 2015-1-14 11:17
这个得顶,找了半天了,都没找到这个资料,感谢楼主的无私分享

作者: longplayer    时间: 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信号的,代码在哪一段呢?

作者: 失业中    时间: 2015-2-4 20:10
longplayer 发表于 2015-1-14 11:32
貌似在HARDWARE.H里找到了相关代码

sorry,这么晚才回.一般是在设置软件里面.就是以chrome浏览器为运行基础的那个





欢迎光临 5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年) (http://5imx.com./) Powered by Discuz! X3.3