---
description: 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（）函数，我可以轻松地将它们转换。

### 源代码

{% content-ref url="../zhi-dian-mi-jin-brief" %}
[zhi-dian-mi-jin-brief](../zhi-dian-mi-jin-brief)
{% endcontent-ref %}
