硬件开发_基于STM32单片机的智能垃圾桶系统2
一.系统概述
智能垃圾桶系统的功能如下:
- 垃圾溢满检测:通过红外识别模块检测垃圾桶是否溢满;
- 语音控制开盖:采用语音识别技术,用户可通过语音命令控制开盖;
- 人体感应自动开盖:红外传感器检测到有人靠近时,自动打开桶盖;
- LED提醒:垃圾桶即将溢满时,LED灯闪烁提醒用户;
- 舵机控制:通过舵机实现桶盖的自动开闭;
- 远程控制:用户可通过手机应用远程操控开盖。
二.电路设计
电路图采用Altium Designer进行设计:
- 以STM32F103C8T6单片机为主控,其最小系统电路为整个电路的核心;
- 采用LU-ASR01高精度语音识别模块检测语音指令,通过UART串口与单片机通信;
- 光电开关用于人体检测和垃圾桶溢满检测,模块数据输出脚直接连接单片机GPIO口;
- 舵机控制线接单片机GPIO口,用于控制垃圾桶盖的开闭;
- ESP8266-01S通过UART串口与单片机通信,将检测数据上传至上位机。
三.程序设计
#include “sys.h”
#include “delay.h”
#include “adc2.h”
#include “math.h”
#include “key.h”
#include “OLED_I2C.h”
#include “Control_Report_To_Police.h”
int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
delay_init(); //延时函数初始化
Usart1_Init(9600);
TIM4_Init(300,7200);
Servor_GPIO_Config_Time2_Init();
switch_Init();
Led1_init();
OLED_Init(); //OLED初始化
OLED_CLS(); //OLED清屏
OLED_CLS();
ALi_ESP8266_GPIO_Init();
MQTT_Buff_Init();
AliIoT_Parameter_Init();
while(1)
{
OLED_Display_Cotrol(); //显示控制函数
}
}
四.资料内容
24-32-49