Maverick - 遥控双向通信车:17步(带图片)

Maverick - 遥控双向通信车:17步(带图片)

目录:

Anonim

大家好,我是Razvan,欢迎来到我的“Maverick”项目。

我一直很喜欢遥控器,但我从未有过RC车。所以我决定建立一个比移动更多的东西。对于这个项目,我们将使用附近有电子商店或可以从互联网购买东西的每个人都可以访问的部分。

我目前在船上,我无法使用不同种类的材料和工具,所以这个项目不包括3D打印机,CNC或任何花哨的设备(即使我认为它将非常有用,但我不可以使用更简单的工具来完成这些设备。这个项目简单而有趣。

它是如何工作的?

Maverick是一款RC车,它使用LRF24L01模块从遥控器发送数据和从远程控制器接收数据。

它可以测量他所在区域的温度和湿度,并将数据发送到遥控器以显示在图表上。它还可以测量到周围物体和障碍物的距离,发送要显示的范围信息。

通过按下按钮,它也可以是自主的,并且在这种模式下它将避开障碍物,并且它将决定是否根据超声波传感器所进行的测量来进行。

让我们来建设吧。

供应:

第1步:遥控器所需的部件

- Arduino Micro控制器(我为我的控制器使用了Arduino Uno);

- NRF24L01无线电收发器(它将用于汽车和遥控器之间的双向通信)

- Tower Pro Micro Servo 9g SG90(用于显示来自车辆的数据,它将允许操作员在图表上可视化由汽车传感器测量的参数);

- 操纵杆(用于控制车辆或控制车辆伺服);

- 两种不同颜色的LED(我选择红色和绿色表示操作模式);

- 10microF电容器;

- 2个按钮(用于选择操作模式);

- 各种电阻器;

- 面包板;

- 连接线;

- 纸夹(如图的针);

- 纸箱鞋盒(用于框架)

- 橡皮筋

第2步:Maverick所需的部分

- Arduino微控制器(我用过和Arduino Nano);

- NRF24L01无线电收发器(它将用于汽车和遥控器之间的双向无线通信);

- L298电机驱动器(该模块实际上将驱动汽车的电动机);

- DHT11传感器(温湿度传感器);

- 2个带齿轮和轮子的电动机;

- 超声波传感器HC-SR04(能够检测周围物体并避开障碍物的传感器);

- Tower Pro Micro Servo 9g SG90(允许超声波传感器的方向,以便它可以测量不同方向的范围);

- 白色LED(用于照明我使用了旧的颜色传感器,它烧坏了,但LED仍在工作);

- 10微电容器;

- 面包板;

- 连接线;

- A4夹板作为车辆的框架;

- 旧打印机的一些轮子;

- 一些双面胶带;

- 用于将电机固定到框架上的夹子紧固件;

- 橡皮筋

使用的工具:

- 钳子

- 螺丝刀

- 双层胶带

- 橡皮筋

- 刀具

第3步:关于某些材料的一些细节:

L298模块:

Arduino引脚不能直接连接到电动机,因为微控制器无法应对电动机所需的放大器。所以我们需要将电机连接到一个由Arduino微控制器控制的电机驱动器上。

我们必须能够控制两个方向上移动汽车的两个电动机,因此汽车可以向前和向后移动,也可以转向。

为了完成上述所有工作,我们需要一个H桥,它实际上是一个晶体管阵列,可以控制流向电机的电流。 L298模块就是这样。

该模块还允许我们使用带有两个来自Arduino的PWM引脚的ENA和ENB引脚以不同的速度操作电机,但是对于这个项目,为了节省两个PWM引脚,我们无法控制电机的速度,只有方向如此ENA和ENB引脚的跳线将保持不变。

NRF24L01模块:

这是一种常用的收发器,允许汽车和遥控器之间的无线通信。它使用2.4 GHz频段,可以在250 kbps到2 Mbps的波特率下运行。如果在开放空间中使用且波特率较低,其范围可达100米,这使其非常适合此项目。

该模块与Arduino Micro控制器兼容,但您必须小心从3.3V引脚而不是5V供电,否则可能会损坏模块。

DHT 11传感器:

该模块是一种非常便宜且易于使用的传感器。它提供数字温度和湿度读数,但您需要一个Arduino IDE库才能使用它。它使用电容式湿度传感器和热敏电阻测量周围空气,并在数据引脚上发出数字信号。

第4步:为Maverick设置连接

Maverick连接:

NRF24L01模块(引脚)

VCC - Arduino Nano 3V3

GND - Arduino Nano GND

CS - Arduino Nano D8

CE - Arduino Nano D7

MOSI - Arduino Nano D11

SCK- Arduino Nano D13

MISO - Arduino Nano D12

IRQ未使用

L298N模块(引脚)

IN1 - Arduino Nano D5

IN2 - Arduino Nano D4

IN3 - Arduino Nano D3

IN4 - Arduino Nano D2

ENA - 跳线到位 -

ENB - 跳线到位 -

DHT11

面包板的VCC 5V导轨

面包板的GND GND导轨

S D6

HC-SR04超声波传感器

面包板的VCC 5V导轨

面包板的GND GND导轨

Trig - Arduino Nano A1

Echo - Arduino Nano A2

Tower Pro微型伺服9g SG90

GND(棕色线)面包板的GND导轨

面包板的VCC(红色线)5V导轨

信号(橙色线) - Arduino Nano D10

LED灯 - Arduino Nano A0

面包板

5V导轨 - Arduino Nano 5V

GND导轨 - Arduino Nano GND

最初我在面包板中插入了Arduino Nano,外部有USB连接,以便日后访问。

- Arduino Nano 5V引脚连接到面包板的5V导轨

-Arduino Nano GND引脚连接到面包板的GND轨道

NRF24L01模块。

- 模块的GND进入面包板导轨的GND

- VCC转到Arduino Nano 3V3引脚。小心不要将VCC连接到面包板的5V,因为您有可能损坏NRF24L01模块

- CSN引脚转到Arduino Nano D8;

- CE引脚转到Arduino Nano D7;

- SCK引脚转到Arduino Nano D13;

- MOSI引脚转到Arduino Nano D11;

- MISO引脚转到Arduino Nano D12;

- IRQ引脚不会连接。如果您使用的是与Arduino Nano或Arduino Uno不同的电路板,请注意,SCK,MOSI和MISO引脚会有所不同。

- 我还在VCC和模块的GND之间连接了一个10μF电容,以避免模块电源出现问题。如果您在最小功率下使用模块,这不是强制性的,但正如我在互联网上阅读的那样,很多项目都存在问题。

- 您还需要下载此模块的RF24库。您可以在以下站点找到它:http://github.com/tmrh20/rf24/

L298N模块

- 对于ENA和ENB引脚,我将跳线连接起来,因为我不需要控制电机的速度,以便在Arduino Nano上省去两个PWM数字引脚。所以在这个项目中,电机总是以全速运转,但最后由于电机的齿轮,车轮不会旋转到快速。

- IN1引脚转到Arduino Nano D5;

- IN2引脚转到Arduino Nano D4;

- IN3引脚转到Arduino Nano D3;

- IN4引脚转到Arduino Nano D2;

- 电池的+将进入12V插槽;

- 电池的 - 将进入GND插槽,并进入面包板的GND导轨;

- 如果您使用功能强大的电池(最大12V),您可以从5V插槽向Vin引脚提供Arduino Nano,但我只有9V电池,因此我只使用一个用于电机,一个用于为Arduino Nano供电传感器。

- 两个电机将连接到模块右侧和左侧的插槽。最初无论您如何连接它们都可以在以后从Arduino代码进行调整,或者仅在我们测试车辆时切换它们之间的电线。

DHT11模块

- 模块引脚完美贴合在面包板上。所以 - 引脚转到GND轨道。

- 信号引脚转到Arduino Nano D6;

- VCC引脚位于5V面包板导轨上。

HC-SR04超声波传感器模块

- VCC引脚连接到面包板的5V导轨;

- 面包板GND轨的GND引脚;

- Arduino Nano A1的Trig引脚;

- Arduino Nano A2的Echo引脚;

- 超声波模块将通过双带或/和一些橡皮筋连接到伺服电机,以便能够测量与车辆纵向不同角度的距离。当在自主模式下,车辆将测量右侧的距离,而不是左侧,他将决定转向的位置。此外,您还可以控制伺服系统,以便找到与车辆不同方向的不同距离。

Tower Pro微型伺服9g SG90

- 面包板GND轨的棕色线

- 红色线连接到面包板的5V导轨

- Arduino Nano D10的橙色线;

LED

- LED将由A0引脚供电。我使用了一个旧的颜色传感器,它已烧坏,但LED仍在工作,其中4个在小板上,非常适合照亮车辆的方式。如果您只使用一个LED,则应使用330Ω电阻与LED串联而不会烧坏它。

祝贺车辆连接完成。

第5步:Maverick远程连接:

NRF24L01模块(引脚)

VCC - Arduino Uno引脚3V3

GND - Arduino Uno引脚GND

CS - Arduino Uno引脚D8

CE - Arduino Uno引脚D7

MOSI - Arduino Uno引脚D11

SCK - Arduino Uno引脚D13

MISO - Arduino Uno引脚D12

IRQ未使用

游戏杆

面包板的GND GND导轨

面包板的VCC 5V导轨

VRX - Arduino Uno引脚A3

VRY - Arduino Uno pin A2

Tower Pro微型伺服9g SG90

GND(棕色线)面包板的GND导轨

面包板的VCC(红色线)5V导轨

信号(橙色线) - Arduino Uno引脚D6

红色LED - Arduino Uno pin D4

绿色LED - Arduino Uno pin D5

自主按钮 - Arduino Uno pin D2

范围按钮 - Arduino Uno pin D3

面包板

5V Rail - Arduino Uno引脚5V

GND Rail - Arduino Uno引脚GND

因为我正在使用Arduino Uno的控制器,所以我将Uno连接到带有一些橡皮筋的面包板上以便不移动。

- Arduino Uno将通过千斤顶由9V电池供电;

- Arduino Uno 5V引脚连接到面包板的5V导轨;

-Arduino Uno GND引脚连接到面包板的GND轨道;

NRF24L01模块。

- 模块的GND进入面包板导轨的GND

- VCC转到Arduino Uno 3V3引脚。小心不要将VCC连接到面包板的5V,因为您有可能损坏NRF24L01模块

- CSN引脚转到Arduino Uno D8;

- CE引脚转到Arduino Uno D7;

- SCK引脚转到Arduino Uno D13;

- MOSI引脚转到Arduino Uno D11;

- MISO引脚转到Arduino Uno D12;

- IRQ引脚不会连接。如果您使用的是与Arduino Nano或Arduino Uno不同的电路板,请注意,SCK,MOSI和MISO引脚会有所不同。

- 我还在VCC和模块的GND之间连接了一个10μF电容,以避免模块电源出现问题。如果您在最小功率下使用模块,这不是强制性的,但正如我在互联网上阅读的那样,很多项目都存在问题。

操纵杆模块

- 操纵杆模块由2个电位器组成,因此与连接非常相似;

- GND引脚连接到面包板的GND轨道;

- VCC引脚连接到面包板的5V导轨;

- VRX引脚连接到Arduino Uno A3引脚;

- VRY引脚连接到Arduino Uno A2引脚;

Tower Pro微型伺服9g SG90

- 面包板GND轨的棕色线

- 红色线连接到面包板的5V导轨

- Arduino Uno D6的橙色线;

LED

- 红色LED将与330Ω电阻串联连接到Arduino Uno引脚D4;

- 绿色LED将与一个330Ω电阻串联连接到Arduino Uno引脚D5;

按按钮

- 按钮将用于选择车辆运行的模式;

- 自动按钮将连接到Arduino Uno的D2针脚。应使用1k或10k电阻下拉按钮,该值不重要。

- 范围按钮将连接到Arduino Uno的D3针脚。应使用1k或10k电阻下拉相同的按钮。

这就是我们现在连接所有电气部件。

第6步:构建远程控制器框架

遥控器的框架实际上是由纸箱鞋盒制成的。当然,其他材料会做得更好但在我的情况下我可以使用的材料是有限的。所以我用了一个纸箱。

首先,我切割了封面的外侧,并获得了如图所示的三个部分。

接下来,我拿了两个较小的碎片,然后用双胶带将它们粘在一起。

第三个较长的部分将垂直于它们形成“T”形状框架。

上部(水平)部分将用于图形,下部(垂直)部分将用于电气部件,因此所有部分都粘在一起。当我们制作图表时,我们将修剪上部以适合方格纸。

步骤7:为遥控器创建图表

当然,在这一步中,如果你有一个LCD(16,2),那么将会显示车辆提供的数据。但在我的情况下,我没有,所以我必须找到另一种方式来显示数据。

我决定用伺服电机的针头做一个小图表,一个回形针(用作针头),它将显示车辆传感器测量的值和雷达绘图表,或者你可以使用极谱图纸(图纸可以从互联网上下载)。

由传感器测量的参数将以度为单位转换为伺服电机。由于伺服电机的质量不是最好,我将其运动限制在20°到160°(20°表示0测量参数值,160°表示最大参数值,例如可以显示140 cm)。

所有这些都可以从Arduino代码中进行调整。

对于图表,我使用了雷达绘图表,在使用基本的Windows Paint和Snipping Tool对其进行一些修改后,我将其切成两半。

在修改雷达绘图板以适合遥控器后,我绘制了连接绘图板中心和外圈的线条,使读数更容易。

伺服电机转轴必须与绘图板的中心对齐。

我已拉伸并修改了回形针,以便安装伺服电机臂。

然后最重要的是“校准”图形。因此,对于测量的参数的不同值,图的针必须显示正确的角度值。我已经完成了这个切换遥控器和Maverick ON,并使用超声波传感器测量不同的距离,同时从串行监视器获取值,以确保图形指向的是正确的。在伺服的几个重新定位和针的少量弯曲之后,图表显示了适当的参数测量值。

在将所有东西连接到“T”形框架上之后,我打印并用双胶带粘贴模式选择流程图,以免与图形显示的参数混淆。

最后遥控器完成。

第8步:构建Maverick机箱

首先,我要非常感谢我的好朋友Vlado Jovanovic为建造Maverick的底盘,车身和整个车架设计投入时间和精力。

底盘由纸箱剪贴板制成,剪贴板以八角形向前切割形状,经过大量努力,使用刀具是唯一可用的东西。八角形将容纳电子部件。剪贴板支架用作后轮的支撑。

切割板后,用银色胶带(防溅胶带)覆盖,使其看起来更漂亮。

使用双胶带和改进的折叠式紧固件将两个电机如图所示连接。机箱两侧钻有两个孔,允许电机电缆通过,以便到达L298N模块。

步骤9:构建框架的侧面板

如前所述,Maverick的整个外壳都是用纸箱制成的。用切割机切割侧板,测量并精心制作以适合底盘。

一些设计特征已​​被应用于看起来更好,并且金属丝网铆接在面板的内侧部分上用于坦克类似外观。

步骤10:构建框架的前后支撑

前支撑和后支撑的目的是将侧板固定在汽车的前部和后部。前支撑还具有容纳光的目的(在我的情况下是破碎的颜色传感器)。

您可以在附带的图片中找到前后支架的尺寸,以及如何切割支架以及弯曲的位置和侧面以及随后粘合的模板。

步骤11:构建框架的顶盖

顶盖必须将所有内部封闭在内,为了更好的设计,我在船尾侧做了一些线条,以便可以看到车内的电子设备。此外,顶盖也可以拆下以便更换电池。

所有部件都用螺栓和螺母相互连接,如图所示。

步骤12:车身框架的组装

步骤13:将电机安装在机箱上

使用双胶带和改进的折叠式紧固件将两个电机如图所示连接。机箱两侧钻有两个孔,允许电机电缆通过,以便到达L298N模块。

步骤14:将电子设备安装在机箱上

作为电源,我使用两个9V电池作为最适合的一次。但是为了将它们安装在底盘上,我必须制作一个电池座,在汽车移动时将电池保持在适当的位置,并且在需要更换电池时也很容易拆下。因此,我再次用纸箱制作了一个电池座,并用改进的文件夹紧固件将其绑在机箱上。

L298N模块使用4个垫片安装。

面包板使用双层胶带固定在机箱上。

使用双带和一些橡皮筋将超声波传感器连接到伺服电机上。

那么现在所有的电子元件都已到位。

步骤15:将车身框架安装到底盘上

第16步:如何操作特立独行

Maverick可以在4种模式下运行,这将由遥控器上的两个LED指示(红色和绿色)。

1.手动控制(湿度)。最初当车辆开启时,它将处于手动控制状态。这意味着Maverick将在操纵杆的帮助下从遥控器手动控制。两个LED将在遥控器上关闭,表示我们处于手动模式。遥控器图表上显示的值将是Maverick周围空气的湿度。

2.手动控制(温度)。当绿色LED和红色LED都亮时。这意味着Maverick将在操纵杆的帮助下从遥控器手动控制。在此模式下,灯也将打开。遥控器图表上显示的值将是Maverick周围空气的温度,单位为摄氏度。

3.自主模式。按下自动按钮时,红色LED指示灯亮,表示自主模式。在这种模式下,Maverick开始自行移动避开障碍物并根据从超声波传感器接收的信息决定转向的位置。在此模式下,遥控器图表上显示的值将是移动时测量的距离。

4.范围测量模式。按下“范围”按钮时,绿色LED指示灯亮起,表示Maverick处于范围模式。现在,特立独行不会动弹。操纵杆现在将控制连接到超声波传感器的伺服电机。为了测量从车辆到其周围不同物体的范围,只需移动操纵杆并将超声波传感器指向物体。朝向物体的距离值将以cm为单位显示在遥控器图表上。

要打开和关闭Maverick上的LED灯,您必须让遥控器上的两个LED亮起(用于指示灯亮起)或关闭(用于指示灯熄灭)。

第17步:Arduino代码

您可以找到遥控器的代码和附加的Maverick代码。

这就是我的Maverick项目。我希望你喜欢它并感谢观看和投票,如果你喜欢它。