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

硬件开发_基于物联网的宠物猫饲养系统

一.系统概述

智能猫舍系统具备以下主要功能:

  1. 环境参数实时监测:系统硬件集成温湿度和异味传感器,能够实时检测猫舍内部的温度、湿度以及异味水平。
  2. 数据可视化显示:设备配有液晶屏,实时显示当前采集到的各项环境数据,方便用户随时掌握猫舍状况。
  3. 参数设定与自动调节:支持按键设置温度、湿度和异味的阈值。当参数超过设定值时,系统会自动进行环境调节,保证猫舍环境的舒适与稳定。
  4. 异常报警提醒:若异味传感器检测到异常,系统会启动蜂鸣器进行报警,及时提醒用户采取相应措施。
  5. 无线数据通信:内置无线通信模块,可将环境数据上传到监控端,实现远程监测和数据访问。
  6. 远程投食控制:用户可通过监控端远程控制猫舍投食,增强了系统的互动性和便捷性。

在这里插入图片描述

二.电路设计

电路图采用Altium Designer进行设计,具体实现如下:

  1. 以STM32F103C8T6单片机为系统主控,最小系统电路作为整个电路的核心部分。
  2. 通过DHT11传感器进行温湿度检测,并采用单总线方式将其连接至单片机的GPIO端口。
  3. 使用MQ-135传感器监测异味,将其模拟输出端接入单片机的模拟输入口。
  4. 采用0.96英寸OLED12864显示屏进行数据展示,利用IIC总线与单片机通信。
  5. 通过ESP8266-01S无线模块,将采集到的数据上传至上位机,模块与单片机通过UART串口连接。
  6. 采用独立按键实现阈值设置,一端接地,另一端连接至单片机的GPIO口。
  7. 通过继电器控制温湿度调节设备,继电器输入端与单片机的GPIO口相连。
  8. 使用有源蜂鸣器进行报警,蜂鸣器由NPN三极管驱动。

在这里插入图片描述

在这里插入图片描述

三.程序设计

#include “sys.h”
#include “delay.h”
#include “adc.h”
#include “math.h”
#include “key.h”
#include “OLED_I2C.h”
#include “Beep_Led_Relay.h”
#include “Control_Report_To_Police.h”

int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
delay_init(); //延时函数初始化
Beep_init();
Beep=1; //蜂鸣器初始化 系统上电后先让蜂鸣器停止叫
TIM4_Init(300,7200);
KEY_Init(); //PA11 PA12 PA15
OLED_Init(); //OLED初始化
while(DHT11_Init()){} //PA12
Adc_Init(); //PA1 一味
Relay_init(); //Pa8

OLED_CLS();              							//OLED清屏
OLED_ShowCN(32,2,0);								//小常硬件
OLED_ShowCN(32+16,2,1);
OLED_ShowCN(32+32,2,2);
OLED_ShowCN(32+32+16,2,3);
delay_ms(500);
OLED_CLS();ALi_ESP8266_GPIO_Init();
MQTT_Buff_Init();
AliIoT_Parameter_Init();/*******显示汉字*******/
OLED_ShowCN(0,0,4);	
OLED_ShowCN(0+16,0,5);
OLED_ShowCN(0,2,6);	
OLED_ShowCN(0+16,2,7);
OLED_ShowCN(0,4,8);	
OLED_ShowCN(0+16,4,9);
OLED_ShowCN(0,6,10);	
OLED_ShowCN(0+16,6,11);while(1)
{OLED_Display_Cotrol(); //显示控制函数
}	 

}

四.资料内容

在这里插入图片描述

24-32-30

http://www.dtcms.com/a/348558.html

相关文章:

  • 中介者模式与几个C++应用实例
  • 【高等数学】第十章 重积分——第二节 二重积分的计算法
  • 交通拥堵识别准确率↑22.5%!陌讯多模态时序融合算法在智慧交通的落地优化
  • Spring AOP面向切面的底层原理、注解、切入点表达式、连接点获取方法名参数值等
  • C++STL底层原理:探秘标准模板库的内部机制
  • 从全栈开发到微服务架构:一次真实的Java面试实录
  • 【机器学习】9 Generalized linear models and the exponential family
  • 大模型面试题剖析:微调与 RAG 技术的选用逻辑
  • 【Docker项目实战】使用Docker部署Hibiscus.txt简单日记工具
  • VITE BALABALA require balabla not supported
  • Linux:shell命令
  • 【数据结构】-4-顺序表(上)
  • AI Agent与生成式AI双驱动:AI如何重塑商业格局并创造千亿级增量价值
  • 一套完整的Linux下usb设备驱动包括字符设备驱动吗
  • Docker 安装LDAP(企业级统一账号配置系统)
  • 税务岗位能力提升培训课程推荐:专业成长与证书指南
  • 【Game】Powerful——Punch and Kick(12.3)All Star
  • KingBase数据库迁移利器:KDTS工具深度解析与实战指南
  • Https之(三)TLS双向认证
  • Linux->多线程2
  • openGauss之 无用join消除
  • 如何在 IDEA 中在启动 Spring Boot 项目时加参数
  • Ubuntu 服务器无法 ping 通网站域名的问题解决备忘 ——通常与网络配置有关(DNS解析)
  • 国内使用SSH稳定使用github
  • ROS 与 Ubuntu 版本对应关系
  • 基于Transformer的知识图谱推理模型(KnowFormer)
  • 使用python进行接口测试
  • .net9 解析 jwt 详解
  • Indy HTTP Server 使用 OpenSSL 3.0
  • 采摘机器人设计cad+三维图+设计说明书