STM32项目分享:智能宠物喂食系统

目录

一、前言

二、项目简介

1.功能详解

2.主要器件

三、原理图设计

四、PCB硬件设计

1.PCB图

五、程序设计

六、实验效果

七、资料内容

项目分享


一、前言

项目成品图片:

哔哩哔哩视频链接:

https://www.bilibili.com/video/BV1zy411z751/?share_source=copy_web&vd_source=097fdeaf6b6ecfed8a9ff7119c32faf2

(资料分享见文末)

二、项目简介

1.功能详解

基于STM32的智能宠物喂食系统

功能如下:

  1. 使用STM32F103C8T6单片机做主控制器。
  2. 使用OLED屏实时显示宠物窝的温度、湿度,投喂食物次数。
  3. 使用DHT11检测宠物窝的温湿度。
  4. 使用光敏电阻检测环境变化情况。
  5. 使用步进电机控制投食。
  6. 使用蓝牙模块实现手机通讯,可以使用手机控制投食、开关灯、模式切换

2.主要器件

  • STM32F103C8T6最小系统板
  • DHT11温湿度传感器
  • OLED显示屏(7针SPI协议)
  • BT04A蓝牙模块
  • 步进电机
  • 光敏传感器
  • LED灯

三、原理图设计

四、PCB硬件设计

1.PCB图

五、程序设计

cpp 复制代码
int main(void)
 {  	    
	u8 temperature=0;  	    
	u8 humidity=0;
    extern  u8 foodnum;  //设置温度
    extern int auto_flag; 
	delay_init();	    	 //延时函数初始化	  
	uart_init(9600);	 	//串口初始化为9600
	LED_Init();		  		//初始化与LED连接的硬件接口
	TIM5_PWM_Init(9999,143); 
    //TIM4_CH_Init(200); 
	//SystemInit();
	 
	DHT11_Init();
	KEY_Init();
	EXTIX_Init();
	OLED_Init();
	OLED_Clear();	
 	//Adc_Init();		  		//ADC初始化
	Moto_Init();	   			//电机
    //delay_init();	    	 //延时函数初始化	  
	
	OLED_ShowCHinese(0,0,0);	
	OLED_ShowCHinese(16,0,2);
	OLED_ShowString(32,0,":      C"); 
	
	OLED_ShowCHinese(0,2,1);	
	OLED_ShowCHinese(16,2,2);
	OLED_ShowString(32,2,":      %"); 
	
	OLED_ShowCHinese(0,4,3);	
	OLED_ShowCHinese(16,4,4);
	OLED_ShowString(32,4,":"); 
	OLED_ShowCHinese(84,4,5);	
	
//  OLED_ShowString(0,2,"NowTemp:  C"); 
//  OLED_ShowString(0,4,"Foodnum:  ");	 
 	SetJointAngle(90);
	while(1)
	{ 
	   DHT11_Read_Data(&temperature,&humidity);
	   KEY_Scan();//调用按键函数
	// SetJointAngle(90);
	   OLED_ShowInt(64,0,temperature);
       OLED_ShowInt(64,2,humidity);
	   OLED_ShowInt(64,4,foodnum);
	   printf("温度: %d  湿度: %d  喂食次数: %d \r\n",temperature,humidity,foodnum);
	   //printf("kcal:%d\r\n",temperature);
	   delay_ms(1000);	
	}											    
}	

六、实验效果

七、资料内容

项目分享

相关推荐
悠哉悠哉愿意4 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
Lester_11014 天前
STM32霍尔传感器输入口设置为复用功能输入口时,还能用GPIO函数直接读取IO的状态吗
stm32·单片机·嵌入式硬件·电机控制
LCG元4 天前
低功耗显示方案:STM32L0驱动OLED,动态波形绘制与优化
stm32·嵌入式硬件·信息可视化
三佛科技-187366133974 天前
120W小体积碳化硅电源方案(LP8841SC极简方案12V10A/24V5A输出)
单片机·嵌入式硬件
z20348315204 天前
STM32F103系列单片机定时器介绍(二)
stm32·单片机·嵌入式硬件
古译汉书5 天前
【IoT死磕系列】Day 7:只传8字节怎么控机械臂?学习工业控制 CANopen 的“对象字典”(附企业级源码)
数据结构·stm32·物联网·http
Alaso_shuang5 天前
STM32 核心输入、输出模式
stm32·单片机·嵌入式硬件
2501_918126915 天前
stm32死锁是怎么实现的
stm32·单片机·嵌入式硬件·学习·个人开发
z20348315205 天前
STM32F103系列单片机定时器介绍(一)
stm32·单片机
星马梦缘5 天前
驱动层开发——蜂鸣器驱动
stm32·单片机·嵌入式硬件·hal·驱动