欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Raspberry Pi和手势传感器控制LED

程序员文章站 2022-06-22 22:42:30
背景知识视频教程Raspberry Pi Essentials:在更少的时间内了解更多完整的2019 Raspberry Pi训练营Raspberry Pi 周刊在整个教程中,您将了解在Raspberry Pi上安装库以及如何使用它们来帮助您编写代码的基础知识。 在本教程中,我们将使用Python编程语言对Raspberry Pi进行编程。 因此,对于从Arduino迁移的人们来说,学习LED控制是开始Raspberry Pi项目并更熟悉Python的最好方法。硬件软件工作方式Raspb...

背景知识视频教程

  • Raspberry Pi Essentials:在更少的时间内了解更多
  • 完整的2019 Raspberry Pi训练营
  • Raspberry Pi 周刊

在整个教程中,您将了解在Raspberry Pi上安装库以及如何使用它们来帮助您编写代码的基础知识。 在本教程中,我们将使用Python编程语言对Raspberry Pi进行编程。 因此,对于从Arduino迁移的人们来说,学习LED控制是开始Raspberry Pi项目并更熟悉Python的最好方法。

硬件

软件

工作方式

Raspberry Pi引脚图

RPi的工作方式与Arduino类似,但是两者之间存在一些差异。 所有的Raspberry Pi开发板都使用Python作为主要语言,但也支持Ruby和C,而Arduino仅支持C。此外,对于希望进入电子项目的初学者来说,RPi更加昂贵且更加复杂。 但是,由于其更高的处理能力,它一次可以处理多个程序。

手势传感器

它利用四个定向光电二极管来感应反射的IR能量,以将物理运动信息(即速度,方向和距离)转换为数字信息。从其数据表中了解更多信息。

硬件设置

手势传感器连接

  • SDA连接到RPi板引脚3
  • SCL连接到RPi板的引脚5
  • INT连接到RPi板的引脚7
  • VCC和GND分别连接到5V和地

LED连接

  • 第一个LED连接到RPi板引脚8
  • 第二个LED连接到RPi板引脚10
  • 第三个LED连接到RPi板引脚12
  • 第四个LED连接到RPi板的引脚16

Raspberry Pi设置

启用I2C

为了使手势传感器能够正常工作,我们必须通过Raspberry Pi配置启用I2C。 这也使我们可以使用smbus库。 假设您已经连接到Raspberry Pi,请单击左下角的raspberry图标,将鼠标悬停在“首选项”上,然后单击“ Raspberry Pi配置”。

当窗口弹出时,单击“接口”并确保启用了I2C。完成后,单击“确定”。

安装所需的库

接下来,我们必须安装库,以确保您的Raspberry Pi已连接到Internet。通过单击左下方的图标打开终端,只需输入命令

</>

代码

对于代码,您可以在计算机上通过Python IDLE,Notepad ++或任何支持Python的文本编辑软件或IDE进行处理,然后通过VNC Viewer将其传输到Raspberry Pi。 您也可以在RPi本身内部进行编码,我发现这更容易。

LEDcontrol.py代码

</>

要运行代码,请打开终端并使用命令cd <directory>将目录更改为文件所在的目录,然后运行命令python <file name> .py。

代码分解

库导入
</>
通道和引脚设置
</>

接下来,我们将SMBus端口设置为默认值1,然后将手势传感器设置为该总线。 之后,我们将GPIO引脚模式设置为遵循板号以便于识别,将引脚7设置为来自手势传感器的输入,并将引脚8、10、12和16设置为4个LED的输出。 状态1-4最初设置为false,以指示LED最初将处于关闭状态。

打印字典
</>

这部分是一个字典,其中手势传感器检测到的每个手势等同于更短,更易于理解的单词,稍后将被打印出来。

手势检测循环
</>

GPIO.add_event_detect(7,GPIO.FALLING)添加一个事件,该事件将在检测到下降沿时触发; 换句话说,当在手势传感器上检测到手势时,它将把手势发送到引脚7。然后设置其接近阈值并启用它。 然后创建一个无限的while循环来模拟一个循环,该循环可连续检测手势,一旦完成,它将进入if语句。 在if语句内部,motion = apds.readGesture()读取检测到的手势并将其存储在变量中。 接下来,它将使用上面制作的词典格式打印动作,然后根据动作打开或关闭LED。

详情参阅http://viadean.com/rpi_gesture.html

本文地址:https://blog.csdn.net/jiyotin/article/details/107926286

相关标签: Raspberry Pi