BLE - V7RC Car
材料准备
- AmebaD [ AMB23 / AMB21 / AMB22 / BW16 / AW-CU488 Thing Plus / AMB25 / AMB26] x 1
- Android / iOS 手机 x1
- L9110S 伺服电机控制器 x1
- TT 马达 x2
范例说明
介绍
在此示例中,我们将使用 AmebaD 作为 BLE 外围设备和伺服电机控制器与 V7RC 行动应用程式进行通信。 V7RC是一款遥控器APP,提供两种控制UI:第一种是2通道遥控的遥控车,另一种则是4通道遥控的坦克和推土机。
流程
1. 建立蓝牙连接
打开使用V7RC通过BLE遥控小车的范例, “Files” -> “Examples” -> “AmebaBLE” -> “BLEV7RC_CAR”:
上传程式码,上传完成后按重置按钮。
打开V7RC APP,选择「控制中心」:
在「连结方式」中选择「蓝牙」:
在「蓝牙装置」中选择 AMEBA_BLE_DEV 并按下「连结」按钮连接到 Ameba :
打开Arduino串行监视器,您应该会看到AmebaD已成功连接到手机APP的日志:
返回 V7RC 主页,您可以监控移动下图所示的两个控制器按钮时收到的日志列印数据。成功接收数据,表明已建立BLE连接:
2. 连结伺服电机
在成功使用蓝牙将Ameba开发板连结到手机后,我们将使用两组伺服电机来控制汽车的运动 (左轮和右轮)。首先,两组伺服电机将使用预定义的MotoA_1A、MotoA_1B、MotoA_1B和MotoA_1B引脚连接到 L9110S 伺服控制器。
– 1A 引脚连接到开发板的GPIO引脚,用于控制电机方向
– 1B 引脚连接到开发板的PWM引脚,用于控制电机速度
#define MotoA_1A 6 // 控制电机A向前(HIGH)/向后(LOW)
#define MotoA_1B 12 // 控制电机A的速度 0~255,或停止(低)
#define MotoB_1A 2 // 控制电机B向前(HIGH)/向后(LOW)
#define MotoB_1B 3 // 控制电机B的速度 0~255,或停止(低)
在此示例中,我们将使以 BW16 为例进行演示。详细的连接引脚图可以在下面找到。连接完成后,用户可以通过 V7RC 应用程式的蓝牙功能远端控制伺服电机。
程式码说明
ParseCMDString(String cmd) 是一个用户自定义的函数。它将字符串“cmd”作为输入并对其进行处理。目前,V7RC App 有 6 个可用的命令,分别是:“SS2”、“SS4”、“SRT”、“SR2”和“SRV”。