stm32项目(5)——基于stm32的工地噪声扬尘检测系统

news/2024/12/22 18:38:12/

目录

1.功能设计

2.硬件方案

1.单片机选择

2.声音传感器

3.PM2.5传感器

 4.显示器

3.程序设计

4.课题意义

1.功能设计

本次系统实现的功能如下所示:

        采用声音传感器检测环境噪音,采用PM2.5传感器检测环境灰尘浓度。若噪声超过阈值或者PM2.5超过阈值,那么灯亮以表示报警。同时噪音数值、PM2.5数值实时显示在OLED显示屏上。

功能完成后的实物图如下所示

 

2.硬件方案

1.单片机选择

        STM32F103C8T6是意法半导体(STMicroelectronics)推出的一款32位ARM Cortex-M3内核的微控制器。以下是它的主要特点:

        1. 处理器内核:STM32F103C8T6采用ARM Cortex-M3内核,提供较高的计算性能和响应速度。该内核支持32位数据处理,具有较低的功耗和较高的代码执行效率。

        2. 主频:该芯片的主频可以达到最高72MHz,使其在处理复杂任务和实时应用时能够提供足够的性能。

        3. 存储器:STM32F103C8T6内部集成了64KB的闪存存储器,用于存储程序代码和数据。同时,它还有20KB的SRAM用于存储运行时数据。

        4. 外设接口:该微控制器提供丰富的外设接口,包括多个通用定时器、串行通信接口(UART、SPI、I2C)、模数转换器(ADC)等,以满足不同应用的需求。

        5. 低功耗模式:STM32F103C8T6内置了多种低功耗模式,可降低功耗并延长电池寿命。它还支持快速唤醒和切换到不同的低功耗模式以适应不同的应用场景。

        6. 强大的开发生态系统:该微控制器使用基于C语言的开发工具链(如Keil MDK、IAR Embedded Workbench)进行编程开发。此外,意法半导体还提供了丰富的软件库和教程,以便快速开发应用。

        7. 电源管理:STM32F103C8T6集成了多种电源管理功能,包括电源监测、低功耗工作模式、晶振失效检测和多种复位模式等,以提供稳定和可靠的工作性能。

        总结起来,STM32F103C8T6是一款功能强大的32位微控制器,具有高性能、丰富的外设接口和低功耗模式等特点。它适用于各种应用领域,包括工业自动化、电子设备控制、物联网以及嵌入式系统等。

2.声音传感器

声音传感器选择带有模拟输出的,图片如下:

        声音传感器是一种用于检测和测量环境中声音的装置。它可以将声音信号转换成电信号,并提供给电子设备进行进一步处理。以下是声音传感器的一些特点:

        1. 检测范围:声音传感器可以检测一定范围内(通常是20 Hz至20 kHz)的声音信号。这使得它适用于绝大多数人能够听到的声音频率范围。

        2. 灵敏度:声音传感器具有不同的灵敏度范围,可以根据应用需求进行选择。一些声音传感器可以检测较小的声音信号,同时还有一些可以检测较大的声音信号。

        3. 输出类型:声音传感器的输出类型可以是模拟信号或数字信号。模拟输出类型的声音传感器会输出一个与检测到的声音强度相关的电压或电流信号,而数字输出类型的声音传感器会输出一个数字值,表示声音的强度或级别。

        4. 快速响应:声音传感器通常具有快速的响应时间,可以实时地检测到声音信号的变化。

        5. 高精度:好的声音传感器能够提供较高的精度和准确性,以便准确测量声音的强度或频率。

        6. 环境适应性:一些声音传感器具有抗干扰功能,可以适应不同环境条件下的声音检测需求。

        7. 尺寸和安装方式:声音传感器通常具有小尺寸,便于安装在各种设备或系统中。它们可以是模块化设计,方便与其他电子元件进行集成。

        8. 应用领域:声音传感器广泛应用于音频设备、通信设备、声学测量、环境监测、噪音控制等领域。

        需要根据具体应用需求选择适合的声音传感器,以确保测量准确性和适应性。

3.PM2.5传感器

