制作一个带运动检测功能的智能宠物喂食器
本项目展示了如何将运动感应、伺服控制与简单的规则引擎自动化相结合,打造出实用的DIY智能宠物喂食器。
该喂食器通过HC-SR501 PIR运动传感器检测喂食区域附近的移动。当宠物靠近喂食器并检测到运动时,MakerBuddy规则引擎会启动SG90伺服电机,从而控制食物容器底部的小门。
伺服电机短暂打开投喂装置,使部分宠物饲料落入白色喂食托盘中,随后立即恢复关闭状态。
整个自动化过程由MakerBuddy物联网控制器的规则引擎实现,无需编写传统的微控制器代码即可完成行为配置。
所用组件
- MakerBuddy物联网套件(包含所有组件)
- DIY纸板/泡沫板喂食器结构
智能宠物喂食器的工作原理
其运行基于一个简单条件:
如果检测到运动 → 释放食物。
HC-SR501 PIR 传感器持续监测喂食器前方的区域。
在 MakerBuddy 规则引擎中,我设置了:
•循环模式:条件
•传感器:运动传感器
•操作符:等于 (==)
•阈值:1
因此,该规则的概念化流程如下:
步骤 1 — 检测宠物
当猫、狗或其他移动的生物接近喂食器时,HC-SR501 会检测到运动。
传感器读数变为:
这满足了规则条件,从而启动喂食程序。
步骤 2 — 打开食物分配器
第一步动作将 SG90 伺服电机移动至:
将伺服电机旋转至 15°,打开小号分配门。
储存在上部容器内的宠物饲料便可从开口处落入喂食托盘。
该门保持开启状态约 300 毫秒。
步骤 3 — 关闭食物分配器
第二步动作将伺服电机回退至:
当角度为 0° 时,分配门关闭,阻止更多食物落入托盘。
延迟时间 1500 毫秒是特意设置的。
在测试过程中,我注意到 HC-SR501 有时会在首次检测后不久再次触发一次运动事件。如果没有短暂的停顿时间,这可能导致喂食器门几乎立即再次打开并投放额外的食物。
将伺服电机保持在关闭状态1.5秒,可为系统提供一个短暂的稳定期,然后再进行下一次喂食循环。
因此,系统的行为会更像这样:
为什么我使用HC-SR501
HC-SR501 PIR传感器非常适合本项目,因为喂食器无需持续测量距离。
它只需要回答一个简单的问题:
“喂食器附近有动静吗?”
这使得基于PIR的运动检测成为当宠物靠近时触发喂食机制的简便方式。
为什么我使用SG90伺服电机
SG90伺服电机能够实现可控的角度运动,非常适合操作小型出料门。
系统无需持续旋转电机,只需两个位置即可:
这使得机械控制变得简单且可重复。
MakerBuddy规则引擎
本项目的一个有趣之处在于,自动化过程无需手动编程传感器和伺服逻辑。
使用 MakerBuddy 物联网控制器 Chrome 扩展程序,我创建了一个基于条件的规则,并仅添加了两个步骤。
MakerBuddy 控制器负责处理传感器输入与舵机输出之间的关系。
这使学生能够尝试诸如以下概念:
•传感器
•执行器
•条件逻辑
•时机的掌握
•自动化
•伺服定位
•物理计算
•迭代工程
•故障排查真实硬件行为
无需从复杂的布线或传统编程开始。
学生能学到什么
尽管这个项目看起来像一个有趣的个人项目,但它展示了几个重要的STEM概念。
学生可以理解完整的自动化流程:
在这个项目中:
它还展示了在实际工程中尤为重要的一个关键点:初始版本并不总能完美运行。
当重复的PIR检测导致了不必要的进料循环时,我并未重新设计整个系统,而是调整了时间设定,并增加了1.5秒的关闭状态延迟。
这一小小的改动使自动化系统变得更加稳定。
结论
智能宠物喂食器是一个简单的例子,展示了学生如何将传感、自动化和机械设计结合起来,解决现实世界中的问题。
仅使用HC-SR501运动传感器、SG90伺服电机、MakerBuddy物联网套件以及自制的喂食器结构,我们构建了一个能够实现“检测 → 判断 → 执行 → 重置”的系统。由于自动化通过MakerBuddy规则引擎进行配置,学生们可以专注于理解系统的运行机制,同时在实际电子设备上进行实验。
本文编译自hackster.io





