在整个教程中,您将了解在Raspberry Pi上安装库以及如何使用它们来帮助您编写代码的基础知识。 在本教程中,我们将使用Python编程语言对Raspberry Pi进行编程。 因此,对于从Arduino迁移的人们来说,学习LED控制是开始Raspberry Pi项目并更熟悉Python的最好方法。
硬件
软件
工作方式
Raspberry Pi引脚图
RPi的工作方式与Arduino类似,但是两者之间存在一些差异。 所有的Raspberry Pi开发板都使用Python作为主要语言,但也支持Ruby和C,而Arduino仅支持C。此外,对于希望进入电子项目的初学者来说,RPi更加昂贵且更加复杂。 但是,由于其更高的处理能力,它一次可以处理多个程序。
手势传感器
它利用四个定向光电二极管来感应反射的IR能量,以将物理运动信息(即速度,方向和距离)转换为数字信息。从其数据表中了解更多信息。
硬件设置
手势传感器连接
LED连接
Raspberry Pi设置
启用I2C
为了使手势传感器能够正常工作,我们必须通过Raspberry Pi配置启用I2C。 这也使我们可以使用smbus库。 假设您已经连接到Raspberry Pi,请单击左下角的raspberry图标,将鼠标悬停在“首选项”上,然后单击“ Raspberry Pi配置”。
当窗口弹出时,单击“接口”并确保启用了I2C。完成后,单击“确定”。
安装所需的库
代码
对于代码,您可以在计算机上通过Python IDLE,Notepad ++或任何支持Python的文本编辑软件或IDE进行处理,然后通过VNC Viewer将其传输到Raspberry Pi。 您也可以在RPi本身内部进行编码,我发现这更容易。
LEDcontrol.py代码
要运行代码,请打开终端并使用命令cd 将目录更改为文件所在的目录,然后运行命令python .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。
详情参阅 - 亚图跨际