当前位置: 首页 > news >正文

【STM32系统】基于STM32设计的智能垃圾桶(语音、颜色识别、称重、光强、烟雾、人体识别、步进电机、水泵)——文末资料下载

基于STM32设计的智能垃圾桶

演示视频:

基于STM32设计的智能垃圾桶


功能简介:
四个按键可分别打开四个垃圾桶(可回收垃圾、厨余垃圾、有害垃圾、其他垃圾)

oled显示屏显示四个垃圾桶的打开/关闭状态、烟雾浓度、光照强度、称重的重量和识别到的颜色(白色、红色、绿色、蓝色)

四个垃圾桶分别检测到有人时会自动打开垃圾桶,人离开3s后自动关闭垃圾桶

环境光强过暗时自动打开灯光

检测到的烟雾浓度过高时会进行自动水泵打开和蜂鸣器报警

唤醒词“智能垃圾桶”,语音模块唤醒并回复播报“我在...”

语音识别到人说出的对应的垃圾名称/命令词,系统会播报对应的垃圾分类名字(回复语)并打开对应的垃圾桶,3s后自动关闭

识别到不同的颜色(白色、红色、绿色、蓝色),控制步进电机旋转不同的角度


主要硬件组成:
STM32F103C8T6    
1-su03t1语音识别及播报
2-按键+红外感应
3-MQ2烟雾检测和水泵
4-HX711称重
5-光敏传感器(光强过低,led自动打开)
6-tcs34725颜色传感器识别和步进电机旋转
7-oled显示屏
8-步进电机
9-水泵(烟雾浓度过高时,蜂鸣器报警、水泵打开)


目录

摘要

第一章 绪论

1.1 课题背景

1.2 研究现状

1.3 研究的目的和意义

1.4 论文结构

第二章 总体设计方案

2.1 设计要求分析

2.2 系统总体设计

2.3 系统功能框图

第三章 系统硬件设计

3.1 核心硬件模块

3.1.1 STM32F103C8T6 微控制器

3.1.2 TCS34725 颜色传感器

3.1.3 SU03T1 语音识别模块

3.1.4 MQ2 烟雾检测模块

3.1.5 HX711 称重传感器

3.1.6 步进电机

3.1.7 OLED 显示屏

3.1.8 SU03T1 语音识别模块

第四章 系统软件设计

4.1 STM32设备端程序设计

4.1.1 主程序设计

4.1.2 语音识别模块程序设计

4.1.3 颜色识别模块程序设计

4.1.4 烟雾检测模块程序设计

4.1.5 步进电机控制程序设计

4.1.6 OLED 显示程序设计

第五章 实物制作与调试

5.1 实物制作

5.1.1 硬件连接

5.1.2 系统电路板焊接

5.1.3 系统调试

5.1.4 实际测试

第六章 总结与展望

相关文章:

【STM32系统】基于STM32设计的智能垃圾桶(语音、颜色识别、称重、光强、烟雾、人体识别、步进电机、水泵)——文末资料下载

基于STM32设计的智能垃圾桶 演示视频: 基于STM32设计的智能垃圾桶 功能简介: 四个按键可分别打开四个垃圾桶(可回收垃圾、厨余垃圾、有害垃圾、其他垃圾) oled显示屏显示四个垃圾桶的打开/关闭状态、烟雾浓度、光照强度、称重的重量和识别到的颜色(白色、红色、绿色、蓝…...

GPT代码记录

#include <iostream>// 基类模板 template<typename T> class Base { public:void func() {std::cout << "Base function" << std::endl;} };// 特化的子类 template<typename T> class Derived : public Base<T> { public:void…...

powerbi

一. CALCULATE 和 FILTER FILTER 返回的数据必须是表&#xff0c; 所以 可以 用在 新建表中&#xff0c; 不能直接用在度量值中其实 filter 相当于 用 外表字段 去进行筛选 不使用 filter&#xff0c; 只能使用本表字段 进行筛选&#xff0c;如下1&#xff0c; 只能使用 门店信…...

【Unity】检测鼠标点击位置是否有2D对象

在这里提供两种方案&#xff0c;一种是射线检测&#xff0c;另一种是非射线检测。 初始准备步骤&#xff1a; 创建2D对象&#xff08;比如2D精灵&#xff09;给要被检测的2D对象添加2D碰撞体&#xff08;必须是2D碰撞体&#xff09;创建一个空对象&#xff0c;再创建一个检测…...

Python学习——【2.1】if语句相关语法

文章目录 【2.1】if语句相关一、布尔类型和比较运算符&#xff08;一&#xff09;布尔类型&#xff08;二&#xff09;比较运算符 二、if语句的基本格式※、练习 三、if-else组合判断语句※、练习 四、if-elif-else多条件判断语句※、练习 五、判断语句的嵌套※、实战案例 【2.…...

机器学习--K-Means

K均值聚类 算法过程 K − m e a n s K-means K−means 是 聚类 c l u s t e r i n g clustering clustering 算法的一种&#xff0c;就是给你一坨东西&#xff0c;让你给他们分类&#xff1a; 我们的 K − m e a n s K-means K−means 大概是这样一个流程&#xff1a; 第一…...

模型训练时CPU和GPU大幅度波动——可能是数据的读入拖后腿

模型训练时CPU和GPU大幅度波动——可能是数据的加载拖后腿 问题 在进行猫狗大战分类任务时&#xff0c;发现模型训练时CPU和GPU大幅度波动&#xff0c;且模型训练速度很慢。 原因 ​ 初步分析可能是数据加载&#xff08;包括数据的transform&#xff0c;我用了Resize&#…...

keep-alive的应用场景

...

【C++ Primer Plus习题】16.9

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: #include <iostream> #include <ctime> #include <v…...

Java入门:09.Java中三大特性(封装、继承、多态)02

2 继承 需要两个类才能实现继承的效果。 比如&#xff1a;类A 继承 类B A类 称为 子类 &#xff0c; 衍生类&#xff0c;派生类 B类 称为 父类&#xff0c;基类&#xff0c;超类 继承的作用 子类自动的拥有父类的所有属性和方法 &#xff08;父类编写&#xff0c;子类不需要…...

AI为云游戏带来的革新及解决方案:深度技术剖析与未来展望

近期&#xff0c;科技巨头埃隆马斯克与热门国产游戏《黑神话&#xff1a;悟空》的互动&#xff0c;再次引发了公众对AI技术在游戏产业中应用的关注。马斯克&#xff0c;作为特斯拉和SpaceX的掌门人&#xff0c;不仅在科技领域引领风骚&#xff0c;其个人兴趣也广泛涉猎&#xf…...

集合是什么

1.是什么 集合&#xff08;Collection&#xff09;是Java语言中一个非常重要的概念&#xff0c;它是一组对象的容器&#xff0c;用于存储、检索和操作对象。在Java中&#xff0c;集合框架定义了一系列接口和实现类&#xff0c;用于处理不同类型的集合。 集合的概念 集合框架提…...

JavaDS —— 图

图的概念 图是由顶点集合以及顶点之间的关系组成的一种数据结构&#xff1a;G &#xff08;V&#xff0c;E&#xff09; 其中 V 表示的是顶点集合 &#xff1a; V { x | x 属于某个数据对象集} 是有穷非空集合 E 叫做边的集合 &#xff1a; E {(x, y) | x, y 属于 V} 或者 …...

魅思-视频管理系统 getOrderStatus SQL注入漏洞复现

0x01 产品简介 魅思-视频管理系统是一款集成了视频管理、用户管理、手机端应用封装等功能的综合性视频管理系统。该系统不仅以其强大的视频管理功能、灵活的用户管理机制、便捷的手机端应用封装功能以及高安全性和现代化的界面设计,成为了市场上备受关注的视频管理系统之一。…...

SOME/IP通信协议在汽车业务具体示例

标签&#xff1a;SOME/IP&#xff1b; SomeIP通信协议在汽车业务具体示例&#xff1b; SomeIP通信协议在汽车业务具体示例 SOME/IP&#xff08;Scalable service-Oriented MiddlewarE over IP&#xff09;协议被广泛应用于现代汽车的多个关键业务领域。SOME/IP协议特别适合需要…...

jupyter notebook添加环境/添加内核

参考&#xff1a; jupyter notebook添加环境/添加内核&#xff08;超详细&#xff09;_python_leoound-GitCode 开源社区 Jupyter Notebook 切换虚拟环境_jupyter 选择环境-CSDN博客 1.激活想添加的环境 conda activate pytorch39 2.下载核 conda install ipykernel 3.按照…...

建模杂谈系列256 规则函数化改造

说明 之前尝试用FastAPI来构造规则&#xff0c;碰到的问题是由于请求量过大(TPS > 1000), 从而导致微服务端口资源耗尽。所以现在的point是: 1 如何使用函数来替代微服务(同时要保留使用微服务的优点)2 进一步抽象并规范规则的执行3 等效合并规则的方法 内容 0 机制讨论…...

python实现冒泡排序的算法

冒泡排序是对数组里面两个相邻的数据进行比较并排序&#xff0c;最大的数会不断向后移动&#xff0c;因此叫冒泡排序。 冒泡排序的步骤&#xff1a; 1.首先对数组第一个数和第二个数进行比较&#xff0c;谁最小&#xff0c;谁排在前面 2.将第二个数与第三个数进行比较排序&a…...

爱玩游戏的弟弟,被人投资了100万

很多人说游戏是个害人的东西&#xff0c;尤其现在的青少年&#xff0c;被毒害得不浅&#xff0c;那还是因为大多数人对游戏本身了解得不够全面&#xff0c;只知道游戏是拿来玩&#xff0c;拿来消遣的&#xff0c;殊不知游戏里面还有大把捞金的机会。 我有个学员&#xff0c;我…...

Pandas_数据结构详解

1.创建DataFrame对象 概述 DataFrame是一个表格型的结构化数据结构&#xff0c;它含有一组或多组有序的列&#xff08;Series&#xff09;&#xff0c;每列可以是不同的值类型&#xff08;数值、字符串、布尔值等&#xff09;。 DataFrame是Pandas中的最基本的数据结构对象&am…...

Leetcode 3287. Find the Maximum Sequence Value of Array

Leetcode 3287. Find the Maximum Sequence Value of Array 1. 解题思路2. 代码实现 题目链接&#xff1a;3287. Find the Maximum Sequence Value of Array 1. 解题思路 这一题我的思路比较暴力&#xff0c;就是求出每一个位置前后所有可能的长度为k的子序列的所有的或结果…...

python 山峦图

效果&#xff1a; 代码&#xff1a; import matplotlib.pyplot as plt import numpy as npdef mountain_plot(data_dict, colorsNone):if colors is None:colors get_colors_from_map(len(data_dict), "Spectral")x list(data_dict.keys())# Y轴位置y_positions …...

Open3D:3D数据处理与可视化的强大工具

创作不易&#xff0c;您的打赏、关注、点赞、收藏和转发是我坚持下去的动力&#xff01; Open3D算法框架简介 Open3D是一个开源的3D数据处理库&#xff0c;旨在为3D数据提供高效、易用的计算和可视化工具。它支持多种3D数据格式&#xff0c;例如点云、网格、RGB-D图像等&…...

YOLOv8改进系列,YOLOv8的Neck替换成AFPN(CVPR 2023)

摘要 多尺度特征在物体检测任务中对编码具有尺度变化的物体非常重要。多尺度特征提取的常见策略是采用经典的自上而下和自下而上的特征金字塔网络。然而,这些方法存在特征信息丢失或退化的问题,影响了非相邻层次的融合效果。一种渐进式特征金字塔网络(AFPN),以支持非相邻…...

BitLocker硬盘加密的详细教程分享

硬盘加密是将数据转换为一种只有授权用户才能读取的形式。通过使用加密算法&#xff0c;硬盘上的数据在存储时被加密&#xff0c;只有输入正确的密钥或密码才能解密和访问这些数据。 硬盘加密的重要性 数据是现代社会的重要资产&#xff0c;保护这些数据免受非法访问和窃取至关…...

YOLOv8的GPU环境搭建方法

首先说明这个环境搭建教程是基于电脑已经安装好CUDA和CUDNN的情况下&#xff0c;去搭建能够正确运行YOLOv8代码的Pytorch的GPU版本。具体安装方法可见&#xff1a;最适合新手入门的CUDA、CUDNN、Pytorch安装教程_cuda安装-CSDN博客 第一步&#xff1a;需要在cmd中创建虚拟环境c…...

JZ2440下载后设置NAND启动文件系统

&#xff08;一&#xff09;下载 &#xff08;二&#xff09;设置根文件系统NAND FLASH启动 set bootargs noinitrd root/dev/mtdblock3 init/linuxrc consolettySAC0...

AI绘画与摄影新纪元:ChatGPT+Midjourney+文心一格 共绘梦幻世界

文章目录 一、AI艺术的新时代二、ChatGPT&#xff1a;创意的引擎与灵感的火花三、Midjourney&#xff1a;图像生成的魔法与技术的奇迹四、文心一格&#xff1a;艺术的升华与情感的共鸣五、融合创新&#xff1a;AI绘画与摄影实战的无限可能六、应用场景与实践案例AI艺术的美好未…...

金手指设计

"MCP6294"。是一个轨到轨, 带宽为 10MHz 的 低功耗放大器. 对LM358测量 10MHz 范围内的频率特性&#xff0c;在 8MHz 左右&#xff0c;输出相移超过了 180。MCP6294的频率特性&#xff0c;则显示在 10MHz 运放相移之后 100左右。 对比两个运放的频率特性&#xff…...

Chainlit集成LlamaIndex并使用通义千问模型实现AI知识库检索网页对话应用增强版

前言 之前使用Chainlit集成LlamaIndex并使用通义千问大语言模型的API接口&#xff0c;实现一个基于文档文档的网页对话应用。 可以点击我的上一篇文章《Chainlit集成LlamaIndex并使用通义千问模型实现AI知识库检索网页对话应用》 查看。 本次针对上一次的代码功能进一步的完善…...