基于Arduino的DIY宠物自动喂食器:从硬件搭建到程序控制

基于Arduino的DIY宠物自动喂食器:从硬件搭建到程序控制 1. 项目概述与核心价值养宠物的朋友大概都遇到过这样的烦恼临时需要出差一两天或者偶尔加班晚归家里的“毛孩子”吃饭就成了大问题。找人上门喂食不仅麻烦还可能打扰宠物一次性倒满一大盆又怕它不知饥饱一下子吃光或者食物放久了不新鲜。几年前我也被这个问题困扰于是萌生了自己动手做一个自动喂食器的想法。市面上成品虽然不少但要么价格不菲要么功能固定不够灵活。作为一个喜欢折腾的硬件爱好者我决定用最普及的开源硬件Arduino搭配一些常见的材料和零件打造一个完全自定义的宠物喂食器。这个项目的核心就是利用Arduino微控制器精准的定时能力去控制一个伺服电机舵机的旋转。舵机带动一个挡板像水龙头阀门一样定时打开宠物粮储存容器的出口让定量的粮食落入食盆。听起来简单但其中涉及到机械结构的设计、电子电路的连接、控制程序的编写以及如何让整个装置稳定可靠地工作。我前后迭代了好几个版本从最初简陋的纸盒原型到最终这个使用PVC管和猫砂桶的“工业风”成品踩过不少坑也积累了很多实用的经验。本教程将详细拆解整个制作过程从零件采购、机械组装、电路接线到代码编写与调试。无论你是刚接触Arduino的新手还是有一定经验的创客都能跟着步骤一步步完成。最终你将获得一个成本可控、喂食时间和分量完全由你掌控的智能喂食装置。它不仅解决了临时外出的喂养难题更能帮助你培养宠物规律的进食习惯对它们的健康也大有裨益。2. 物料清单与工具准备动手之前把需要的“食材”备齐是关键。这个项目的魅力在于大量使用了生活中常见的物品进行改造成本可以压得很低。我将物料分为结构件、电子件、连接辅料和工具四大类并会解释每样东西的选用理由和可能的替代方案。2.1 核心结构与容器储粮容器我选用了一个8.5磅约3.85公斤的猫砂桶。选择它的原因有几个首先它本身是食品级的HDPE塑料安全无异味其次带有密封盖防潮防虫效果很好最后桶身是规则的圆柱形便于固定和开孔。你也可以用大的矿泉水桶、密封米桶等原则是材质安全、带盖、开口方便改造。出粮阀门组件这是控制粮食流出的核心机械部件。舵机我选择了最经典的SG90 9克微型舵机。它扭矩适中1.8kg/cm体积小价格便宜通常十几元且由PWM信号控制精度足以满足开关挡板的需求。注意购买时选择附带舵盘舵机臂的套装。挡板与转接件需要一个直径略大于出粮口的圆形挡板。我巧妙地利用了一个直径约1又1/3英寸约34毫米的药瓶切掉底部作为出粮管用瓶盖部分改造为舵机的安装基座。挡板则用硬纸板裁剪而成粘在舵机臂上。药瓶的直径需要与你准备的PVC管匹配。输粮与分粮管道使用PVC水管件来构建粮食的滑道确保粮食准确落入食盆。PVC管件需要1个1-1/4英寸的PVC三通Side Outlet 90-Degree Elbow和2个1-1/4英寸的PVC 45度弯头。三通的一个口连接上方的出粮管另外两个出口分别导向两个食盆。45度弯头用于调整出口角度让粮食更顺畅地滑入食盆。选择这个规格是因为其内径与药瓶外径接近便于连接。支撑框架需要一个稳固的架子来悬挂较重的储粮桶。三脚架我找到了一个老旧的相机三脚架拆掉了中轴。它的三条腿可伸缩调节高度和跨度顶部的云台平台非常适合用来固定桶身。关键是它结构稳定、高度可调。如果没有可以考虑用坚固的木质或金属支架DIY一个类似的三角支撑结构。食盆两个普通的宠物食盆即可最好底部有一定重量或防滑设计防止被宠物推动。2.2 电子控制系统主控板Arduino Uno R3。这是Arduino家族中最经典、资料最丰富的一款USB编程供电一体对新手极其友好。它拥有14个数字I/O口和6个模拟输入口驱动一个舵机绰绰有余。连接线3根公对公杜邦线用于连接Arduino与舵机。建议选择不同颜色如红、棕、橙以便区分电源、地线和信号线。供电方案二选一USB供电使用普通的USB打印机线Type-A to Type-B一端接Arduino另一端插在手机充电头或电脑USB口上。优点是方便缺点是线长有限且需要一直占用一个USB口。直流电源适配器供电准备一个输出为5V、电流不小于1A的DC电源适配器搭配一个5.5*2.1mm的DC插头与Arduino的电源插座匹配。这种方式更整洁、独立适合长期放置。注意绝对不要使用高于5V的电源会烧毁板子2.3 连接与固定辅料扎带若干11英寸约28厘米的尼龙扎带用于捆绑固定电线、PVC管和三脚架腿非常牢固且可裁剪。橡胶圈多个中等粗细的橡胶圈用于初步悬挂和固定储粮桶提供缓冲并防止刮伤桶身。强力胶我使用了Gorilla的啫喱状强力胶。啫喱胶不易流动适合粘接垂直面。但后来发现对于某些塑料表面液体速干胶渗透性更好。重要提示操作时务必戴手套小苏打这不是用来吃的它是强力胶的“加速剂”。在涂完胶水的接合处撒上少量小苏打粉能瞬间引发化学反应使胶水在几秒内固化并且粘结强度大幅提升。这是来自模型制作领域的一个神技巧。电工胶带/布基胶带用于包裹线束、加固粘合点以及做一些临时的固定。硬纸板从披萨盒或快递箱上剪下用于制作舵机挡板、加固PVC管底座等。选择较硬、较厚实的部分。2.4 所需工具切割工具美工刀和剪刀。美工刀用于在塑料桶和药瓶上开孔、切割剪刀用于裁剪纸板和胶带。标记工具油性记号笔用于在塑料表面画线定位。加热工具电吹风。用于对涂了胶水尤其是配合小苏打的接合处进行加热加速固化过程。请使用低温档风量、高温档热量避免过热导致塑料变形。个人防护工作手套防胶水粘手、护目镜切割塑料时防止碎屑入眼。注意安全第一在使用美工刀、强力胶和电吹风时务必小心。在通风良好的地方操作避免胶水蒸汽吸入。粘合部件时确保放置稳固防止倾倒。3. 机械结构组装详解机械部分是整个喂食器的骨架其稳固性和可靠性直接决定了喂食器能否长期正常工作。组装顺序建议为支撑框架 - 储粮桶固定 - 出粮阀门制作 - 输粮管道安装 - 食盆定位。3.1 三脚架改造与储粮桶悬挂首先处理支撑结构。我们的目标是将储粮桶稳固地倒置悬挂在三脚架顶部。拆除中轴如果你的三脚架有可拆卸的中轴将其取下。目标是让三脚架顶部形成一个平台或十字结构便于桶的悬挂。初步悬挂将储粮桶的提手穿过几条橡胶圈然后将橡胶圈的另一端套在三脚架顶部的合适位置如云台的螺丝孔或支架上。通过多个方向拉扯橡胶圈初步将桶悬吊起来。这一步不需要非常牢固主要是定位。加固与调平观察桶底此时朝上计划开作出粮口的位置是否对准三脚架三条腿中心的正下方。通常需要对桶进行微调。如果桶偏向一边就需要制作一个“垫块”。我找到了一个圆柱形的果汁瓶。在需要推动桶身的三脚架腿上用橡胶圈和扎带将果汁瓶临时固定。在果汁瓶与桶身接触的点以及桶身对应的点上快速涂抹强力胶并立即撒上小苏打。然后将两者压合保持约30秒。这个化学反应会很快固化。立即使用电吹风用热风近距离吹拂粘合处约1分钟可以极大提升初期粘结强度。之后用布基胶带缠绕几圈进行二次加固。最终固定在橡胶圈悬挂的基础上使用扎带在多处将桶身与三脚架腿紧密捆绑。最后用电工胶带将顶部杂乱的橡胶圈和扎带头部包裹起来既美观又防刮。实操心得使用“强力胶小苏打”的技巧时动作一定要快。胶水涂抹后小苏打撒上去的瞬间就会开始变硬。所以最好先模拟好位置再涂胶、撒粉、压合一气呵成。电吹风加热能解决啫喱胶干得慢的问题让粘结处在一两分钟内就达到可操作的强度。3.2 制作舵机阀门与出粮口这是最精密的机械部分目的是制作一个由舵机控制的、可精确开闭的出粮阀门。制作挡板测量药瓶瓶口的直径。用硬纸板剪出一个比瓶口直径大1-2厘米的方形或圆形挡板。宁大勿小后期可以修剪。从舵机附带的舵盘舵机臂中选择一个长条形的。通常需要将其末端剪掉一小截防止旋转时碰到药瓶壁。将挡板用强力胶粘在舵盘上。粘之前先空载运行一下舵机程序后面会写找到舵机归零0度的位置将挡板粘在舵盘上并确保在0度时挡板能完全盖住瓶口。安装舵机到药瓶将药瓶的瓶盖部分作为舵机的底座。用橡胶圈将舵机暂时捆绑在瓶盖上调整位置使舵盘上的挡板正好贴近瓶口且旋转时不会卡住。位置确定后在舵机与瓶盖的接触点涂抹强力胶并撒小苏打固定。同样用电吹风加热加速固化。待其牢固后可以剪掉橡胶圈。在储粮桶上开孔并安装出粮管在储粮桶底部已朝上中心位置用记号笔描出药瓶瓶身的轮廓。用美工刀沿着轮廓内部小心地切割开出圆孔。孔洞应略小于药瓶外径这样药瓶能卡进去更牢固。关键步骤剪一块硬纸板中间开一个与桶上圆孔同样大小的洞。将这块纸板用“胶水小苏打”的方法粘在桶底环绕圆孔。它的作用是增加粘接面积和强度防止药瓶直接粘在薄的桶壁上容易脱落。将药瓶已安装舵机的瓶身插入圆孔使其与纸板底座接触。用“胶水小苏打”将药瓶牢牢粘在纸板底座上。固化后用布基胶带在桶内外接口处缠绕加固确保密封和承重。3.3 安装输粮管道与食盆粮食从阀门落下后需要通过管道引导至食盆。搭建PVC管道系统构思管道走向药瓶出口 - PVC三通的侧向入口 - 三通的两个出口各接一个45度弯头 - 弯头出口分别对准两个食盆。先在硬纸板上粘出一个小平台然后用扎带将这个平台固定在三脚架中部的横撑或腿上。这个平台将用于承托PVC三通。将PVC管件按照构思拼装好不用胶水先用手拧紧。将三通底部放在纸板平台上调整位置使其入口正对药瓶出口下方。位置确定后用“胶水小苏打”将三通底部粘在纸板平台上。由于PVC材质粘接较难这里需要多用一些胶并确保粘接面干净无油。连接与固定管道整体位置固定后用扎带将管道与三脚架腿在多处进行捆绑加固防止其晃动或移位。检查粮食下落路径从药瓶出口到三通再到弯头最后落入食盆必须畅通无阻。可以用几粒粮食做一下模拟测试。固定食盆根据弯头出口的最终位置摆放好两个食盆。如果食盆侧面有凸起或孔洞可以用扎带将其与三脚架腿固定。更简单的方法是在食盆底部与地面接触的位置使用蓝丁胶或防滑垫防止宠物进食时推动食盆。不建议将食盆直接粘死不方便清洗。至此一个倒置的储粮桶通过舵机阀门控制开闭粮食经PVC管道分流至两个食盆的机械结构就搭建完成了。接下来我们要让它“活”起来。4. 电路连接与Arduino编程机械是身体电路和程序就是大脑和神经。这部分我们将让Arduino控制舵机实现定时定量的核心功能。4.1 电路连接示意图与解析电路非常简单只有三根线舵机红线电源线-Arduino的5V引脚。舵机棕线地线-Arduino的GND引脚。舵机橙线信号线-Arduino的9号数字引脚或其他任意支持PWM的引脚如3, 5, 6, 10, 11。为什么这么接5V和GND为舵机提供工作电源。SG90的工作电压就是4.8V-6VArduino的5V输出正好。信号线连接到支持PWM脉冲宽度调制的引脚。舵机的角度控制就是通过该引脚发送特定宽度的脉冲信号来实现的。9号引脚是常用的PWM引脚之一。注意事项虽然一个SG90舵机工作电流不大约100-200mA但为避免潜在问题建议不要从Arduino的5V引脚为多个大电流设备供电。对于本项目单个舵机完全没问题。如果未来升级多舵机或其他模块应考虑使用外部电源为舵机单独供电。4.2 软件开发环境搭建与程序上传安装Arduino IDE访问 Arduino 官网下载对应你操作系统Windows, Mac, Linux的 IDE 安装包。安装过程基本一路“下一步”即可。在Windows上当提示安装驱动时如“Adafruit Industries LLC Ports”, “Arduino USB Driver”务必点击“安装”。连接硬件用USB线将Arduino Uno连接到电脑。电脑通常会识别并安装驱动在设备管理器中可以看到对应的COM口如COM3, COM4。配置IDE与上传测试程序打开Arduino IDE在工具-开发板中选择Arduino Uno。在工具-端口中选择刚才识别到的COM口。为了测试硬件连接是否正常我们可以先上传一个最简单的舵机扫掠程序。复制以下代码到IDE中#include Servo.h // 引入舵机库 Servo myServo; // 创建一个舵机对象 int pos 0; // 用于存储舵机角度的变量 void setup() { myServo.attach(9); // 告诉库舵机信号线接在9号引脚 } void loop() { // 从0度转到180度 for (pos 0; pos 180; pos 1) { myServo.write(pos); // 命令舵机转到pos角度 delay(15); // 等待15毫秒让舵机到达指定位置 } // 从180度转回0度 for (pos 180; pos 0; pos - 1) { myServo.write(pos); delay(15); } }点击左上角的“上传”按钮向右的箭头。如果一切正常你会看到舵机开始来回缓慢转动。这说明你的硬件连接和软件环境都没问题4.3 喂食器核心控制程序解析与定制测试成功后我们来编写真正的喂食器控制程序。程序逻辑是等待设定的间隔时间 - 舵机转动打开挡板 - 保持打开状态一段时间控制出粮量- 舵机转回关闭挡板。以下是完整的、带有详细注释的程序代码你可以直接复制使用并根据注释修改关键参数#include Servo.h // 引入舵机控制库 Servo feederServo; // 创建一个名为feederServo的舵机对象 // 用户可配置参数 // 注意修改以下参数后需要重新上传代码到Arduino #define FEED_INTERVAL_MINUTES 1 // 喂食间隔时间单位分钟。例如120代表每2小时喂一次 const unsigned long feedInterval (unsigned long)FEED_INTERVAL_MINUTES * 60UL * 1000UL; // 将分钟转换为毫秒 #define SERVO_OPEN_ANGLE 0 // 舵机打开挡板时的角度度。根据你的机械安装调整通常是0或180 #define SERVO_CLOSE_ANGLE 90 // 舵机关闭挡板时的角度度 #define OPEN_DURATION_MS 2000 // 挡板保持打开的时间毫秒用于控制出粮量。2000ms 2秒 // 程序变量 unsigned long previousFeedTime 0; // 记录上一次喂食的时间 void setup() { feederServo.attach(9); // 初始化舵机连接在9号引脚 closeFeeder(); // 程序启动时确保喂食器处于关闭状态 previousFeedTime millis(); // 记录程序启动时间为第一次喂食的参考点 } void loop() { unsigned long currentTime millis(); // 获取当前运行时间毫秒 // 检查是否到达喂食间隔 if (currentTime - previousFeedTime feedInterval) { feed(); // 执行一次喂食动作 previousFeedTime currentTime; // 更新上一次喂食时间 } // 这里可以添加其他任务比如读取传感器未来升级用 } // 执行一次完整的喂食动作 void feed() { openFeeder(); // 打开挡板 delay(OPEN_DURATION_MS); // 保持打开状态让粮食流出 closeFeeder(); // 关闭挡板 } // 打开喂食器挡板 void openFeeder() { feederServo.write(SERVO_OPEN_ANGLE); delay(500); // 给舵机一点时间转动到位时间可根据舵机速度调整 } // 关闭喂食器挡板 void closeFeeder() { feederServo.write(SERVO_CLOSE_ANGLE); delay(500); // 给舵机一点时间转动到位 }关键参数定制指南修改喂食频率直接修改#define FEED_INTERVAL_MINUTES 1中的数字。例如改成6就是每6分钟一次用于测试改成360就是每6小时一次。调整出粮量修改#define OPEN_DURATION_MS 2000中的数字。这个时间取决于你的出粮口大小和粮食类型。需要手动校准在出粮口下放一个杯子让程序打开挡板1秒1000ms然后称量流出的粮食重量。根据你的宠物每餐所需克数计算出需要打开的秒数。例如1秒流出10克粮宠物每餐需要50克那么OPEN_DURATION_MS就应设置为50005秒。校准舵机角度SERVO_OPEN_ANGLE和SERVO_CLOSE_ANGLE可能需要根据你的机械安装实际情况调整。上传程序后观察舵机转动方向。如果方向反了就交换这两个值如OPEN设为90CLOSE设为0。确保一个角度能完全打开挡板另一个角度能完全关闭挡板。将修改好的代码上传到Arduino后断开USB线改用5V电源适配器供电你的自动喂食器就正式独立运行了5. 系统调试、校准与优化建议组装和编程完成后并不意味着大功告成。细致的调试和校准是确保喂食器长期稳定工作的关键。5.1 出粮量与时间校准这是最重要的调试步骤直接关系到宠物会不会挨饿或吃撑。空载测试先不放粮食运行程序观察舵机动作是否顺畅挡板开闭是否到位粮食通道有无阻碍。听声音舵机转动不应有卡顿的“滋滋”声否则可能是扭矩不足或机械阻力太大。流量测试在出粮管道下方放置一个已知重量的空容器如厨房秤。将OPEN_DURATION_MS暂时改为一个固定值例如10001秒。在储粮桶中装入约半桶你常用的宠物粮。复位Arduino按一下板子上的复位键触发一次喂食动作。称量容器中粮食的重量。重复此过程3-5次取平均值得到“每秒出粮克数”。计算设定时间根据你希望每餐投放的粮食克数计算出所需的打开时间。公式为所需时间(ms) (每餐克数 / 每秒出粮克数) * 1000。例如测得每秒出粮10克希望每餐喂50克。则所需时间 (50 / 10) * 1000 5000ms。将计算出的值填入OPEN_DURATION_MS重新上传代码。满桶验证粮食的流动速度可能会随着储粮桶内粮食的多少压力不同而略有变化。最好在桶满和桶快空时各测试几次确保流量大致稳定。如果变化明显可能需要调整出粮口的设计例如增加一个缓冲仓。5.2 机械结构稳定性检查喂食器需要承受宠物尤其是狗狗可能的碰撞和推搡。整体重心喂食器是上重下轻的结构。用手轻轻推一下三脚架顶部检查是否容易倾倒。如果感觉不稳可以考虑在三脚架的三条腿底部粘贴防滑垫或加重物如小沙袋。将三脚架的腿展开到最大角度降低重心。连接点加固检查所有用胶水和扎带固定的地方特别是储粮桶与三脚架的连接点。PVC管道与支撑平台的连接点。舵机与药瓶的连接点。 用手摇晃看是否有松动。如有用额外的扎带或胶带进行加固。防宠物干扰电线收纳将Arduino的电源线和连接舵机的杜邦线用扎带捆好并沿着三脚架腿固定避免垂落下来被宠物咬到。Arduino保护可以考虑用一个小的塑料盒将Arduino板子罩起来防止灰尘和宠物口水。5.3 程序功能测试与故障模拟进行长时间循环测试模拟真实使用场景。长时间运行测试将喂食间隔设短如5分钟让喂食器连续运行一整天或更久。观察舵机是否每次都能准确归位。是否有粮食堵塞在阀门或管道中刚开始使用新粮时容易发生。Arduino板子是否发热异常。断电测试拔掉电源再插上看喂食器是否能从断电的时刻起重新开始计时并在下一个间隔点正常喂食。由于我们的程序使用millis()函数计时断电后时间会归零所以上电后会立即触发一次喂食然后进入正常间隔循环。这一点需要特别注意如果你不希望通电就喂食可以在setup()函数中加入一个长的delay()或者改用RTC实时时钟模块这是未来的升级方向。粮食兼容性测试尝试更换不同形状、大小的宠物粮如小颗粒猫粮 vs 大颗粒狗粮观察流动是否顺畅。对于特别不规则或易碎的粮可能需要增大出粮口。6. 常见问题排查与进阶升级思路即使按照教程一步步做也可能会遇到一些小问题。这里汇总了一些我遇到过的坑和解决方案。6.1 问题排查速查表问题现象可能原因排查与解决方法舵机完全不转1. 电源未接通或电压不足。2. 信号线接错引脚。3. Arduino未正确上传程序或程序错误。4. 舵机损坏。1. 检查USB线或电源适配器连接用万用表测5V引脚电压。2. 确认信号线橙线接在了正确的PWM引脚如9号。3. 重新上传最简单的舵机扫掠测试程序。4. 将舵机直接接到5V和GND信号线短暂接触5V看是否抖动判断舵机好坏。舵机转动角度不对或抖动1. 机械阻力过大舵机堵转。2. 电源功率不足带载后电压下降。3. 舵机中位0度未校准。1. 断开舵机与挡板的连接空载测试是否顺畅。检查挡板是否被卡住。2. 尝试使用独立的外部5V电源如手机充电宝为舵机供电。3. 在代码中尝试不同的角度值0-180找到完全打开和关闭挡板对应的角度。粮食不下落或堵塞1. 出粮口太小或粮食结块。2. 粮食在阀门处架桥拱起。3. 管道角度不够陡峭。1. 适当扩大出粮口。使用新鲜、干燥的粮食。2. 敲击储粮桶侧壁或考虑在桶内增加一个缓慢旋转的搅拌器高级升级。3. 确保PVC管道特别是弯头处倾斜角度大于粮食的休止角通常需要大于45度。喂食时间不准1. 程序中使用delay()导致计时不精确本程序主循环无长延迟影响小。2.millis()函数溢出约50天后但对于喂食器周期影响可忽略。3. 电源不稳定导致单片机复位。1. 确保主循环loop()中没有不必要的长延时。2. 如需极长期精准计时可增加DS3231等RTC时钟模块。3. 使用质量好的5V电源适配器避免与大功率电器共用插座。喂食器轻微漏粮挡板关闭不严密或粮食颗粒卡在挡板边缘。1. 在挡板边缘粘贴一层薄的软橡胶或海绵条增强密封性。2. 检查并调整SERVO_CLOSE_ANGLE让舵机关闭时更有力地压紧挡板。6.2 项目优化与进阶升级思路这个基础版本已经可以可靠工作但创客的乐趣就在于不断改进。以下是一些升级方向添加实时时钟RTC模块这是最有价值的升级。使用像DS3231这样高精度的RTC模块即使Arduino断电时钟也会靠备用电池继续走。这样你就可以实现真正的“定时”喂食比如固定在每天早8点和晚6点而不是“间隔”喂食。程序逻辑会从“等待X毫秒”变为“判断当前时间是否等于预设时间点”。增加剩余粮量监测在储粮桶底部内侧安装一个超声波传感器如HC-SR04朝粮面发射超声波通过反射时间计算剩余粮食的高度进而估算余量。当余量过低时可以通过连接一个蜂鸣器报警或者通过网络模块给你发送通知。联网与远程控制增加一个ESP8266或ESP32这类Wi-Fi模块让喂食器接入家庭局域网。你可以编写一个简单的Web服务器页面通过手机浏览器随时手动触发喂食、修改喂食计划。更进一步可以连接物联网平台实现手机APP远程控制和查看喂食记录。“智能”喂食逻辑配合重量传感器如HX711称重模块放在食盆下不仅可以精确控制每次出粮量还能监测宠物是否来吃、吃了多少。甚至可以实现“宠物靠近才出粮”的功能通过红外或超声波传感器检测宠物结合重量传感器确保宠物想吃的时候才有粮避免食物长时间暴露。结构与外观优化使用3D打印设计并制作更精致的阀门组件、管道连接件和外壳替代PVC管和药瓶。为整个设备设计一个美观的外壳将Arduino、电源等隐藏起来更安全也更像一件家电产品。这个基于Arduino的自动喂食器项目从想法到实现贯穿了机械设计、电子电路和嵌入式编程的知识。它不仅仅是一个工具更是一个充满成就感的创造过程。当你看到自家宠物在预设的时间点听到粮食“哗啦啦”落入食盆的声音而兴奋地跑过去时那种满足感是购买成品无法比拟的。希望这个详细的教程能帮你成功打造出专属的宠物喂养助手也希望你在过程中享受到动手创造的乐趣。如果在制作中遇到任何问题随时可以回溯到对应的章节查找解决方案祝你成功