本文,将向您展示如何使用红外测距传感器和伺服电机来创建DIY微型雷达,以及如何使用streamlit仪表板实时可视化结果。
硬件设计
首先,我们将使用Arduino Uno开发板从Sharp距离测量传感器读取距离值。随后,我们将使用双面胶带将传感器安装到伺服电机的臂上,并如下图所示连接接线。
接线图
连接传感器和伺服器后,继续将以下程序上传到Arduino。
sketch
请注意,根据您使用的传感器和电源电压,您可能需要重新校准传感器。 电流传感器可以读取20–150cm之间的值,如有必要,可以通过读取已知距离的传感器测量值并使用该值来推导新的方程式,以实验方式重新校准电动机。
要验证Arduino和传感器是否按预期工作,请打开串行监视器(“工具”>“串行监视器”),以确保值已记录并通过串行端口发送,如下所示。
Python
现在,Arduino,传感器和伺服器正在工作并将值发送到串行端口,我们需要使用Python获取读数以生成雷达仪表板。 要通过串行USB连接将Python脚本与Arduino接口,我们需要下载并安装所需库文件。 键入以下命令:
为了生成图形用户界面,我们可以在其中可视化仪表板并与之交互,我们将使用Streamlit。 这个高度通用的Web框架使您可以快速将应用程序开发和部署到Web服务器,或者在浏览器中本地运行它们。 为了显示传感器读数的雷达图,我们将使用Plotly。 这是JavaScript高度互动的数据可视化框架的Python绑定,可让您触手可及地呈现出动态的视觉效果。
通过将以下源代码保存在本地目录中来进行操作:
上面的代码将启动与Arduino的连接,然后将不断从串行端口读取雷达位置和传感器值,直到提示停止。它还将不断渲染和更新雷达图。
本文完整代码
详情参阅 - 亚图跨际