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

基于Arduino的宠物食物分配器

创作本文的初衷是本人的一个养宠物的梦想(因为家里人对宠物过敏,因此养宠物的action一直没有落实),但是梦想总是要有的哈哈哈哈哈。上周正好是和一个很好的朋友见面,聊到了养宠物的事情,她大概是讲到了喂宠物以及对宠物的日常打理是最头疼的事情。基于这样的一个问题,我想能不能设计一款喂养宠物的食物分配器,来减轻喂养宠物的繁杂的工作。

此外,由于本人以前没有使用过舵机,因此舵机部分参考了网上的一些教程,因此项目目前不是太成熟,如果大家有好的想法可以和我一起交流,谢谢!!

基于Arduino的宠物食物分配器

  • 一、关于项目的说明
  • 二、需要的器件
  • 三、Arduino代码和电路
  • 四、测试电路
  • 五、硬件设置
  • 六、机械结构设计
  • 七、使用方法

一、关于项目的说明

嘿,宠物爱好者们,这篇教程对你们可能非常有帮助!的确是这样,因为它是宠物主人的救星!宠物主人最常见的活动就是按时喂养他们的宠物,但许多人都有忘记喂食他们可爱宠物的习惯。

你有没有想过使用微控制器和一些电子设备会有什么结果?这将导致一个非常有用的产品的诞生,它绝对可以节省时间并确保每个饥饿的肚子都得到满足。

首先,让我来解释一下这个项目是如何工作的,如果你是新接触项目制作的话。在这个项目中,我们使用了2个HC-SR04传感器,也就是超声波传感器,它以发射和接收超声波波而闻名。在它们的传输路径上,如果遇到任何物体,那么接收信号的时间延迟将被用来控制伺服电机。伺服电机连接到宠物食物储存容器,根据设置它会分配出所需的食物量。
实物图如下:
在这里插入图片描述
视频展示:

基于Arduino的宠物食物分配器

二、需要的器件

准备好所有这些材料,这样你就可以顺利地进行这个项目了。

  • Arduino Uno
  • 超声波传感器(HC-SR04) x2
  • 跳线
  • 微型伺服电机
  • Arduino编程线
  • 小型面包板
  • 塑料瓶(回收的水瓶)
  • 切割工具
  • 纸板
  • 宠物喜欢的食物颗粒
  • 热熔胶
  • 宠物

三、Arduino代码和电路

在这里插入图片描述
在这里插入图片描述
第一步是上传代码,这是一项非常简单的任务,只需打开电脑上的Arduino IDE,如果你没有IDE,你可以从官方的Arduino网站下载。打开它并粘贴Arduino代码,选择正确的主板类型和端口类型,然后点击上传按钮。代码上传到你的主板上之后,我们可以开始用跳线连接组件。
我将把电路分成两部分:

  1. HC-SR04部分和伺服部分。

我们使用了2个超声波传感器,两个传感器的作用是相同的。两个传感器的Gnd和Vcc都连接到面包板上的Gnd和5V电源轨。

  1. 第一个传感器的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学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…...

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" 输出&#xff…...

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小示例——质地不均匀的硬币概率统计

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

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

在rocky linux 9.5上在线安装 docker

前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...

【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论

路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中(图1): mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...