PM2.5传感器的实物图如下:

 

        PM2.5传感器是一种用于检测空气中颗粒物(或细颗粒物)浓度的传感器。PM2.5代表空气中直径小于或等于2.5微米的颗粒物。以下是PM2.5传感器的一些特点:

        1. 检测范围:PM2.5传感器可以检测空气中直径小于2.5微米的颗粒物浓度。这些颗粒物通常包括浮尘、花粉、细菌、烟雾、车辆尾气排放等。

        2. 精确度:好的PM2.5传感器具有较高的精确度和准确性,可以测量出不同浓度级别的颗粒物。

        3. 实时监测:PM2.5传感器可以实时监测空气中颗粒物浓度的变化,并即时输出测量结果。这有助于进行空气质量监测和预警。

        4. 数字输出:一些PM2.5传感器采用数字输出方式,通过接口(如串行通信接口)输出颗粒物浓度数据。这使得数据的读取和处理变得更加方便。

        5. 环境适应性:PM2.5传感器需要在适当的环境条件下工作,以确保准确的测量结果。一些传感器具有抗干扰功能,可以适应不同环境条件下的颗粒物检测需求。

        6. 尺寸和安装方式:PM2.5传感器通常具有小尺寸,便于安装在室内或室外环境中。它们可以是单独的模块,也可以是集成在其他设备或系统中。

        7. 应用领域:PM2.5传感器广泛应用于室内空气质量监测、室外环境监测、智能空调控制、空气净化设备等领域。

      本次选择的PM2.5检测模块也是模拟电压输出,即灰尘浓度越高,输出的电压越大。

 

 4.显示器

显示屏选择的是0.96寸OLED,实物图如下所示:

 这是四针,IIC协议的屏幕。

3.程序设计

主程序如下所示

#include "delay.h"
#include "sys.h"
#include "oled.h"
#include "bmp.h"
#include "led.h"
#include "adc.h"/*接线:
OLED  SCL-->PA5SDA-->PA7声音传感器的模拟输出口-->PA1PM2.5传感器的模拟输出口-->PA0
*/
u32 pm_ad,ad1; 
u8 kk;int main(void)
{u16 adcx=0;      //保存用AD转换得到的声音传感器输出的数值u8 db=0;          //将AD转换得到的数值 转为分贝  存在此变量delay_init();NVIC_Configuration();OLED_Init();LED_Init();       //LED初始化Adc_Init();		  		//ADC初始化OLED_ColorTurn(0);//0正常显示,1 反色显示OLED_DisplayTurn(0);//0正常显示 1 屏幕翻转显示OLED_Refresh();while(1){adcx=Get_Adc_Average(ADC_Channel_1,10);         //AD采集信号db=(adcx*1000)/4096.0;           //转换为分贝OLED_ShowString(8,0,"detect system",16);OLED_ShowString(8,2*8,"sound:",16);OLED_ShowNum(8+6*8,2*8,db,4,16);OLED_ShowString(8+10*8,2*8," DB",16);  //显示单位pm_ad=0;for(kk=0;kk<20;kk++)	   //20次取平均值{ad1=Get_Adc(0);delay_ms(9); delay_us(400); pm_ad=pm_ad+ad1;} 	pm_ad=pm_ad/80;//PM2.5 取平均值80检测结果转换成0-1000OLED_ShowString(8,4*8,"pm2.5:",16);OLED_ShowNum(8+6*8,4*8,pm_ad,3,16);OLED_ShowString(8+9*8,4*8,"ug/m3",16);  //显示单位OLED_Refresh();if(db>46||pm_ad>50)     //声音的阈值是46db  pm2.5阈值是50ug   超过阈值  那么亮灯PCout(13)=0;elsePCout(13)=1;            //若要修改阈值  则直接修改大于号后面的数值}
}

4.课题意义

        基于单片机的工地噪音扬尘检测系统具有重要的课题意义。以下是该系统的一些意义:

        1. 环境保护:工地噪音和扬尘是工地施工过程中常见的环境污染源。通过开发基于单片机的检测系统,可以实时监测工地的噪音和扬尘情况,有助于及时发现和解决环境污染问题,保护周围居民和工人的健康。

        2. 合规要求:许多地区都有对工地噪音和扬尘的法规和限制要求。开发这样的检测系统可以帮助工地管理者和监管机构及时了解工地的环境状况,并确保其符合相关的法律法规要求。

        3. 职业安全:工地噪音和扬尘对工人的健康和安全产生负面影响。通过实时监测和预警系统,可以提高工人的职业安全性,减少对噪音和扬尘暴露的风险。

        4. 数据分析和决策支持:基于单片机的检测系统可以收集大量的噪音和扬尘数据。这些数据可以用于分析工地环境的变化趋势和污染源,为工地管理者提供有效的决策支持,改善施工管理和环境控制。

        5. 技术创新和发展:开发基于单片机的检测系统需要结合传感技术、嵌入式系统和数据分析等领域的技术。这促进了相关技术的创新和发展,为环境监测领域提供了新的解决方案和应用。

        综上所述,基于单片机的工地噪音扬尘检测系统的课题意义在于促进环境保护,提高职业安全,满足合规要求,支持决策和推动技术创新。这样的系统对于促进可持续发展和改善工地环境具有重要的应用前景。

需要完整工程请私

 


http://www.ppmy.cn/news/1014546.html

相关文章

validation注解释义(2023.08.08更新)

AssertTrue 被注解的元素必须为True DecimalMax(value) 被注解的元素必须为一个数字&#xff0c;其值必须小于等于指定的最小值 Decimalmin(Value) 被注解的元素必须为一个数字&#xff0c;其值必须大于等于指定的最小值 Digits(integer&#xff0c;fraction) 被注解的元素必…

SpringBoot整合MongoDB连接池(含源码)

&#x1f4a1;版本依赖 jdk 17 SpringBoot 3.1.0 Mongo 6.0.8 mybatis-plus 2.0.2 &#x1f4a1;环境准备 &#x1f335;MongoDB安装 安装教程请查看&#xff1a;一文搞定(linuxwindowsdocker)安装MongoDB &#x1f335;导入依赖 <parent><groupId>org.sp…

python实现简单的爬虫功能

前言 Python是一种广泛应用于爬虫的高级编程语言&#xff0c;它提供了许多强大的库和框架&#xff0c;可以轻松地创建自己的爬虫程序。在本文中&#xff0c;我们将介绍如何使用Python实现简单的爬虫功能&#xff0c;并提供相关的代码实例。 如何实现简单的爬虫 1. 导入必要的…

电脑IP地址错误无法上网怎么办?

电脑出现IP地址错误后就将无法连接网络&#xff0c;从而无法正常访问互联网。那么当电脑出现IP地址错误时该怎么办呢&#xff1f; 确认是否禁用本地连接 你需要先确定是否禁用了本地网络连接&#xff0c;如果发现禁用&#xff0c;则将其启用即可。 启用方法&#xff1a;点击桌…

6.9(Java)二叉搜索树

1.我的代码: public class BinarySearchTree {class TreeNode {public int key;public TreeNode left;public TreeNode right;public TreeNode(int key) {this.key key;}}public TreeNode root; // 根节点// 插入一个元素,注意&#xff0c;不能插入重复的值&#xff0c;如…

【C高级】Day4 shell脚本 排序

1. 整理思维导图 2. 写一个函数&#xff0c;获取用户的uid和gid并使用变量接收 #!/bin/bash function getid() {uidid -ugidid -g }getid echo "uid$uid" echo "gid$gid"3. 整理冒泡排序、选择排序和快速排序的代码 #include <myhead.h>void Inp…

Verilog学习记录-自用

always语句块一定条件写完整&#xff0c;否则电平触发&#xff0c;综合生成锁存器 task不可综合&#xff0c;主要用于仿真/验证 大部分都是并行执行的&#xff0c;只有begin end块中阻塞语句是串行 if-else和case的区别 if-else面积小&#xff0c;但时延&#xff08;执…

本地项目如何连接git远程仓库

在本地新建项目后&#xff0c;如何连接git远程仓库呢&#xff1f;步骤如下&#xff1a; 第一步&#xff0c; 首先我们在git上新建仓库&#xff0c;设置模板可勾选Readme文件。&#xff08;readme文件的创建是为了介绍所写代码的一些详细信息,为了之后更好的维护。&#xff09;…