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();//自由在自动模式下才检测时间

		}
}

六、实验效果

七、资料内容

项目分享

相关推荐
点灯小铭2 小时前
基于单片机的多路热电偶温度监测与报警器
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
tianyue1007 小时前
STM32G431 ADC 多个channel 采集
stm32·单片机·嵌入式硬件
清风6666668 小时前
基于单片机的水泵效率温差法测量与报警系统设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
z20348315209 小时前
定时器练习报告
单片机·嵌入式硬件
zk009 小时前
内容分类目录
单片机·嵌入式硬件
安生生申10 小时前
STM32 ESP8266连接ONENET
c语言·stm32·单片机·嵌入式硬件·esp8266
广药门徒10 小时前
电子器件烧毁的底层逻辑与避坑指南
单片机·嵌入式硬件
点灯小铭14 小时前
基于单片机的社区医院小型高压蒸汽灭菌自动控制器设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
youcans_15 小时前
【动手学STM32G4】(3)STM32G431之定时器
stm32·单片机·嵌入式硬件·定时器
悠哉悠哉愿意15 小时前
【嵌入式学习笔记】AD/DA
笔记·单片机·嵌入式硬件·学习