| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 【毕业设计】单片机 宠物自动喂食系统 - stm32 物联网 嵌入式 -> 正文阅读 |
|
[嵌入式]【毕业设计】单片机 宠物自动喂食系统 - stm32 物联网 嵌入式 |
文章目录0 简介🔥 Hi,大家好,这里是丹成学长的毕设系列文章! 🔥 对毕设有任何疑问都可以问学长哦! 这两年开始,各个学校对毕设的要求越来越高,难度也越来越大… 毕业设计耗费时间,耗费精力,甚至有些题目即使是专业的老师或者硕士生也需要很长时间,所以一旦发现问题,一定要提前准备,避免到后面措手不及,草草了事。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的新项目是 🚩 基于stm32的宠物自动喂食系统 🥇学长这里给一个题目综合评分(每项满分5分)
🧿 选题指导, 项目分享: https://gitee.com/kaaxuu/warehouse-seven-warehouse/blob/master/iot/README.md 1 系统说明为了解决主人不在家而无法正常对宠物进行饮水喂食, 导致宠物身体不健康这一情况, 为此学长设计了宠物自动饮水喂食器。 宠物自动饮水喂食器主要由单片机最小系统、 水位检测系统、 温度检测系统、 饲料检测系统、 按键控制系统、 LCD1602 液晶显示系统组成。 单片机系统需要正常工作必须保证最小系统工作正常, 宠物自动饮水喂食器的饮水过程是通过超声波检测水位, 若检测到的水位低于设定水位就开启加水功能; 通过 DS18B20 温度传感器检测当前温度, 若检测到的温度低于设定温度则开启加温功能; 液晶屏显示当前水位及温度和设定水位及温度。 喂食过程是通过光电传感器检测饲料是否存在, 若检测到饲料不存在, 则开启加饲料功能。 2 背景意义随着我国社会经济水平的快速发展以及城市化进程的不断加速, 很明显我国国民的生活水平不断得到提高, 而宠物业也因此得到飞速的发展。 现如今家庭宠物的饲养已经成为城市居民生活消遣的新方式, 而且饲养宠物的观念也与以往大不相同, 其中宠物的喂养就是人们最为关心的问题。 不过目前宠物主要还是依靠人工进行喂养。 而且随着人们生活水平不断的提高, 人们开始侧重于精神的追求, 很多年轻人和老年人都会收养自己的宠物, 但是年轻人大多时间都忙于工作, 老年人可能由于记忆或者身体不便等原因, 有时候可能顾及不到自己的宠物, 那么宠物很有可能因为缺水或者饥饿而导致不健康成长或者死亡。 如果是这样的话对于宠物的伤害是非常大的。 因此就急需一种能自动加水喂食的装置, 以保证宠物饮食正常。 人们可以在对宠物喂水和喂料上无需发费多余的时间即可很好的照顾自己的宠物, 具有极大的市场价值和经济效益。 3 系统设计学长设计的是宠物自动饮水喂食器, 它主要要实现自动加水加温喂食功能。 即检测到的水位与温度低于我的设定值, 就开启加水加温喂食功能, 还能按键调整设定水位与温度, 并能显示设定与检测水位与温度值。 在电路设计中, 系统主要由主控器,测温模块, 水位检测模块, 食物检测模块, 显示模块, 按键模块和加温加水喂食模块组成。 3.1 总体方案通过数字温度传感器 DS18B20、 HC-SR04 超声波传感器及 TLN104/TLP104 红外对管光电传感器对温度、 水位和食物存在进行检测, 将采集到的信号传送给STM32单片机进行处理, 若检测的温度或水位低于设定温度值或水位值, 或没有检测到食物信号, 单片机将控制加温加水喂食电路进行工作, 按键电路用于对温度及水位报警值进行设定, LCD1602 显示电路用于显示检测的温度水位及设定的温度和水位信息值, 系统方框图如下所示 3.2 硬件设计3.2.1 STC89C52单片机 STC89C52 是从传统 MCS51 基础上进行升级过来, 在内部资源分布上更加丰富, 比如时钟模块, 单片机管脚第 2 功能等。使用其他的芯片也是ok的。 3.2.2 CLS150TD舵机舵机选用达盛舵机科技有限公司生产的CLS150TD型号的舵机,实物图及尺寸如图所示。该型号舵机运行温度在-15℃~70℃,工作电压范围为4.8v-6.8v,驱动方式为PWM波,脉冲范围为500~2500 μsec,控制角度为:360°。
3.2.3 压力传感器压力传感器选用电阻应变式压力传感器,以电阻应变计为转换元件,由弹性敏感元件、电阻应变计、补偿电阻和外壳组成,弹性敏感元件受到所测量的力而产生变形,并使附着其上的电阻应变计一起变形。电阻应变计再将变形转换为电阻值的变化,从而可以测量压力的变化,再通过A/D转换模块,即可得到被测物体的重量。所需接线的引脚为:EXC+、EXC-、SIC+、SIC-。实物图、引脚如图所示。
3.2.4 HX711 A/D模块A/D模块选用HX711芯片,主要实现将压力传感器检测到的电压信号转换成STM32可读的数字信号。所需连接的引脚:AVDD引脚、GND引脚、INA+引脚、INA-引脚、DT引脚、SCK引脚、VCC引脚。HX711模块实物图如图所示。 3.2.5 供电及稳压供电使用3S锂电池作为整体装置的供电,3S锂电池可以提供11.1v的电压。3S锂电池实物如图所示。 3.2.6 TLN104/TLP104 红外对管光电传感器模块介绍该传感器模块对环境光线适应能力强, 其具有一对红外线发射与接收管, 发射管发射出一定频率的红外线, 当检测方向遇到障碍物时, 红外线反射回来被接收管接收,经过比较器电路处理之后, 绿色指示灯会亮起, 同时信号输出接口输出数字信号(一个低电平信号) , 可通过电位器旋钮调节检测距离, 有效距离范围 2~30cm, 工作电压为 3. 3V-5V。 实物图如 3.2.7 其他硬件模块DS18B20和LCD本片文章学长不在复述 3.3 软件实现3.3.1 主程序逻辑首先先给单片机上电, 系统软件设计需先对 LCD1602 与 T0、 T1 先初始化, 然后进行温度与水位读取转换, 其次按键扫描, 再完成对宠物自动饮水喂食器的温度和水位检测以及判断是否含有食物。 如果当检测的温度或者水位低于设定值 29 ℃ 或 15cm或者没有检测到食物, 将使喂食器自动实现加温加水以及喂食功能, 以此不断运行。主函数的功能就是对程序设计中使用的变量及模块初始化并将各功能子模块进行调用。 3.3.2 按键监听模块硬件电路中使用 4 个独立按键用来作为温度和水位阀值的设定装置, 由于采用独立式接法, 因此只需要判断对应的输入电平即可确认按键是否按下以及是哪个按键按下。 凡是在按键处理的过程中都需要对其消抖处理, 因为按键在按下和松开的过程中会产生抖动, 如果不进行消抖处理, 那么当按键按下后就判断其状态, 这个很有可能是按键抖动所产生的误操作。 由于硬件电路中并没有做消抖处理, 所以需要通过软件来进行消抖。 3.3.3 温度数据读取硬件电路中使用了单总线接口的数字温度传感器 DS18B20 作为喂食器的温度检测装置, 由于我们使用的单片机没有单总线接口, 必须通过管脚来模拟时序通信。 根据温度传感器的初始化及读写时序图可以模拟, 温度传感器在读写数据的时候是先读写低位, 然后再是高位。 所以需要一个循环函数及移位操作来读写 8 次。 然后通过发送温度转换及读取命令就可以读取到温度数据, 读取到的温度数据还需要对其进行处理才能转换为实际的温度。 温度转换读取流程图如图 3.3.4 超声波检测水位硬件电路中使用了 HC-SR04 超声波传感器模块来检测水位的变化, 由于使用超声波来测距需要对时间进行计算, 所以需要使用到单片机内的定时器功能, 通过定时器计算超声波返回的高电平持续时间就可以计算距离, 水位距离检测流程图如图 3.3.5 LCD1 602 显示模块在对 LCD 液晶初始化的时候我们需要了解其具有步骤, 根据数据手册可以知道,要对 LCD1602 液晶初始化, 首先需要一段时间的延时, 然后根据个人要求选择具体的显示模式, 可以选择显示光标或者光标闪烁等, 最后需要对 LCD 进行一次清屏, 将内部 RAM 的数据全部清除, 等待下一次的显示。 初始化结束以后根据时序编写写命令函数和写数据函数, 最后就是使用这 2 个函数来进行数据显示, 流程图如图 4 实现效果将电源接口接外电源 5V 供电, 按下上电按钮, 电源指示灯亮起, 系统通电正常工作。 LCD1602 显示设定的水位 15. 0 与温度值 29, 如图 当用 HC-RC04 超声波传感器检测到的水位低于设定水位 15mm 时, 就驱动加水电路, 即加水绿灯亮起, 液晶屏显示检测到的水位值; 当用 DS18B20 检测到的温度低于设定温度 29℃时, 驱动加温电路, 即加温红灯亮起, 液晶屏显示检测到的温度值。
通过按键可设置水位上下限范围为 0cm—20cm; 温度上下限范围 0℃~+125℃,根据用户需求可通过按键去调整设定水位与温度值 5 关键代码
🧿 选题指导, 项目分享: https://gitee.com/kaaxuu/warehouse-seven-warehouse/blob/master/iot/README.md |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 22:52:29- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |