基于Arduino的宠物食物分配器
创作本文的初衷是本人的一个养宠物的梦想(因为家里人对宠物过敏,因此养宠物的action一直没有落实),但是梦想总是要有的哈哈哈哈哈。上周正好是和一个很好的朋友见面,聊到了养宠物的事情,她大概是讲到了喂宠物以及对宠物的日常打理是最头疼的事情。基于这样的一个问题,我想能不能设计一款喂养宠物的食物分配器,来减轻喂养宠物的繁杂的工作。
此外,由于本人以前没有使用过舵机,因此舵机部分参考了网上的一些教程,因此项目目前不是太成熟,如果大家有好的想法可以和我一起交流,谢谢!!
基于Arduino的宠物食物分配器
- 一、关于项目的说明
- 二、需要的器件
- 三、Arduino代码和电路
- 四、测试电路
- 五、硬件设置
- 六、机械结构设计
- 七、使用方法
一、关于项目的说明
嘿,宠物爱好者们,这篇教程对你们可能非常有帮助!的确是这样,因为它是宠物主人的救星!宠物主人最常见的活动就是按时喂养他们的宠物,但许多人都有忘记喂食他们可爱宠物的习惯。
你有没有想过使用微控制器和一些电子设备会有什么结果?这将导致一个非常有用的产品的诞生,它绝对可以节省时间并确保每个饥饿的肚子都得到满足。
首先,让我来解释一下这个项目是如何工作的,如果你是新接触项目制作的话。在这个项目中,我们使用了2个HC-SR04传感器,也就是超声波传感器,它以发射和接收超声波波而闻名。在它们的传输路径上,如果遇到任何物体,那么接收信号的时间延迟将被用来控制伺服电机。伺服电机连接到宠物食物储存容器,根据设置它会分配出所需的食物量。
实物图如下:
视频展示:
基于Arduino的宠物食物分配器
二、需要的器件
准备好所有这些材料,这样你就可以顺利地进行这个项目了。
- Arduino Uno
- 超声波传感器(HC-SR04) x2
- 跳线
- 微型伺服电机
- Arduino编程线
- 小型面包板
- 塑料瓶(回收的水瓶)
- 切割工具
- 纸板
- 宠物喜欢的食物颗粒
- 热熔胶
- 宠物
三、Arduino代码和电路
第一步是上传代码,这是一项非常简单的任务,只需打开电脑上的Arduino IDE,如果你没有IDE,你可以从官方的Arduino网站下载。打开它并粘贴Arduino代码,选择正确的主板类型和端口类型,然后点击上传按钮。代码上传到你的主板上之后,我们可以开始用跳线连接组件。
我将把电路分成两部分:
- HC-SR04部分和伺服部分。
我们使用了2个超声波传感器,两个传感器的作用是相同的。两个传感器的Gnd和Vcc都连接到面包板上的Gnd和5V电源轨。
- 第一个传感器的Trig和Echo引脚分别连接到D9和D8引脚,第二个传感器连接到D7和D6引脚,按照给定的顺序。
伺服电机有3个引脚:信号、Gnd和Vcc。
在这里,信号引脚连接到D3,Gnd连接到Gnd,Vcc连接到5V引脚。面包板上的Gnd和5V引脚连接到Uno主板,这样就完成了分配器的电路。
四、测试电路
就像我之前提到的,我们使用超声波传感器作为一个开关,电路应该这样工作:
每当在8厘米范围内检测到任何障碍物时,伺服电机的角应该在特定时间内移动到某个特定的角度。这个参数可以调整,以控制食物的分配流动以及伺服电机应该分配食物的距离。你可能会想为什么我使用了2个逻辑引脚而不是1个,因为2个超声波传感器执行相同的动作。原因是我们使用来自传感器1和2的独立信号,以便无缝控制伺服电机。
五、硬件设置
我将把所有电子组件放置在一块纸板上,使用少量的热熔胶将所有组件粘在板上,确保没有裸露的电线,并使用热熔胶密封连接处。这种分配器没有固定的设置类型,根据你的需求,传感器可以放置在适合我的案例中,这种设置最适合像猫、狗和鸡这样的宠物。
使用适量的热熔胶来固定所有电子设备,确保使用食品级塑料来填充储存容器,并在需要时覆盖容器。完成这些后,我们可以开始制作食物分配机制。
六、机械结构设计
该机制由伺服电机的角驱动,每当伺服电机的角移动时,它就控制着一个小滑块,而这个滑块反过来又控制着它后面的储存容器。这意味着该机制需要足够坚固,既要能够支撑住,也要允许食物通过。
我使用了塑料容器的盖子和倒置的瓶子顶部来制作食物通道区域。你也可以在里面添加一些小滑块,让食物可以从两侧滑下。不要使用过热的热熔胶,因为我们在这里处理的是塑料。看看我在这个项目中将要使用的机制,从第二张图片中可以看到,根据你的需求自由定制这个机制。
由于考虑到成本问题采用的现有的化学品瓶做的容器,但是现实中大家还是选择标准的容器制作吧
七、使用方法
使用这个设备并不复杂,只需将储存容器填满你的宠物喜欢的食物,在我这个例子中,我填入了未去壳的大米。轻敲分配区域,以便食物流动没有任何延迟。
将主板连接到USB电源,我建议使用大容量的充电宝。只需将你的手放在传感器前面,伺服电机就会移动分配食物。如果你觉得正在分配的食物量太大,你可以通过代码减少伺服电机角的移动角度。
这就是关于这个食物分配器的全部内容,如果你有任何问题,请在评论中提问,感谢阅读。
我没有宠物来去测试项目的实际应用效果。这个项目就介绍到这里了,如果你制作了这个项目,请发布你的图片,谢谢,祝搭建愉快
希望你喜欢这个项目,并在构建过程中找到乐趣!如果你有任何问题或需要帮助,欢迎在评论区交流。
作者:Svan.
注意:本博文为不得在未经本人同意进行转载或者二次创作,违者必究!!!
相关文章:

基于Arduino的宠物食物分配器
创作本文的初衷是本人的一个养宠物的梦想(因为家里人对宠物过敏,因此养宠物的action一直没有落实),但是梦想总是要有的哈哈哈哈哈。上周正好是和一个很好的朋友见面,聊到了养宠物的事情,她大概是讲到了喂宠…...

make和Makefile
make是一个命令工具,用于读取并执行名为Makefile(makefile)的文件中定义的规则。 Makefile是一个文本文件,它告诉make哪些文件依赖于其他文件,以及如何从这些依赖项生成最终的目标文件。 我们先简单看一下使用make的…...

【数学分析笔记】第4章第4节 复合函数求导法则及其应用(2)
4. 微分 4.4 复合函数求导法则及其应用 【例4.4.3】 y e 1 cos x ye^{\sqrt{1\cos x}} ye1cosx ,求 y ′ y y′ 【解】 y ′ e 1 cos x ⋅ 1 2 1 cos x ⋅ ( − sin x ) − sin x 2 1 cos x e 1 cos x ye^{\sqrt{1\cos x}}\cdot\f…...

【预备理论知识——2】深度学习:线性代数概述
简单地说,机器学习就是做出预测。 线性代数 线性代数是数学的一个分支,主要研究向量空间、线性方程组、矩阵理论、线性变换、特征值和特征向量、内积空间等概念。它是现代数学的基础之一,并且在物理学、工程学、计算机科学、经济学等领域有着…...

【目标检测】yolo的三种数据集格式
目标检测中数据集格式之间的相互转换--coco、voc、yolohttps://zhuanlan.zhihu.com/p/461488682?utm_mediumsocial&utm_psn1825483604463071232&utm_sourcewechat_session【目标检测】yolo的三种数据集格式https://zhuanlan.zhihu.com/p/525950939?utm_mediumsocial&…...

数据分析案例-机器学习工程师薪资数据可视化分析
🤵♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞Ǵ…...

Django连接Dify、ChatGPT4o并计算tokens数量方法
通过Dify可以连接很多模型国内、国外的都可以进行选择可以到Dify里创建一个空白应用,然后点击进入就可以看到API了api_url "http://192.168.15.131/v1/chat-messages" api_key "app-UtzTpVNwpTLUcGvRNnnK9QNY" headers {"Authorization…...

面试系列-淘天提前批面试
00-淘天提前批面试 在牛客上看到了淘天提前批的面试题目,这里分析一下淘天面试的问了有哪些内容,面试的重点 是偏向哪些方面 项目相关 1、秒杀架构如何设计? 问了秒杀的架构如何设计,对于秒杀的设计,秒杀符合 写多读少…...

计算机中科学中有哪些空间换时间的操作??
计算机中科学中有哪些空间换时间的操作?? 1. SPOOLing (Simultaneous Peripheral Operations On-Line) 原理:SPOOLing 是一种将输入/输出操作缓存到磁盘或内存中的技术,从而在后台处理它们。这可以防止 CPU 等待慢速的外部设备&…...

Mac安装Manim并运行
1.在macOS上创建Python虚拟环境,可以使用venv模块,这是Python自带的库,也可以使用conda。以下是使用venv创建和使用Python虚拟环境的步骤: 打开终端。 创建一个新的目录来存放你的项目,并进入该目录: mk…...

leetcode58:最后一个单词的长度
给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大 子字符串 。 示例 1: 输入:s "Hello World" 输出ÿ…...

18448 最小生成树
### 思路 使用Kruskal算法求解图的最小生成树。Kruskal算法通过对所有边按权值排序,然后逐步选择最小权值的边,确保不会形成环,直到构建出最小生成树。 ### 伪代码 1. 读取输入的结点数n和边数m。 2. 读取每条边的信息,存储在边列…...

前端工程化 - Vue
环境准备 Vue-cli是Vue官方提供的一个脚手架,用户快速生成一个Vue的项目模板。 Vue-cli提供了如下功能: 统一的目录结构本地调试热部署单元测试集成打包上线 需要安装Node.js 安装Vue-cli npm install -g vue/cli通过vue --version指令查看是否安装成…...

使用 NVIDIA H100 上的 Azure 机密计算释放隐私保护 AI 的潜力
通过 NVIDIA H100 上的 Azure 机密计算释放隐私保护 AI 的潜力 文章目录 前言一、机密计算二、使用 NVIDIA H100 Tensor Core GPU 的 Azure 机密计算1. 安全功能2. 可扩展性和可编程性三、场景1. 模型机密性2. 推理/提示机密性3. 使用私有数据进行微调4. 多方培训结论前言 这是…...

目标检测与图像分类:有什么区别?各自的使用场景是什么?
《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…...

Lua 数据类型
Lua 数据类型 Lua 是一种轻量级的编程语言,因其简单性和灵活性而广受欢迎。在 Lua 中,数据类型是编程的基础,它们决定了变量能够存储哪种类型的数据。Lua 的数据类型可以分为以下几个类别: 1. nil nil 是 Lua 中的一个特殊类型…...

复现文章:R语言复现文章画图
文章目录 介绍数据和代码图1图2图6附图2附图3附图4附图5附图6 介绍 文章提供画图代码和数据,本文记录 数据和代码 数据可从以下链接下载(画图所需要的所有数据): 百度云盘链接: https://pan.baidu.com/s/1peU1f8_TG2kUKXftkpYq…...

东方仙盟——软件终端架构思维———未来之窗行业应用跨平台架构
一、创生.前世今生 在当今的数字化时代,我们的服务覆盖全球,拥有数亿客户。然而,这庞大的用户规模也带来了巨大的挑战。安全问题至关重要,任何一处的漏洞都可能引发严重的数据泄露危机。网络带宽时刻面临考验,稍有不足…...

支持向量机(SVM)基础教程
一、引言 支持向量机(Support Vector Machine,简称SVM)是一种高效的监督学习算法,广泛应用 于分类和回归分析。SVM以其强大的泛化能力、简洁的数学形式和优秀的分类效果而备受机器学 习领域的青睐。 二、SVM基本原理 2.1 最大间…...

Python小示例——质地不均匀的硬币概率统计
在概率论和统计学中,随机事件的行为可以通过大量实验来研究。在日常生活中,我们经常用硬币进行抽样,比如抛硬币来决定某个结果。然而,当我们处理的是“质地不均匀”的硬币时,事情就变得复杂了。质地不均匀的硬币意味着…...

京东web 京东e卡绑定 第二部分分析
声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 有相关问题请第一时间头像私信联系我删…...

【数据结构与算法】Greedy Algorithm
1) 贪心例子 称之为贪心算法或贪婪算法,核心思想是 将寻找最优解的问题分为若干个步骤每一步骤都采用贪心原则,选取当前最优解因为没有考虑所有可能,局部最优的堆叠不一定让最终解最优 贪心算法是一种在每一步选择中都采取在当前状态下最好…...

Ubuntu22.04之mpv播放器高频快捷键(二百七十)
简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【…...

新闻推荐系统:Spring Boot的可扩展性
6系统测试 6.1概念和意义 测试的定义:程序测试是为了发现错误而执行程序的过程。测试(Testing)的任务与目的可以描述为: 目的:发现程序的错误; 任务:通过在计算机上执行程序,暴露程序中潜在的错误。 另一个…...

目录工具类 - C#小函数类推荐
此文记录的是目录工具类。 /***目录工具类Austin Liu 刘恒辉Project Manager and Software DesignerE-Mail: lzhdim163.comBlog: http://lzhdim.cnblogs.comDate: 2024-01-15 15:18:00***/namespace Lzhdim.LPF.Utility {using System.IO;/// <summary>/// The Objec…...

速盾:如何判断高防服务器的防御是否真实?
随着网络攻击日益增多和攻击手段的不断升级,保护网络安全变得越来越重要。高防服务器作为一种提供网络安全保护的解决方案,受到了越来越多的关注。然而,对于用户来说,如何判断高防服务器的防御是否真实,是否能够真正保…...

MySQL连接查询:联合查询
先看我的表结构 emp表 联合查询的关键字(union all, union) 联合查询 基本语法 select 字段列表 表A union all select 字段列表 表B 例子:将薪资低于5000的员工, 和 年龄大于50 岁的员工全部查询出来 第一种 select * fr…...

Gitea 数据迁移
一、从 Windows 迁移 Gitea 1. 备份 Gitea 数据 1.1 备份仓库文件 在 Windows 中,Gitea 仓库文件通常位于 C:\gitea\data\repositories。你可以使用压缩工具将该目录打包: 1.)右键点击 C:\gitea\data\repositories 目录,选择 “…...

MySQL 绪论
数据库相关概念 数据库(DB):存储数据的仓库数据库管理系统(DBMS):操纵和管理数据库的大型软件SQL:操纵关系型数据库的编程语言,定义了一套操作关系型数据库的统一标准主流的关系型数…...

什么是 HTTP Get + Preflight 请求
当在 Chrome 开发者工具的 Network 面板中看到 GET Preflight 的 HTTP 请求方法时,意味着该请求涉及跨域资源共享 (CORS),并且该请求被预检了。理解这种请求的背景,主要在于 CORS 的工作机制和现代浏览器对安全性的管理。 下面是在 Chrome …...