基于STM32的智能垃圾桶的Proteus仿真



一、智能垃圾桶

1.题目要求

  1. 使用超声波测距模块HC-SR04模块进行检测垃圾桶容量,检测到垃圾桶容量满载后进行报警提示,此时需要处理垃圾;
  2. 红外传感器HCSR501检测有人或者无人,有人时垃圾桶盖自动打开,无人时自动合上(用舵机模拟翻盖动作);
  3. 光敏传感器检测周围光照环境控制Led灯的亮灭;
  4. DHT11温湿度传感器检测环境的温度,湿度;
  5. MQ-135空气质量传感器检测空气质量;
  6. OLED显示屏显示温湿度,空气质量,有人/无人信息;
  7. 模拟Wifi功能,自动接收温湿度,光照强度,空气质量,垃圾桶容量等信息。

2.思路

由上面的功能需求,我们可知需要一个主控选51或者32都行,然后超声波测距模块HC-SR04,声光报警,红外传感器HCSR501,舵机,光敏电阻,Led灯,DHT11传感器,MQ-135空气质量传感器,OLED显示屏,WIfi模块等。

单片机STM32F103C8T6:

在这里插入图片描述

超声波测距模块:

在这里插入图片描述

声光报警:

在这里插入图片描述

红外传感器:

在这里插入图片描述

舵机:

在这里插入图片描述

光敏电阻和灯:

在这里插入图片描述

温湿度传感器DHT11:

在这里插入图片描述

MQ-135 空气质量传感器:

在这里插入图片描述

OLED显示屏:

在这里插入图片描述

模拟Wifi模块:

在这里插入图片描述

3.电路仿真

3.1 未仿真

在这里插入图片描述

3.2 开始仿真,显示屏显示环境温度等,虚拟终端打印信息

在这里插入图片描述

3.3 红外检测到人。模拟垃圾桶盖翻盖

在这里插入图片描述

3.4 光照强度低于30,自动开启灯光

在这里插入图片描述

3.5 模拟垃圾桶容量100%,检测到垃圾桶满声光报警

在这里插入图片描述

4.仿真程序

4.1 程序说明

主控芯片:STM32F103C8
HSI:64MHZ
Systick: 1ms

超声波测距:
TR:PA0
ECHO:PA1

光照传感器:LDR(PA2)

空气质量传感器:ADC(PA3)

灯光:LED(PA4)

DHT11温湿度传感器:DATA(PA6)

模拟WIFI模块(Uart1):9600(PA9:tx1,PA10:rx1)

舵机:
PWM1(PB6)

声光报警:BUZZER(PB11)

OLED显示屏:SCL(PB14),SDA(PB15)

4.2 主程序

/* Includes ------------------------------------------------------------------*/
#include "Drv_UserSystem.h"
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
/**
  * @brief  main function.
  * @param  none
  * @retval none
  */
int main(void)
{
   
   
	UserSystemInit();//用户配置初始化		
	while (1)
	{
   
   			
			if (stSysTime.flg._10ms + TEN_MILLISECOND < Time_millis()) //10ms
			{
   
   
				stSysTime.flg._10ms = Time_millis();	
                IR_Scan();//检测是否有人				
			}
			if (stSysTime.flg._50ms + FIFTY_MILLISECOND < Time_millis()) //50ms
			{
   
   
				stSysTime.flg._50ms = Time_millis();						
				ADC_Scan();//光照,空气质量检测		
                DHT11_Collect_data();//DHT11采集温度,湿度					
			    Measurement_function();//测距函数								
			}				
			if(stSysTime.flg._100ms + BEST_MILLISECOND < Time_millis()) //100ms
			{
   
   
				stSysTime.flg._100ms = Time_millis();											
				OLED_Handel();//OLED显示					
				IWDG_ReloadCounter();//清开门狗 				
			}
			if (stSysTime.flg._1s + THOUSAND_MILLISECOND 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaobuding_QAQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值