当前位置: 首页 > news >正文

花半天给猫做了个自动喂食器,我家猫终于不用饿肚子加班了

💡 阅读提示:本文记录我用ESP8266和一个小舵机,给猫主子DIY自动喂食器的全过程。成本极低、零基础友好,更关键的是——猫很满意。

🚨 开篇:我加班,猫也跟我一起“加班”

去年下半年,项目赶进度,我几乎天天加班到十点。

某天深夜回家,打开门,年糕(我的猫)蹲在空碗旁边,用一种“你知道我等了多久吗”的眼神看着我。然后它走到水碗边喝了一口水,又回头看看空碗,再看看我。

那一刻我挺难受的。

我也试过出门前多放点猫粮,但年糕的问题是——它会一口气吃完,然后吐。医生说“少食多餐”,但我的工作时间没法满足这个要求。

也考虑过买自动喂食器。去电商平台一看:带摄像头和Wi-Fi的,三百多块起步;不带Wi-Fi的定时款,也得一百多。而且用户评价里有人说卡粮,有人说被猫拆了,有人说断电后时间重置……

我看着手上那块吃灰的ESP8266开发板,冒出一个念头:要不,我自己做一个?

于是有了下面这个故事。

一、我要做什么样的喂食器?

先说清楚我的目标,不是什么高大上的产品,就解决三个问题:

  1. 定时出粮:每天早晚各一次,每次出一份(约15g),这样年糕就不会一次性吃撑。

  2. 手动补粮:我下班回家如果觉得它今天表现好,可以按一下按钮或者手机点一下,额外奖励一顿。

  3. 别卡粮:这个最关键,做不好的话猫会饿肚子。

至于远程视频、语音逗猫、App数据分析……这些功能固然酷,但对我来说不是必需品。先把基础功能做稳,比什么都重要。

一句话总结:一个能定时出粮、不卡粮、猫喜欢的喂食器。

二、硬件准备

我尽量用家里现成的东西,不够的再买。

组件来源价格
ESP8266 NodeMCU吃灰库存0元
SG90舵机之前做别的东西剩下的0元
5V 2A充电头+USB线旧手机充电器0元
塑料瓶(1.5L)喝完的矿泉水瓶0元
纸盒快递纸箱0元
杜邦线若干库存0元
热熔胶枪之前买的0元

是的,全部成本为0元。即使你什么都没有,买齐这些材料也花不了多少钱——ESP8266约15元,SG90舵机约5元,其他东西都能找到替代品。

我没有用3D打印机,因为不是每个人都有。我用的是纸盒+热熔胶,丑是丑了点,但管用。

三、工作原理(一句话版)

舵机上面装一个“十字形”的拨片,放在瓶口下方。

舵机转一下 → 拨片跟着转 → 猫粮从瓶口掉下来一份 → 舵机复位 → 停止出粮。

就这么简单。

四、制作过程(全记录)

4.1 粮仓:一个矿泉水瓶

把一个1.5L矿泉水瓶底部切掉,倒扣过来。瓶口朝下,作为出粮口。

为什么要用透明瓶子?因为能一眼看到还剩多少猫粮,不用每次都打开看。

4.2 出粮机构:纸板+舵机

这是最核心的部分。我做了一个简易滚筒

  • 用硬纸板剪一个圆片,直径略大于瓶口

  • 在圆片上开一个“槽”(大概占圆片的1/4)

  • 把舵机的摇臂固定在圆片中心

  • 舵机不转的时候,圆片的实心部分堵住瓶口,猫粮掉不下来

  • 舵机转90°,槽口对准瓶口,猫粮掉下来一份

  • 舵机再转回来,又堵住了

第一次测试:失败。

纸板太软,猫粮的重量把纸板压弯了,舵机转不动。而且纸板边缘不光滑,猫粮卡在缝隙里。

第二次改进:换成塑料瓶盖+硬质塑料片

我把一个矿泉水瓶盖切掉一半,粘在舵机摇臂上,然后在瓶盖上开槽。塑料材质更硬,猫粮不会卡。

第三次测试:成功了。

4.3 电路连接(超简单)

ESP8266引脚:

  • 舵机信号线 → D4(GPIO2)

  • 舵机VCC → 5V(Vin)

  • 舵机GND → GND

就三根线,不需要其他外设。

4.4 供电

直接插USB充电头,5V供电。舵机和ESP8266共用USB电源。

实测:SG90舵机工作在5V时,待机电流约5mA,动作时约200mA。一个普通USB充电头完全够用。

五、代码(复制即可用)

以下是Arduino代码,功能包括:

  • 定时出粮:每天7:00、12:00、19:00各出一次

  • 手动出粮:按一下ESP8266上的Flash按键(GPIO0),立刻出一份

  • 防卡粮保护:舵机每次动作后记录时间,连续动作超过5次会暂停10分钟

#include <ESP8266WiFi.h> #include <Servo.h> #include <TimeLib.h> #include <NtpClientLib.h> Servo feederServo; // WiFi配置 const char* ssid = "你的WiFi"; const char* password = "你的密码"; // 时间配置 int8_t timeZone = 8; // 北京时间 // 舵机引脚 #define SERVO_PIN 2 // D4 // 手动出粮按键(ESP8266的Flash按键) #define MANUAL_BTN 0 // D3 // 参数 int feedAngle = 90; // 每次旋转角度 int feedCount = 0; // 已出粮次数 unsigned long lastFeedTime = 0; // NTP时间同步 NTPClient ntpClient(ntpUDP, "pool.ntp.org", 60 * 60 * 8, 60000); void setup() { Serial.begin(115200); // 连接WiFi WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println("WiFi Connected"); // 初始化NTP ntpClient.begin(); ntpClient.update(); // 舵机初始化 feederServo.attach(SERVO_PIN); feederServo.write(0); // 初始位置(关闭) // 按键 pinMode(MANUAL_BTN, INPUT_PULLUP); // 启动提示 Serial.println("Cat Feeder Started"); } void loop() { ntpClient.update(); time_t now = ntpClient.getEpochTime(); struct tm *tm_info = localtime(&now); int hour = tm_info->tm_hour; int minute = tm_info->tm_min; // 1. 定时出粮(7:00、12:00、19:00) if (minute == 0) { if (hour == 7 || hour == 12 || hour == 19) { if ((now - lastFeedTime) > 60) { // 防止重复触发 feed(); lastFeedTime = now; } } } // 2. 手动出粮(按Flash按键) if (digitalRead(MANUAL_BTN) == LOW) { delay(50); if (digitalRead(MANUAL_BTN) == LOW) { feed(); while (digitalRead(MANUAL_BTN) == LOW) delay(10); } } delay(1000); } void feed() { // 防卡粮保护:如果最近10分钟内出粮超过5次,暂停 if (feedCount > 5) { Serial.println("Too many feeds, wait 10 minutes"); delay(600000); // 暂停10分钟 feedCount = 0; return; } Serial.println("Feeding..."); // 舵机转90°(出粮) feederServo.write(feedAngle); delay(300); // 等待猫粮落下 // 舵机复位 feederServo.write(0); delay(300); feedCount++; Serial.print("Feed count: "); Serial.println(feedCount); }

第一次测试出粮:看到猫粮“哗啦”掉下来的时候,年糕吓了一跳,但很快跑过来吃光了。

六、调试中的问题

问题1:出粮量不稳定

第一次测试,有时出5g,有时出20g,完全看猫粮颗粒的形状和运气。

解决:在瓶口加了一个“限流片”——一块硬纸片,中间剪一个洞,洞的大小刚好让一粒猫粮通过。这样每次只有落在洞口附近的几粒会被拨出来,出粮量稳定在12-18g之间。

问题2:纸盒被猫拆了

年糕对“会出粮的盒子”产生了极大兴趣。第三天回家,发现纸盒已经被抓烂了,露出里面的舵机。

解决:换了一个塑料收纳盒(超市10块钱买的),盖子钻孔穿电源线,底部固定舵机。猫再也抓不坏了,而且防水防潮。

问题3:断电后时间重置

有一次家里跳闸,喂食器断电了。重新通电后NTP会自动同步时间,所以不需要加电池维持时钟。

七、实际使用效果

用了一个月,大致情况:

  • 定时出粮:每天3次,年糕的体重稳定在4.2kg,没有继续胖,也没有吐过。

  • 手动出粮:按键在盒子上,我回家随手按一下,就当跟它互动。

  • 卡粮次数:总共出现过2次卡粮,一次是猫粮颗粒太大(换了一款小颗粒猫粮后解决),一次是限流片移位了(用热熔胶固定后解决)。

年糕的适应过程很有意思

  • 第1-2天:听到舵机声音就跑过来,吃得很开心

  • 第3-5天:开始守株待兔,提前坐在喂食器前面等

  • 第2周:学会了用爪子拍盒子,试图人工触发(当然没用,因为按键在内侧)

现在每天早上7点,年糕会准时蹲在喂食器前面等,比闹钟还准。

八、可以怎么升级

