帮助文档

HE-38G 8通道编程接收板(高性能舵机版)

目 录 (点击目录列表可以跳转到相应位置)

  1. 介绍

1、介绍 点这里回到目录

HE-38G 8通道编程接收板(高性能舵机板)(遥控距离100-200米(空旷环境),独立信道,互不干扰,带按键帽,更好用,可同时遥控两个电机输出和两个SG90舵机旋转,舵机转向角度可定制)

遥控器工作电压:3V

接收器工作电压:4.5-9V

信道模式:独立信道,互不干扰

遥控距离:100-200米

马达驱动输出功率:持续输出 7.4V|2A; 最大输出9V2.5A

接口类型:电源接口XH2.54母端,电机接口PH2.0母端安装孔参数:孔径3.2mm

应用场景:用于DIY制作无线遥控车、船、机器人、机械装置等

HE-38G 8通道编程接收板(高性能舵机版)

HE-38G 8通道编程接收板(高性能舵机版)


2、产品尺寸 点这里回到目录


2、配对方法 点这里回到目录

1、遥控器与接收板配对方式:先给接收板通电,再给遥控器通电并打开开关,当配对信号灯不闪后则配对成功。


3、使用电脑和下载器调整舵机转动角度 点这里回到目录

(1)首先安装下载器驱动

下载器采用CH340C串口USB芯片与电脑联机,在联机之前您需要安装CH340C串口USB芯片驱动程序。

USB驱动程序: 点击下载

接下来,我们将介绍下载器的驱动安装。驱动程序安装在不同的计算机系统中可能略有不同。因此,在下文中,让我们继续进行WIN 10系统中的驱动程序安装。

  1. 将 USB 电缆的一端插入下载器Type-C接口上,另一端插入计算机上的 USB 插座。首次将下载器连接到计算机时,右键单击“此电脑”的图标(>对于“属性”),>单击“设备管理器”,在“其他设备”下,您应该会看到一个“未知设备”图标,旁边有一个黄色的小警告三角形。这是你的下载器。
    安装Arduino IDE编程软件和uno开发板驱动(Windows)

  2. 打开下载好的CH341SER-Driver驱动包,鼠标双击SETUP或SETUP.EXE运行安装,如果安装出现安全提示,请选择“是”

    安装Arduino IDE编程软件和uno开发板驱动(Windows)
  3. 点击安装,如果出现Window安全界面,只需继续单击 安装 即可完成安装。

    安装Arduino IDE编程软件和uno开发板驱动(Windows)

  4. 安装完成。

    安装Arduino IDE编程软件和uno开发板驱动(Windows)

  5. 驱动安装完成后,然后你可以右键单击“此电脑”—>“属性”—>“设备管理器”,您应该看到如下图所示的设备。

    安装Arduino IDE编程软件和uno开发板驱动(Windows)

注意:每台电脑分配的COM口的序号不一样,本演示电脑分配的是COM3,您的电脑可能是其他序号,请以您电脑实际分配的序号为准。

(2)下载及安装 Arduino IDE 编程环境

官方下载网站:https://www.arduino.cc/en/software

Arduino IDE 2.3.2 :https://downloads.arduino.cc/arduino-ide/arduino-ide_2.3.2_Windows_64bit.exe 点击链接下载

(3)配置环境(Arduino 1.8.15 演示,2.0以上版本也类似)

先打开arduino,左上角“首选项”-里找到附加开发板管理器网址,点开之后把这串网址复制进去就可以了

其它开发板管理器地址中输入AirMCU的地址 https://arduino.luatos.com/package_air_cn_index.json
(海外用户使用https://github.com/Air-duino/Arduino-pack-json-ci/releases/download/Nightly/package_air_index.json

详情见下图:

合宙Air001开发板

添加附加开发板管理器网址
然后就在顶部“工具”-“开发板”-“开发板管理器”里面

合宙Air001开发板
搜索“air”就能找到air001了

合宙Air001开发板

然后把数据线和开发板接好,同时下载器也要插对方向,注意千万不要插反,参考下图。

HE-38G 8通道编程接收板(高性能舵机版)

最后就是就是漫长的下载过程,等待下载结束之后就能使用arduino给air001写程序了。

HE-38G 8通道编程接收板(高性能舵机版)

注意以防万一上述步骤不可用。可以离线下载air001的json文件点击下载

(4)程序下载

舵机调整程序:点击下载

下载后解压,使用Arduino IDE 打开,注意:本程序仅仅作为调试参考代码,每次只能一个按键控制一个端口,需要指定按键控制指定端口,修改电机转速,控制舵机,同时控制多个电机等等请自行修改代码,要求都能实现。

#include <Servo.h>

Servo servo1;                     // 创建舵机对象

int servoPin1 = PB6; // 舵机引脚为PB6
int neutralPosition = 90;        // 中立位置角度
int KEY1 = PA13;  //遥控器 KEY1按键
int KEY2 = PA14;  //遥控器KEY2按键
int KEY3 = PB3;  //遥控器 KEY3按键
int KEY4 = PA1;  //遥控器KEY4按键
int KEY5 = PA0;  //遥控器 KEY5按键
int KEY6 = PB1;  //遥控器KEY6按键
int KEY7 = PF0;  //遥控器 KEY7按键
int KEY8 = PF1;  //遥控器KEY8按键
void setup() {
 servo1.attach(servoPin1); // 将舵机连接到舵机引脚
  pinMode(KEY1, INPUT);
  pinMode(KEY2, INPUT);   
  pinMode(KEY3, INPUT);          // 将8个按键引脚设置为输入模式
  pinMode(KEY4, INPUT);
  pinMode(KEY5, INPUT);
  pinMode(KEY6, INPUT);  
  pinMode(KEY7, INPUT);
  pinMode(KEY8, INPUT);          
  
pinMode(PA2, OUTPUT); // 将四组电机口引脚设置为输出模式
pinMode(PA3, OUTPUT); //
pinMode(PB2, OUTPUT); //
pinMode(PB0, OUTPUT); //
pinMode(PA4, OUTPUT); //
pinMode(PA7, OUTPUT); //
pinMode(PA5, OUTPUT); //
pinMode(PA6, OUTPUT); //
}

  void B0B2( int x, int y) {
  digitalWrite(PB0,x);
  digitalWrite(PB2,y);//左前轮电机工作状态函数
}


void A7A4(int x, int y) {;//左后轮电机工作状态函数
  digitalWrite(PA7,x);
  digitalWrite(PA4,y);
}
void A2A3( int x, int y) {;//右前轮电机工作状态函数
  
  digitalWrite(PA2,x);
  digitalWrite(PA3,y);
}

void A5A6(int x, int y) {//右后轮电机工作状态函数
  digitalWrite(PA5,x);
  digitalWrite(PA6,y);
  
}
void loop() {
     B0B2(0, 0);//松开按键KEY1、KEY2时,PB0,PB2端口电机停止
     A7A4(0, 0);//松开按键KEY3、KEY4时,PA7,PA4端口电机停止
     A2A3(0, 0);//松开按键KEY5、KEY6时,PA2,PA3端口电机停止
     A5A6(0, 0);//松开按键KEY7、KEY8时,PA5,PA6端口电机停止

if (digitalRead(KEY1) == HIGH) {// KEY1按键检测

     B0B2(1, 0);//PB0PB2端口正转(根据实际使用为准,不同电机可能存在差异)
     
  }
  else if (digitalRead(KEY2) == HIGH) {// KEY2按键检测

     B0B2(0, 1);//PB0PB2端口反转(根据实际使用为准,不同电机可能存在差异)

  }
    else if (digitalRead(KEY3) == HIGH) {// KEY3按键检测

     A7A4(1, 0);//PA7PA4端口正转(根据实际使用为准,不同电机可能存在差异)
  }
  
      else if (digitalRead(KEY4) == HIGH) {// KEY4按键检测

     A7A4(0, 1);//PA7PA4端口反转(根据实际使用为准,不同电机可能存在差异)

  }
      else if (digitalRead(KEY5) == HIGH) {// KEY5按键检测

     A5A6(1, 0);//A2A3端口正转(根据实际使用为准,不同电机可能存在差异)

  }
      else if (digitalRead(KEY6) == HIGH) {// KEY6按键检测

     A5A6(0, 1);//A2A3端口反转(根据实际使用为准,不同电机可能存在差异)

  }
      else if (digitalRead(KEY7) == HIGH) {// KEY7按键检测

     A2A3(1, 0);//PA5PA6端口正转(根据实际使用为准,不同电机可能存在差异

  }
      else if (digitalRead(KEY8) == HIGH) {// KEY7按键检测

     A2A3(0, 1);//PA5PA6端口反转(根据实际使用为准,不同电机可能存在差异)

  }
}