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);	
	}											    
}	

六、实验效果

七、资料内容

项目分享

相关推荐
佛大第一深情1 小时前
ESP32 在Platform Arduino平台驱动外部PSAM,进行内存管理
c语言·单片机·嵌入式硬件
hallo-ooo2 小时前
【STM32】定时器的外部时钟模式
stm32·单片机
hallo-ooo2 小时前
【STM32】定时器输入捕获
stm32·单片机
小智学长 | 嵌入式3 小时前
单片机-STM32部分:1、STM32介绍
stm32·单片机·嵌入式硬件
zhbi983 小时前
STM32移植U8G2
stm32·单片机·嵌入式硬件·u8g2
Hans_Rudle4 小时前
MSP430G2553驱动0.96英寸OLED(硬件iic)
单片机·嵌入式硬件·msp430
爱奥尼欧5 小时前
【STM32】ADC的认识和使用——以STM32F407为例
stm32·单片机·嵌入式硬件
海绵宝宝的月光宝盒9 小时前
[STM32] 4-2 USART与串口通信(2)
c语言·开发语言·笔记·stm32·单片机
Mr_Chenph10 小时前
Stm32 烧录 Micropython
stm32·单片机·嵌入式硬件·micropython
快乐飒男11 小时前
stm32基础001(串口)
stm32·单片机