本教程将带你一步步制作一款动作控制感应灯。
该项目使用的设备包括: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
工具
- 剪线钳
- 扎带
- 螺丝刀套件
- 万用表
从构思到部署
一个项目从概念到部署需要许多步骤。
第一步 – 概念
当我回到家时,门厅很暗。我手里经常会提着东西,因此希望进入房间时灯光能够自动打开。动作控制感应灯是完美的解决方案。
第二步–设计
您可以使用一个简单的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。
3) 将下载的磁盘镜像写入SD卡。我用的是Win32 Disk Imager。
B. 组装Rapberry Pi和GrovePi GPIO扩展板
1) 将GrovePi与Raspberry Pi Model B上的28个GPIO引脚对齐。这是一种滑合座,但是稍微用力就能连好。
C. 启动Raspberry Pi并更新
1) Raspberry Pi启动后直接进入Dexter Industries GUI。
2) 单击WiFi Setup图标,以连接本地路由器和互联网。
3) 单击DI Software Update图标启动。
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) 将此代码复制到空文件窗口中。完成后系统会要求重新启动:
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:
- sudo crontab -e.
3) 如果文件不存在,请创建该文件并添加以下命令(这里应该是保存Python程序的位置):
- @reboot sudo python /home/pi/Documents/Range_Relay.py
5) 在你喜欢的灯上测试你的动作控制系统吧
第二步–测试
1) 我将Raspberry Pi连接到我的走廊灯上,进行现场测试。
结论
这是一个没有太多活动部件的有趣项目。接下来,我很期待能够扩展此动作控制感应灯的编程,加入socket条件,让联网的智能手机或平板电脑也能控制该灯。来源:techclass.rohm