在这个项目中,我将使用 Arduino 和 Python 仅用双手控制 VLC 媒体播放器。继续阅读以了解如何执行此项目。
您的设置必须看起来与上图中的设置有些相似。
红外线跟踪传感器模块
您需要为此项目使用 Python 和 Arduino IDE。在开始这个项目的编码之前,让我引导你安装 Python 软件以及一些重要的 Python 模块。
从这里下载软件。我建议您为您的操作系统下载最新的兼容版本。在这个项目中,我将使用 Python 3.8.1,因为它是目前的最新版本。
接下来,您将需要安装 PyAutoGUI 模块和 pyserial 模块以使该项目工作。按照以下超链接下载这些模块:
安装python软件并打开命令提示符。将目录更改为安装软件的文件夹。PIP 是一个数据包管理系统,可让您安装和管理用 python 编写的软件包。在安装这些模块之前,您需要升级 PIP。为此,您将需要使用以下功能:
python - m pip install - 升级 pip
升级 PIP 后,通过在命令提示符中键入以下函数来安装 PyAutoGUI 模块:
python - m pip install pyautogui
PyAutoGUI 模块安装完成后,重复该过程以安装 Pyserial 模块。为此,您将需要以下功能:
python - m pip install pyserial
下一步是检查这些模块是否安装成功。打开 Python IDLE 并输入“import serial”。如果模块已成功安装,您的 Python shell 将类似于以下内容:
我们已经成功安装了 Python 软件和基本模块。现在,我将向您解释在 Arduino 中完成的编码。
为传感器创建全局变量。您可以将变量命名为“右”和“左”。在 void setup() 中,调用 pinMode() 将 IR 传感器的引脚配置为 INPUT。将串行数据传输的数据速率设置为 9600 波特(每秒位数)。
IR 线跟踪传感器模块将检测距离 IR 传感器 8mm 以内的物体,并在检测到物体时向 Arduino 微控制器发送 LOW 信号。在 void loop() 中,对您的 Arduino Nano 微控制器进行编程以执行上述功能。
如果两个传感器都发送 LOW 信号,则串行监视器必须打印“播放/暂停”并将延迟时间设置为 500 毫秒。
如果右侧传感器发送 LOW 信号而左侧传感器发送 HIGH 信号,则串行监视器必须打印“Increase Volume”,您也应该在此处添加延迟时间。
如果右侧传感器发送 HIGH 信号而左侧传感器发送 LOW 信号,则串行监视器必须打印“降低音量”并设置 500 毫秒的延迟时间。
在完成 void loop( ) 函数之前设置一个 300 毫秒的延迟时间。
现在让我们继续使用 Python 进行编码。打开 Python IDLE 并打开一个新文件。将我们在第一步中安装的模块与时间模块一起导入。您将需要时间模块来使用延迟功能。创建串口对象并打开串口。您可以找到本文档的 pg.11对这个过程有用。在通信建立期间等待 3 秒。
通讯建立后,读取串口数据并打印。如果接收到的串口数据是“播放/暂停”,则必须使用打字功能按空格键0.3秒。
您将需要 PyAutoGUI 模块,因此该网站可以帮助您了解该模块的功能。
如果接收到的串口数据是“增加音量”,请使用热键功能。在这种情况下,此函数的参数将是“ctrl”和“left”。打开 VLC 媒体播放器并按“ctrl”键和左箭头键查看音量增加。
对“降低音量”重复相同的过程,但在这种情况下,参数必须是“ctrl”和“right”。
代码片段:
如果有人对编码有疑问,请随时在下面发表评论。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !