🍓Arduino和Android蓝牙无线远程控制汽车
Arduino | Android | 蓝牙 | 无线 | 远程
将向您展示三种不同的无线控制方法,分别使用HC-05蓝牙模块,NRF24L01收发器模块和HC-12远程无线模块,以及使用智能手机和定制的Android应用程序。
使用HC-05蓝牙模块的Arduino机器人汽车控制
我们将从蓝牙通信开始,为此,我们需要两个HC-05蓝牙模块,这些模块需要配置为主设备和从设备。
我们可以通过使用AT命令轻松地做到这一点,然后将操纵杆设置为主机,将Arduino机器人车设置为从机。这是此示例的完整电路原理图:
源代码
我们将使用与上一教程相同的代码,在该教程中,我们使用操纵杆直接控制Arduino机器人小车,并将对其进行一些修改。
HC-05主代码:
主设备或操纵杆上的代码非常简单。 我们只需要读取操纵杆的X和Y值即可实际调节电动机的速度,然后通过串行端口将其发送到从属HC-05蓝牙设备。 我们在这里可以注意到,通过将操纵杆的模拟值除以4,可以将其从0到1023的模拟值转换为0到255的值。
我们这样做是因为可以通过蓝牙设备将0到255的范围作为1个字节发送,这易于在另一侧或在Arduino机器人汽车上被接受。
因此,在这里,如果串行已接收到2个字节,即X和Y值,则使用Serial.read()函数,我们将同时读取它们。
现在,我们只需要将值转换回0到1023之间的范围即可,适用于下面的电机控制代码,我们已经在上一个视频中解释了它的工作方式。
请注意,在上传代码时,我们需要断开Arduino板的RX和TX引脚。
完整的HC-05从站代码:
Android App控制Arduino汽车
接下来,让我们看看如何使用定制的Android应用程序控制Arduino机器人车。机器人小车的电路原理图与前面的示例完全相同,只是将HC-05蓝牙模式设置为从设备。
另一方面,使用MIT App Inventor在线应用程序,我们将构建自己的Android应用程序,外观如下。
因此,基本上,该应用程序模拟了操纵杆,其外观由两个图像或图像精灵组成。
如果我们看一下该应用程序的块,我们可以看到,拖动操纵杆精灵时,操纵杆球的图像将移动到我们手指的当前位置,同时我们将X和Y发送 值通过蓝牙连接到Arduino汽车。
我们在此还需要做的是将智能手机接收到的X和Y值转换为0到1023的范围,适用于下面的电机控制代码。 这些值取决于画布的大小,我从应用程序中获得的X和Y值从60到220,使用map()函数,我可以轻松地将它们转换。
源代码
无线控制Arduino汽车
源代码
🏈指点迷津 | BriefLast updated