这篇文章来源于DevicePlus.com英语网站的翻译稿。
raspberry-pi-motion-control-lamp.png
本教程将带你一步步制作一款动作控制感应灯。
该项目使用的设备包括:Raspberry Pi Model B,Dexter Industries的GrovePi扩展板,以及超声波传感器和继电器模块。在此项目中,我们将使用一个定制Raspbian磁盘镜像,在最新版的”Jessie”开发环境下运行。
本教程旨在演示一个原型机设计,并向您展示测试和修改此设计所需的步骤,以便优化和部署以完全实现你的想法。

项目清单
硬件

  • 电脑:Lenovo T420 Windows 10
  • SD 卡:Sandisk DHCD 8GB
  • 微处理器:Raspberry Pi Model B Revision 2.0 (512MB)
  • 扩展板:GrovePi+ v3.0
  • 继电器开关:Grove Relay v1.2
  • 传感器:Grove Ultrasonic Sensor v2.0
  • WiFi 适配器:Edimax EW-7811Un 150Mbps Wireless 802.11 b/g/n nano USB 适配器
  • 显示器:带VGA线的通用VGA显示器
  • VGA 转换器:用于PC的通用HDMI到VGA转换器
  • 电源:通用供电USB 2四口HUB
  • 数据线:USB Type-A / Micro-B 和 USB Type-A / Type-B
  • 键盘:通用USB键盘
  • 鼠标:通用USB鼠标
  • WiFi 路由器:通用WiFi路由器
  • 插座:直片插刀式插排
  • 灯:<= 100瓦的通用灯具
  • 底盒:CAT5 表面安装插口

软件

  • SD Formatter v4
  • Dexter Industries Modified “jessie”
  • Win32 Disk Imager 0.9
  • Python 2.7.9

工具

  • 剪线钳
  • 扎带
  • 螺丝刀套件
  • 万用表

从构思到部署
一个项目从概念到部署需要许多步骤。

屏幕截图 2021-08-23 154154.jpg


第一步 – 概念
当我回到家时,门厅很暗。我手里经常会提着东西,因此希望进入房间时灯光能够自动打开。动作控制感应灯是完美的解决方案。

第二步–设计
屏幕截图 2021-08-23 154211.jpg
您可以使用一个简单的python程序确定超声波传感器的具体距离变量,并在触发这个传感器变量时控制高压继电器。将灯接到继电器上,当有人进入房间时,灯就会点亮。

第三步–原型机
该原型机用Dexter Industries的GrovePi扩展板来管理Raspberry Pi GPIO引脚。我喜欢用这块扩展板,这是因为其即插即用设计。我也喜欢Dexter Industries的修改版Raspian磁盘镜像,该镜像拥有一整套故障排除工具,在测试阶段非常有用。

A. 设置磁盘镜像(PC)
1) 下载“04.25_Dexter_Industries_jessie.zip”磁盘镜像并将其解压到硬盘上。
2) 格式化8GB SD卡。我用的是SD Formatter v4。
屏幕截图 2021-08-23 154229.jpg
3) 将下载的磁盘镜像写入SD卡。我用的是Win32 Disk Imager。
屏幕截图 2021-08-23 154240.jpg
B. 组装Rapberry Pi和GrovePi GPIO扩展板
1) 将GrovePi与Raspberry Pi Model B上的28个GPIO引脚对齐。这是一种滑合座,但是稍微用力就能连好。

C. 启动Raspberry Pi并更新
1) Raspberry Pi启动后直接进入Dexter Industries GUI。
屏幕截图 2021-08-23 154251.jpg
2) 单击WiFi Setup图标,以连接本地路由器和互联网。
3) 单击DI Software Update图标启动。
屏幕截图 2021-08-23 154300.jpg
4) 从下拉菜单中选择GrovePi,然后按以下顺序更新:
i) 硬件固件
ii) Raspbian
iii) Dexter 软件
5) 完成后系统会要求重新启动
D. 设置Python程序以运行继电器
1) 打开文件 /home/pi/Desktop/GrovePi/Software/Python/test_script
2) 点击 [Edit] >[Select All] AND [Delete]
3) 点击 [File] >[Save As] /home/pi/Desktop/Documents/Range_Relay.py
4) 将此代码复制到空文件窗口中。完成后系统会要求重新启动:
屏幕截图 2021-08-23 154323.jpg
5) 点击[File] > [Save]

E. 连接Grove继电器和超声波传感器
1) 将Ultrasonic Ranger连接到GrovePI扩展板上的D4接头
2) 将Grove继电器连接到GrovePI扩展板上的D2接头
3) 在Range_Relay.py中点击[Run] > [Run Module]
4) 测试传感器,并确保Ultrasonic Ranger前方有动作时继电器LED点亮。

F. 连接继电器的高压侧并测试
1) 请用双刀式插排,将火线在中间切开,然后小心将其轻轻剥开,注意不要切到零线的绝缘层。

G. 将Raspberry Pi设置为无头并自动运行继电器程序
1) 点击 [Menu] >[Other] >[LXTerminal]
2) 输入 at [pi@dex:~ $] prompt:
  1. sudo crontab -e.
3) 如果文件不存在,请创建该文件并添加以下命令(这里应该是保存Python程序的位置):
  1. @reboot sudo python /home/pi/Documents/Range_Relay.py
4) Raspberry Pi启动时,程序会自动加载
5) 在你喜欢的灯上测试你的动作控制系统吧

第二步–测试
1) 我将Raspberry Pi连接到我的走廊灯上,进行现场测试。

结论
这是一个没有太多活动部件的有趣项目。接下来,我很期待能够扩展此动作控制感应灯的编程,加入socket条件,让联网的智能手机或平板电脑也能控制该灯。

来源:techclass.rohm