STM32项目分享:智能宠物喂食系统(升级版)

目录

一、前言

二、项目简介

1.功能详解

2.主要器件

三、原理图设计

四、PCB硬件设计

PCB图

五、程序设计

六、实验效果

七、资料内容

项目分享


一、前言

项目成品图片:

哔哩哔哩视频链接:

https://www.bilibili.com/video/BV19hmMY6ErU/?spm_id_from=333.1387.upload.video_card.click&vd_source=199aed5297a00e80e1faf7e270afe8d7

(资料分享见文末)

二、项目简介

1.功能详解

基于STM32的智能宠物喂食系统(升级版)

功能如下:

  1. 主控芯片为STM32单片机
  2. 显示屏显示当前时间、温湿度以及食物重量
  3. 传感器测量当前食物重量,以实现投放食物和停止喂食
  4. 可以调节投喂时间和投喂重量
  5. 每天定点提醒宠物进食
  6. 可以自动操作也可以手动操作
  7. 开机显示 时间 温湿度,宠物重量以及当前模式
  8. 手机APP显示信息并完成控制

2.主要器件

  • STM32F103C8T6最小系统板
  • DHT11温湿度传感器
  • OLED 屏幕(4针IIC)
  • 光电红外传感器
  • 水位传感器
  • HX711称重传感器
  • JQ6500语音模块
  • 水泵模块
  • 步进电机
  • ESP8266-01S模块(WIFI)

三、原理图设计

四、PCB硬件设计

PCB图

五、程序设计

cpp 复制代码
int main(void)
{	
	  DelayInit();//系统延时函数初始化
		DelayMs(1000);
	  uart_init(9600);//串口以初始化 波特率设置为9600
		ESP8266_Init(); //WIFI模块初始化
		LED_Init();
	  Key_Init();//按键引脚初始化
		Start_Mode();//判断启动模式有无APP
		motor_io_Init();//步进电机控制脚初始化
		DHT11_Init();
		TIM2_Int_Init(10000,3600);//输出话定时器  这边用到定时器2作为0.5秒钟中断发生源
		TIM_Cmd(TIM2, ENABLE);//开启定时器2	
		DS1302_init(0x23,0x02,0x18,0x14,0x30,0x30);//时钟模块初始化
		//I2C_Configuration();//开启IIC功能
		music_play1();
		OLED_Init();//OLED屏幕初始化
	  OLED_CLS();//清屏
		Init_HX711pin();
		Get_Maopi();
		mod = 0;//开机显示开机界面
		bluemod=0;
		Readflash(set_code,0,20);  //读取内部保存数据
	  DelayMs(10);
		if(set_code[19] != 66)//对比内部数据是不是以及被重新覆盖  是的话载入初始化数据
		{
			OLED_ShowStr(0,0,"===NO  FLASH===",2);
			Writeflash(0,begin_code,0,20);//写入初始化数据
			DelayMs(500);
			Readflash(set_code,0,20);//读取写写入后的数据
			sprintf(str,"Init System [%2d]",set_code[19]);//显示验证数据
			OLED_ShowStr(0,4,(unsigned char *)str,2);
			DelayMs(1500);
			OLED_CLS();//清屏
			LED_Init();
		}

    while (1)
		{		    

			if(mod == 0)//待机模式下
			{
				Get_Weight();
				DS1302_Readtime(); //获取当前日期/时间
			}
			DHT11_Read_Data();
			display();//显示程序
			testdata=0;
			if(start_mode) //模式判断
			esp8266_play();
			key();//按键程序
			if(run_mod == 0)	run();//自由在自动模式下才检测时间

		}
}

六、实验效果

七、资料内容

项目分享

相关推荐
雅欣鱼子酱4 分钟前
Type-C 终端应用里 给产品增加PD快充取电 PD取电诱骗芯片有什么推荐?
人工智能·单片机·芯片·电子元器件
polarislove021425 分钟前
9.4 呼吸灯实验-嵌入式铁头山羊STM32笔记
笔记·stm32·嵌入式硬件
菩提祖师_40 分钟前
基于单片机指纹密码门禁的设计与实现
数据库·单片机·嵌入式硬件
广州灵眸科技有限公司41 分钟前
瑞芯微(EASY EAI)RV1126B RTC使用
单片机·物联网·实时音视频
白书宇1 小时前
【STM32实战】从零开始写Linux 0.12内核 第2个实验 准备开发板
linux·stm32·嵌入式硬件
三佛科技-134163842121 小时前
SM7055-18 输出18V 250mA低成本非隔离BUCK、 BUCK-BOOST方案典型应用电路(电磁炉方案)
单片机·嵌入式硬件·物联网·智能家居·pcb工艺
d111111111d1 小时前
STM32 I2C通信详解:从机地址 vs 寄存器地址
笔记·stm32·单片机·嵌入式硬件·学习·模块测试
q_30238195561 小时前
宇树机器人又刷第一!具身智能靠强化学习解锁直立行走与快速奔跑
人工智能·python·单片机·机器人·ai编程
安当加密1 小时前
断网服务器如何防“物理入侵”?用SLA 操作系统双因素认证实现离线双因子认证
服务器·stm32·单片机
老华带你飞2 小时前
宠物管理|基于java+ vue宠物管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·宠物