🍓Arduino蓝牙小车

Arduino | 蓝牙

在本教程中,我们将学习如何无线控制上一个视频中制作的Arduino机器人汽车。 我将向您展示三种不同的无线控制方法,分别使用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应用程序控制Arduino机器人车

接下来,让我们看看如何使用定制的Android应用程序控制Arduino机器人车。机器人小车的电路原理图与前面的示例完全相同,只是将HC-05蓝牙模式设置为从设备。

图略

另一方面,使用MIT App Inventor在线应用程序,我们将构建自己的Android应用程序,外观如下。

因此,基本上,该应用程序模拟了操纵杆,其外观由两个图像或图像精灵组成。

如果我们看一下该应用程序的块,我们可以看到,拖动操纵杆精灵时,操纵杆球的图像将移动到我们手指的当前位置,同时我们将X和Y发送 值通过蓝牙连接到Arduino汽车。

Arduino使用Serial.read函数以与上一示例相同的方式接受这些值。

我们在此还需要做的是将智能手机接收到的X和Y值转换为0到1023的范围,适用于下面的电机控制代码。 这些值取决于画布的大小,我从应用程序中获得的X和Y值从60到220,使用map()函数,我可以轻松地将它们转换。

源代码

🏈指点迷津 | Brief

Last updated