×

用Magicbit核心开发板制作简单的雷达系统

消耗积分:0 | 格式:zip | 大小:0.23 MB | 2022-11-15

远不及你

分享资料个

描述

在本教程中,我们将学习如何使用 Magicbit 核心开发板制作简单的雷达系统。为此,我们使用 HC-SR04 超声波传感器并显示数据,我们使用处理环境。让我们开始吧。

 

理论与方法论

首先,让我们讨论一下这是如何工作的。原理很简单。首先,我们将传感器围绕垂直轴连续旋转 180 度。在该运动中,我们从各个角度从超声波传感器获取到最近物体的距离数据。对于这个过程,我们使用 Magicbit 核心板。之后,我们必须建立与处理环境的连接以显示我们的数据。因此我们使用具有合适波特率的串行通信协议。然后我们使用处理IDE设计我们的雷达系统接口在那个 IDE 中,我们配置串行通信以通过串行获取实时数据。因此,我们与 Magicbit 进行实时通信,并显示从 Magicbit 发送到处理 IDE 的数据。

硬件设置

对于这个项目,我们主要使用了三个硬件组件。它们是Magicbit、伺服电机和超声波传感器。所有这些部分之间的连接如下图所示。

pYYBAGNxiSeADvemAAEImHOulF0816.png
 

超声波传感器使用 3.3 v 供电。因此我们使用Magicbit板的右下端口将超声波传感器连接到Magicbit。但是伺服电机使用5V才能正常工作,因此我们使用左下端口将伺服电机与Magicbit连接在这种情况下,我们使用魔位伺服连接器模块但如果你没有那个模块,你可以使用三根跳线连接 5V 到 5V,Gnd 到 Gnd,信号引脚连接到 Magicbit 上的 26 引脚。

 
 

构建电路后,我们需要构建小型机械部件。使用小螺母将单侧伺服连接器设置为伺服电机。然后使用一些 L 形支架或适当的方式将传感器固定在该连接器上。在整个系统之后,我们固定在面包板上。但是您可以使用其他表面来安装伺服和 Magicbit。

软件设置

软件方面有点复杂。为了正确理解,

让我们看看 Arduino IDE 代码以及该代码是如何工作的。

pYYBAGNxiS2ATmTkAAGnzhINItM299.png
 

对于驱动伺服,我们使用 ESP32 伺服库。该库几乎包含在 Arduino IDE 中的魔术位板管理器中。为了处理超声波传感器,我们使用 newPing 库。

下载 zip 文件,然后转到工具>包含库>在 Arduino 中添加 Zip 库。现在选择您下载的新引脚库的 zip 文件。为了与处理进行通信,我们使用了 115200 波特率的串行通信。这是 ESP32 最合适的频率。在每个角度,我们都使用此协议将数据发送到计算机。该数据包括距传感器最近的前方物体的距离、旋转方向和旋转角度。使用两个 for 循环,我们在两个方向上旋转我们的伺服。当旋转一度时,我们发送了 4 次串行数据。其原因您可以在处理部分说明中理解。

poYBAGNxiTCAChwEAAGicQ0wlV8652.png
 

现在是时候看看处理环境了。这是基于java的编程软件。我们可以在处理IDE的这个草图中编写我们的程序草图。我们还可以通过运行我们的程序来生成视觉输出。您也可以将输出作为 2D 和 3d 对象。不仅如此,它还可以用于图像处理等等。

在处理草图中,我们首先使用简单的图形函数设计我们的数据显示界面。在代码开始时,我们通过包含串行库来建立串行通信。在设置功能中,您必须根据用于将 Magicbit 与计算机连接的 USB 端口进行一些更改。当您设置 Arduino IDE 以上传代码时,您可以使用 Arduino IDE 检查您的端口。然后在处理草图的设置部分更改 com 端口名称。当串口数据可用时,自动触发 Serialevent 函数。因此,代码的主要逻辑包含在串行事件中,以防止角度和数据丢失。当有新数据可用时,我们根据我们的角度在屏幕上画一条线。此时如果没有检测到物体,那么整线是绿色的。如果不是,则根据传感器到物体的距离,线的某些部分将变为红色。同样根据旋转方向,我们在该线附近绘制另外 200 条线,绿色水平降低。在每个 Main 之间,我们有 0.25 度的差异。因此,我们在每度旋转中一次从 Magicbit 获得 4 个读数。因此,我们可以在屏幕上创建漂亮的搜索手。

将代码成功上传到魔术并成功设置硬件部分后,打开处理IDE并通过单击运行按钮运行代码。现在你有了非常简单的雷达系统。

您可以根据需要自定义代码。

故障排除。

处理草图未运行。

  • 等一段时间。因为启动时间取决于您的 PC 和 GPU 性能。
  • 检查处理草图上的串行端口号是否正确。
  • 检查 USB 连接是否正确固定。
  • 检查超声波传感器和 Magicbit 之间的连接。
  • 打开串行监视器并检查数据是否来自 Arduino。如果不是,那么问题出在您的 Arduino 代码或 USB 连接上。

伺服不工作

  • 检查 USB 连接是否正确固定
  • 检查接线
  • 检查伺服是否状况良好。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !