当前位置: 首页 > 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.xdnf.cn/news/1358641.html

相关文章:

  • 互联网大厂Java面试模拟:核心技术点深度解析
  • 极验demo(float)(二)
  • 从字节码层面剖析以太坊智能合约创建原理
  • EXCEL实现复制后倒序粘贴
  • 从Android到鸿蒙:一场本应无缝的转型-优雅草卓伊凡
  • iptables 防火墙核心知识梳理(附实操指南)
  • 【文献阅读】Land degradation drivers of anthropogenic sand and dust storms
  • 《一次高并发场景下疑难Bug的深度排查与复盘》
  • rust语言 (1.88) egui (0.32.1) 学习笔记(逐行注释)(十七)设置主题
  • AI代码生成器全面评测:六个月、500小时测试揭示最强开发助手
  • CI/CD持续集成及持续交付详解
  • 户外广告牌识别误报率↓79%!陌讯多模态融合算法在城市广告合规监测的实战解析
  • TEE-可信执行环境
  • 程序里的依赖和中间件的依赖冲突,怎么解决
  • C++20: std::span
  • 多线程下单例如何保证
  • elasticsearch 7.x elasticsearch是查询的数据量大于10000分页有问题还是es的库总量大于10000分页有?
  • 【软件安全】ARM64、x86、32 位与 64 位架构的区别、定义、应用背景
  • 安装gitlab
  • Dify 从入门到精通(第 53/100 篇):Dify 的分布式架构(进阶篇)
  • 线程整理文档
  • git学习
  • Wagtail CRX 的 Latest Pages Block 高级设置 模版v3.0 以后被阉割了
  • Vue vs React:前端框架的差异与选择
  • 【SpringBoot集成篇】SpringBoot 深度集成 Elasticsearch 搜索引擎指南
  • 代码性能测试——benchmark库
  • 基于Spring Boot与Redis的电商场景面试问答解析
  • Python训练营打卡 DAY 46 通道注意力(SE注意力)
  • 【数据结构】排序算法全解析
  • Linux服务实验