×

使用Arduino和Python仅用双手控制VLC媒体播放器

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

分享资料个

描述

在这个项目中,我将使用 Arduino 和 Python 仅用双手控制 VLC 媒体播放器。继续阅读以了解如何执行此项目。

本项目中使用的硬件组件

  • Arduino纳米
  • 面包板电源模块 - 3.3/ 5V
  • 无焊面包板 - 一半+
  • 红外线跟踪传感器模块 (x2)
  • 公对公跳线 (x2)
  • 母对公跳线 (x6)

本项目使用的软件

  • Arduino IDE - 版本 1.8.10
  • 蟒蛇 3.8

硬件设置

您的设置必须看起来与上图中的设置有些相似。

连接

红外线跟踪传感器模块

  • (+) - 5V
  • (-) - 接地 (GND)
  • S1 - D3
  • S2 - D4

编码

您需要为此项目使用 Python 和 Arduino IDE。在开始这个项目的编码之前,让我引导你安装 Python 软件以及一些重要的 Python 模块。

从这里下载软件。我建议您为您的操作系统下载最新的兼容版本。在这个项目中,我将使用 Python 3.8.1,因为它是目前的最新版本。

接下来,您将需要安装 PyAutoGUI 模块和 pyserial 模块以使该项目工作。按照以下超链接下载这些模块:

安装 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 将类似于以下内容:

poYBAGN0M0KAC8HKAAAGADDTc60317.png
 

Arduino编码

我们已经成功安装了 Python 软件和基本模块。现在,我将向您解释在 Arduino 中完成的编码。

  • 播放/暂停 - 将您的手放在两个 IR 传感器前面
  • 增加音量 - 将您的手放在右侧的 IR 传感器前面
  • 减小音量 - 将手放在左侧的 IR 传感器前面

为传感器创建全局变量。您可以将变量命名为“右”和“左”。在 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 进行编码。打开 Python IDLE 并打开一个新文件。将我们在第一步中安装的模块与时间模块一起导入。您将需要时间模块来使用延迟功能。创建串口对象并打开串口。您可以找到本文档的 pg.11对这个过程有用。在通信建立期间等待 3 秒。

通讯建立后,读取串口数据并打印。如果接收到的串口数据是“播放/暂停”,则必须使用打字功能按空格键0.3秒。

您将需要 PyAutoGUI 模块,因此该网站可以帮助您了解该模块的功能。

如果接收到的串口数据是“增加音量”,请使用热键功能。在这种情况下,此函数的参数将是“ctrl”和“left”。打开 VLC 媒体播放器并按“ctrl”键和左箭头键查看音量增加。

对“降低音量”重复相同的过程,但在这种情况下,参数必须是“ctrl”和“right”。

代码片段:

poYBAGN0M0SAf7SaAAAMsUuYYeY622.png
 

如果有人对编码有疑问,请随时在下面发表评论。

 

 

 


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

评论(0)
发评论

下载排行榜

全部0条评论

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