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

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

1、介绍

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

2、模块参数

  • 遥控器工作电压:3V

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

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

  • 遥控距离:100-200米

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

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

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

HE-38G 8通道编程接收板实物图1

HE-38G 8通道编程接收板实物图2

3、配对方法

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

4、使用电脑和下载器调整舵机转动角度   

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

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

USB驱动程序安装教程: 点击跳转

MacOS(苹果系统)CH34X USB串行Mac OS驱动程序的安装说明:点击跳转

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

在开始之前,请确保你已经:

成功安装了 Arduino IDE 软件。 前往https://www.arduino.cc/en/software/选择对应系统版本下载安装

本地安装Air001图1

下载好了 Air001 的开发板支持包文件,通常是一个名为 AirM2M.zip 的压缩文件。

本地安装Air001图2

准备好了吗?让我们开始吧!


第一步:找到 Arduino 的“大本营”并解压文件

我们的第一步,是把 Air001 的支持文件(AirM2M.zip)放到 Arduino IDE 能找到的“家”里。这个“家”在 Arduino IDE 中被称为“项目文件夹”(Sketchbook location)。

打开 Arduino IDE,点击顶部菜单栏的 “文件 (File)”,然后选择 “首选项 (Preferences)”。

本地安装Air001图3

在弹出的“首选项”窗口中,找到 “项目文件夹位置 (Sketchbook location)” 这一项。下面框中的路径,就是我们要找的地址。这个路径通常是 C:\Users\[你的用户名]\Documents\Arduino。

  • 提示:[你的用户名] 指的是你电脑的登录用户名,例如 Administrator, John 等。

本地安装Air001图4

请复制这个路径。然后打开你电脑的“文件资源管理器”(也就是“我的电脑”或“此电脑”),将刚刚复制的路径粘贴到地址栏中,然后按回车键。

本地安装Air001图5

现在,你已经进入了 Arduino 的“大本营”。

  • 新建hardware文件夹:在目录中新建hardware文件夹,如果已经存在则进入该文件夹内。

  • 拷贝并解压文件:将你下载好的 AirM2M.zip 压缩包复制到hardware文件夹内。在 AirM2M.zip 文件上点击右键,选择“解压到当前文件夹”或类似选项。

  • 检查确认:解压完成后,检查目录结构是否正确。

本地安装Air001图6

⚠️ 重要提醒:请确保解压后的路径是正确的,不要出现 ...\Arduino\AirM2M\AirM2M\... 这样的双层嵌套结构,否则 IDE 将无法识别。


第二步:重启 IDE,选择你的 Air001 开发板和端口

万事俱备,只欠东风!现在我们需要让 Arduino IDE 重新认识一下它的新伙伴。

  • 完全关闭 已经打开的 Arduino IDE 软件,然后重新启动它。这一步至关重要,因为 IDE 只在启动时才会加载新的开发板信息。

  • 重启后,依次点击顶部菜单栏的 “工具 (Tools)” -> “开发板 (Board)”。在展开的菜单中,你应该能看到一个新的分类 “Air MCU”。

将鼠标移动到 “Air MCU”上,然后在右侧弹出的菜单中选择 “Air001 Dev Chip”。

本地安装Air001图7
  • 连接你的 Air001 开发板 到电脑的 USB 端口。

检查并选择端口(Port)。 再次点击 “工具 (Tools)” -> “端口 (Port)”。

情况一(正常情况):此时,你应该能看到一个新出现的 COM 端口(例如 COM3, COM4等),这个就是你的 Air001 开发板。请点击选中它。

本地安装Air001图8
  • 提示:如果不确定是哪个端口,可以先拔下开发板,记住当前列表;再插上开发板,查看新出现的是哪个,选它准没错!

  • 情况二(端口未出现)- 关于 CH340 驱动 如果你连接了开发板,但“端口”菜单是灰色的,或者列表中没有新的 COM 端口出现,这通常意味着电脑缺少与开发板通信所需的 CH340 驱动程序。

    别担心! 如果你安装的是官方完整版的 Arduino IDE,这个驱动通常已经自动安装好了。但如果因为某些原因没有装好,手动安装也非常简单。

    👉 请点击跳转到这篇教程,完成 CH340 驱动的安装步骤: CH340/CH341 驱动超详细安装教程(附下载链接) 1

    安装完驱动后,请重新拔插一下你的 Air001 开发板,然后回到这里,再次点击“工具”->“端口”,你应该就能看到正确的 COM 端口了。

至此,你的开发环境已经全部配置完毕!Arduino IDE 已经认识了 Air001,并且知道该通过哪个端口和它“交流”了。


第三步:编译和上传你的程序

是时候验证一下我们的成果了!

  • 在 Arduino IDE新建项目并粘贴或编写好程序代码。

在 IDE 窗口的左上方,你会看到两个按钮:

  • 一个是 对勾 (✓) 按钮,这是 “验证/编译 (Verify)”。

  • 一个是 向右的箭头 (→) 按钮,这是 “上传 (Upload)”。

本地安装Air001图9

首先,点击 对勾 (✓) 按钮 进行编译。等待下方的输出窗口显示“编译完成(Done compiling.)”并且没有红色报错信息。

本地安装Air001图10
  • 确认编译无误后,点击 向右的箭头 (→) 按钮 将程序上传到 Air001 开发板。

当输出窗口显示“上传完成(Done uploading.)”时,恭喜你!程序已经成功烧录!

本地安装Air001图11

遇到问题?

  • 检查第一步的文件夹路径是否完全正确。

  • 检查第二步的开发板和端口是否都已正确选择。(如果端口不出现,请回顾驱动安装部分)

  • 尝试更换 USB 数据线或电脑的 USB 端口。

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

HE-38G 8通道编程接收板实物图3

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

HE-38G 8通道编程接收板ArduinoIDE1

注意:以防万一上述步骤不可用。可以下载教程。点击下载教程

(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端口反转(根据实际使用为准,不同电机可能存在差异)

  }
}