如果你也想做,还可以加上这些功能:

  1. 余量监测:在粮仓内壁贴一个红外对射传感器,猫粮低于某个位置时微信提醒“该加粮了”

  2. 远程手动出粮:接入Blynk或巴法云,手机上一键出粮,加班时也能远程投喂

  3. 监控摄像头:旧手机装一个IP摄像头App,看看猫有没有好好吃饭

  4. 饮食记录:每次出粮时在云端记录时间戳,形成饮食日志

九、成本与时间

项目花费
时间一个周末下午(约4小时)
金钱0元(全部用库存)
如果重新买ESP8266(15)+舵机(5)+塑料盒(10)=30元

对比成品喂食器:100-300元不等,功能更多的甚至更贵。DIY版本的满足核心需求(定时+手动出粮),而且坏了可以自己修。

十、一个观察

年糕不会说话,但它的行为告诉我它喜欢这个喂食器。

每次听到舵机转动的声音,它会竖起耳朵,小跑到喂食器前面。吃完之后会舔舔嘴,然后去窗台上晒太阳。

对我来说,每天给猫定时定量喂食,看着它健康地长肉、不吐不拉,比省下两百块钱更有意义。

http://www.jsqmd.com/news/1026023/

相关文章:

  • 2026年 广东文创潮玩彩盒厂推荐排行榜:创意包装设计、精品彩盒源头厂家与高颜值定制服务深度解析 - 品牌发掘
  • ARM Cortex-A5/M4双核架构在车载信息娱乐系统的设计实践
  • ControlNet-v1-1 FP16 Safetensors 高级技术解析与最佳实践指南
  • 温州空调快修|全城 24 小时上门,空调故障一键报修 - 资讯快报
  • 【WorkBuddy专栏26】沙箱不是枷锁——WorkBuddy安全隔离机制的正确打开方式
  • MPC8315E TDM接口原理与多通道通信实战指南
  • 模态对话框与浏览器后退键的协同设计原理
  • 2026年爱彼官方售后解析:原厂配件保障与标准化服务体系 - 资讯快报
  • 猫抓浏览器插件:5分钟学会免费下载网页视频和音频
  • 手写ASP.NET MVC框架内核:控制器生命周期与依赖注入实战
  • 广州中小企业注意了!这款工作手机帮你守住销售客户资源 - 资讯快报
  • MC9S08LL64低功耗传感器采集与LCD显示系统开发全解析
  • 怀化漏水检测维修权威推荐:卫生间-厨房-阳台-屋顶天花板漏水维修:靠谱防水补漏公司团队TOP5推荐(2026最新深度调研实测榜单) - 即刻修防水
  • C++命名空间与模块化
  • 2026零售/直播电商/连锁企业SCRM推荐:全场景实测与选型指南 - 资讯快报
  • 客户端检测方法论:分层抽象与责任分离设计
  • 差分信号
  • 燧原科技科创板 IPO 过会,各轮次及老股投资人收益几何?
  • 2026年 广东小吃盒厂家推荐排行榜:环保材质与创意设计并重的口碑之选 - 品牌发掘
  • 深入解析SC140 DSP核心:并行架构、指令集与嵌入式信号处理优化实践
  • 2026年 东莞医用包装源头厂家推荐榜单:灭菌包装/透析纸/复合膜/吸塑盒洁净智造实力工厂解析 - 品牌发掘
  • 成都漏水检测维修权威推荐:卫生间-厨房-阳台-屋顶天花板漏水维修:靠谱防水补漏公司团队TOP5推荐(2026最新深度调研实测榜单) - 即刻修防水
  • 华为GaussDB数据库客户端TPDSS下载安装与连接配置全指南
  • 抚顺漏水检测维修权威推荐:卫生间-厨房-阳台-屋顶天花板漏水维修:靠谱防水补漏公司团队TOP5推荐(2026最新深度调研实测榜单) - 即刻修防水
  • 2026年6月石家庄搬家公司深度测评:乐享搬家是真靠谱 - 幸福生活序曲
  • 西安打印机维修哪家好?锐创办公全链路服务深度解析 - 资讯快报
  • Clickteam Fusion游戏逆向工程实战:CTFAK 2.0高效资源提取与深度分析指南
  • 如何快速掌握TV Bro:智能电视上网的终极解决方案
  • jQuery事件系统:解剖前端事件底层原理与工程实践
  • 文山漏水检测维修权威推荐:卫生间-厨房-阳台-屋顶天花板漏水维修:靠谱防水补漏公司团队TOP5推荐(2026最新深度调研实测榜单) - 即刻修防水