零基础学会制作 基于STM32/51单片机的多功能垃圾桶控制系统/智能垃圾桶/垃圾桶/蓝牙/WIFI
智能垃圾桶的垃圾分类提示功能 #生活乐趣# #日常生活趣事# #家居生活趣闻# #家居科技趣闻#
项目介绍
本文研究了单片机智能控制的多功能垃圾桶。以STM32F103C8T6单片机为核心,利用语音模块对垃圾进行分类做出反馈,利用SG90舵机模块打开相应种类的垃圾桶盖。其次利用红外检测模块对垃圾桶内的垃圾满溢做出检测,并用通信模块进行通知。本次开发的垃圾桶系统能实现垃圾分类功能,根据用户的声音来识别垃圾的类型,告知用户垃圾类别,并开启相应垃圾箱盖。且具备垃圾桶放满提示功能,垃圾桶满后相应指示灯点亮,并给工作人员发送短信提示及时清理。还具备夜间照明功能,可判断白天、晚上,在晚上时段自动开启照明模式。
功能介绍
随着生活水平的提高,人们对生活品质更为关注,多功能垃圾桶应运而生。本设计要求基于单片机设计多功能垃圾桶,要求其具备太阳能供电、语音提示垃圾类型并分类、短信提示等功能。
1)具备垃圾分类功能,根据用户的声音来识别垃圾的类型,告知用户垃圾类别,并开启相应垃圾箱盖(可识别垃圾类型为4类,可回收垃圾,厨余垃圾,有害垃圾,其他垃圾);
2)具备夜间照明功能,可判断白天、晚上,在晚上时段自动开启照明模式;
3)具备垃圾桶放满提示功能,垃圾桶满后相应指示灯点亮,并给工作人员发送短信提示及时清理。
所用模块
本设计采用了舵机模块、红外检测模块、语音模块、GSM模块、光敏电阻模块、指示照明模块等关键技术。该系统可以通过语音指令自动识别垃圾种类,并将其分类投放到指定的垃圾桶内,实时监测垃圾桶的满载状态。
四个种类垃圾桶并排布置,垃圾桶内部桶壁高处布置红外检测模块。通过红外检测模块感知垃圾桶的填充程度,通过语音模块提醒用户进行垃圾分类,以及垃圾桶满载时的提示,利用GSM模块在垃圾桶满载时给工作人员发送短信提示及时清理垃圾桶,利用光敏电阻模块和指示照明模块在光线不足的情况下提供照明。单片机作为系统的核心控制单元,负责协调各模块的工作,处理数据。舵机模块用于驱动垃圾桶的分类门或盖,根据垃圾种类自动开闭不同的分区。红外检测模块用于垃圾桶满载状态的检测。语音模块播放预录的语音指导,如分类指示和满载警告。GSM模块实现垃圾桶状态的及时反馈。
系统原理图
实物图
部分代码
#include “stm32f10x.h” //STM32头文件
#include “sys.h”
#include “delay.h”
#include “led.h”
#include “key.h”
#include “pwm.h”
#include “usart.h”
#include “tim.h”
u16 time_dj = 100;//舵机工作时间
u16 time_ys = 300;//关盖延时时间
u16 ds1 = 0;//延时计数器
u16 ds2 = 0;
u16 ds3 = 0;
u16 ds4 = 0;
u8 flag_open1 = 1;//开盖标志
u8 flag_open2 = 1;
u8 flag_open3 = 1;
u8 flag_open4 = 1;
u8 flag_sd1 = 0;//手动标志
u8 flag_sd2 = 0;
u8 flag_sd3 = 0;
u8 flag_sd4 = 0;
u8 flag_yk1 = 0;//遥控标志
u8 flag_yk2 = 0;
u8 flag_yk3 = 0;
u8 flag_yk4 = 0;
u8 command1 ;//通讯缓存
u8 command2 ;
u8 command3 ;
u8 bommand ;
u8 flag_ljm = 0;//垃圾满
u8 flag_fs1 = 0;
u8 flag_fs2 = 0;
u8 flag_fs3 = 0;
u8 flag_fs4 = 0;
u8 flag_gsm = 0;
u8 flag_light = 1;
u8 k ;
int main (void){//主程序
//初始化程序 delay_ms(100); RCC_Configuration(); //时钟设置 LED_Init();//LED初始化 delay_ms(500); led_1=1;//指示灯关 led_2=1; led_3=1; led_4=1; led_5=1; led_sys=1; out_beep=1; TIM3_PWM_Init(59999,23); //设置频率为50Hz,公式为:溢出时间Tout(单位秒)=(arr+1)(psc+1)/Tclk 20MS = (59999+1)*(23+1)/72000000 //Tclk为通用定时器的时钟,如果APB1没有分频,则就为系统时钟,72MHZ //PWM时钟频率=72000000/(59999+1)*(23+1) = 50HZ (20ms),设置自动装载值60000,预分频系数24 TIM_SetCompare1(TIM3,1500); TIM_SetCompare2(TIM3,1500); TIM_SetCompare3(TIM3,1500); TIM_SetCompare4(TIM3,1500); KEY_Init();//按键初始化 TIM4_Init(999,719);//定时器初始化,定时10ms(999,719) USART1_Init(9600); //串口初始化(参数是波特率) USART2_Init(115200); //串口初始化(参数是波特率) USART3_Init(9600); //串口初始化(参数是波特率) delay_ms(100); led_5=0; delay_ms(500); Specify_Musi_Play(1); USART2_printf(" USART2 OK!\r\n"); USART3_printf(" USART3 OK!\r\n"); for (k=30;k>1;k--){led_5=0;USART2_printf("AT\r\n");//设置SIMdelay_ms(50);led_5=1;delay_ms(10*k); } led_5=0; USART2_printf("ATE0\r");//设置SIM delay_ms(500); USART1_printf(" USART1 OK!\r\n"); //主循环 while (1){if (!GPIO_ReadInputDataBit(LJMPORT,LJM1)|!GPIO_ReadInputDataBit(LJMPORT,LJM2)|!GPIO_ReadInputDataBit(LJMPORT,LJM3)|!GPIO_ReadInputDataBit(LJMPORT,LJM4)){flag_ljm=1; //垃圾满判断} else{flag_ljm=0;flag_gsm=0;}if (flag_ljm){if (ds2>100){ds2=0; //垃圾满报警out_beep=~out_beep;}}else{out_beep=1;}
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162资料下载链接
「实物制作资料.rar」,来自夸克网盘分享。
夸克网盘无需下载在线播放视频,畅享原画5倍速,支持电视投屏。
/9ac5346gXR
链接:https://pan.quark.cn/s/d2ad8fd8cd73
提取码:d1hQ
网址:零基础学会制作 基于STM32/51单片机的多功能垃圾桶控制系统/智能垃圾桶/垃圾桶/蓝牙/WIFI https://www.yuejiaxmz.com/news/view/899034
相关内容
基于单片机的智能垃圾桶设计(51基础版)基于STM32的智能语音垃圾桶
基于STM32的智能垃圾桶系统设计
基于单片机智能垃圾桶控制系统设计
基于51单片机超声波智能垃圾桶系统
基于语音控制的居民小区智能分类垃圾桶设计(单片机、C语言、高质量、STM32)
【智能家居】感应垃圾桶DIY
【基于51单片机智能垃圾桶 垃圾分类 垃圾识别系统自动控制 DIY 舵机/继电器 系统设计(实物+程序+原理图+其他资料)】
基于STM32的智能垃圾分类系统设计
基于单片机的语音识别智能垃圾桶垃圾分类的设计与实现