🍓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汽车

源代码

🏈指点迷津 | Brief

Last updated