HE-38G 8通道编程接收板(高性能舵机板)(遥控距离100-200米(空旷环境),独立信道,互不干扰,带按键帽,更好用,可同时遥控两个电机输出和两个SG90舵机旋转,舵机转向角度可定制)
遥控器工作电压:3V
接收器工作电压:4.5-9V
信道模式:独立信道,互不干扰
遥控距离:100-200米
马达驱动输出功率:持续输出 7.4V|2A; 最大输出9V2.5A
接口类型:电源接口XH2.54母端,电机接口PH2.0母端安装孔参数:孔径3.2mm
应用场景:用于DIY制作无线遥控车、船、机器人、机械装置等
1、遥控器与接收板配对方式:先给接收板通电,再给遥控器通电并打开开关,当配对信号灯不闪后则配对成功。
(1)首先安装下载器驱动
下载器采用CH340C串口USB芯片与电脑联机,在联机之前您需要安装CH340C串口USB芯片驱动程序。
USB驱动程序: 点击下载
接下来,我们将介绍下载器的驱动安装。驱动程序安装在不同的计算机系统中可能略有不同。因此,在下文中,让我们继续进行WIN 10系统中的驱动程序安装。
注意:每台电脑分配的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)
详情见下图:
添加附加开发板管理器网址
然后就在顶部“工具”-“开发板”-“开发板管理器”里面
搜索“air”就能找到air001了
然后把数据线和开发板接好,同时下载器也要插对方向,注意千万不要插反,参考下图。
最后就是就是漫长的下载过程,等待下载结束之后就能使用arduino给air001写程序了。
注意:以防万一上述步骤不可用。可以离线下载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端口反转(根据实际使用为准,不同电机可能存在差异) } }