STM32传感器应用实战指南:毕业设计一站式解决方案(详细教程+万字总结)

目录

前言

STM32F103C8T6​

0.96寸OLED屏幕

传感器

DHT11

MQ2

G5516

DS18B20

HC-SR312

E18-D80NK

FSR402

GP2Y1014AU0F

YS-17

KY-037

YD-A1

无线通信

SIM900A

ESP8266-01s

总结


前言

        本篇博客旨在为嵌入式开发新手及毕业生提供一套清晰的STM32多传感器系统设计指南,涵盖硬件选型(如STM32F103C8T6)、传感器原理(温湿度、光照等)及OLED交互开发,助力快速搭建毕业设计原型。文中结合实战经验,简化理论讲解,侧重代码调试与避坑技巧。若您对内容有疑问,或希望补充其他传感器及进阶功能,欢迎留言讨论!我会根据反馈持续完善内容,共同攻克技术难点~ 

STM32F103C8T6

        使用 ​STM32F103C8T6​ 最小系统板作为毕业设计的核心控制器,是许多学生的首选方案。该最小系统板(含USB转串口、稳压电路)价格约 ​10~20元,适合学生自费采购。

        STM32F103C8T6​具有丰富的外设资源,可以用来控制很多传感器,比如:

  • Flash 64KB,RAM 20KB:可支持中等复杂度的传感器数据采集、逻辑控制和通信任务(如多传感器+OLED显示+WiFi/蓝牙模块)。
  • 3x UART、2x SPI、2x I2C:可直接连接温湿度传感器(DHT11/SHT30)、气压传感器(BMP280)、陀螺仪(MPU6050)、显示屏(IIC/SPI OLED)等。
  • 12位ADC(10通道)​:支持光照传感器(光敏电阻)、气体传感器(MQ-2/MQ-135)等模拟信号采集。
  • 定时器/PWM/DMA:支持舵机控制、步进电机驱动、LED调光等场景。
  •         除此之外,开发工具和生态都趋于完善。除了可以使用Keil MDK开发,还能使用STM32CubeIDE​、PlatformIO等多种开发工具。特别是ST公司重点维护的​STM32CubeMX工具,​ 可图形化配置引脚、时钟、外设,自动生成初始化代码,降低开发门槛。在毕业设计开发过程中,遇到困惑的问题或者没有思路的时候,能在开源社区(GitHub、CSDN、B站)找到大量基于STM32F103的传感器项目案例和代码模板。

            下面给大家简单举几个例子:

    1. 环境监测系统​:温湿度(DHT22)+ 空气质量(MQ-135)+ 光照(BH1750) + OLED显示 + 4G/WiFi上传数据。
    2. 智能家居控制​:人体红外传感器(HC-SR501) + 继电器控制家电 + 蓝牙/WiFi手机APP交互。
    3. 工业控制​:步进电机驱动(A4988) + 光电编码器反馈 + PID调速 + CAN总线通信。

    0.96寸OLED屏幕

            如果你正在用单片机(比如STM32、Arduino)做项目,想要显示文字、图形或传感器数据,0.96寸OLED屏幕可能是你的最佳选择!它小巧、省电、显示清晰,还支持两种常用通信协议:​IIC和SPI。

            OLED​(Organic Light-Emitting Diode)指的是有机发光二极管​。每个像素独立发光,无需背光,显示纯黑时完全不亮,对比度超高!0.96寸OLED显示分布为128×64像素(显示4行汉字或8行英文),如果要显示中文的话,使用取模软件(如PCtoLCD)生成汉字字库,存入代码数组。显示颜色为单色(蓝色、白色、黄蓝双色)或彩色(较少见)。

            如何连接STM32单片机?下面以IIC接口接线为例:

  • OLED的 ​SDA​ → 接单片机的 ​PB7​(或其他IIC SDA引脚)。
  • OLED的 ​SCL​ → 接单片机的 ​PB6​(或其他IIC SCL引脚)。
  • ​VCC​ → 3.3V或5V(根据模块支持电压)。
  • ​GND​ → GND。
  •         ​OLED能做什么?只要做好下面2步,基本可以胜任毕业设计中的难度

  • 显示传感器数据(温度、湿度、气压等)。
  • 菜单交互界面(配合按键或旋钮)。
  • 传感器

            传感器是单片机系统的“感官”,赋予其感知物理世界的能力。在智能化应用中,单片机如同大脑,而传感器则是眼睛、耳朵和触觉神经。例如:温湿度传感器(如DHT11)可监测环境状态,用于智能家居的自动控温;加速度传感器(如MPU6050)能检测物体运动姿态,支撑无人机平衡控制;光敏传感器则可根据光线调节屏幕亮度,提升用户体验。此外,气体传感器(如MQ-2)可预警火灾烟雾,红外传感器(如HC-SR501)实现人体感应照明。这些传感器将温度、运动、光线等模拟信号转化为电信号,供单片机处理并触发相应操作(如报警、显示、驱动电机)。通过多传感器融合,单片机系统不仅能完成单一任务,还可实现环境交互、数据分析和自主决策。

            下面给大家介绍一些常见传感器,没有补充到的可以在评论区里留言

    DHT11

            DHT11​ 是一款广泛使用的数字温湿度传感器,凭借其低成本、易集成的特点,成为单片机项目(如智能家居、环境监测)的入门级首选。

            其测量范围覆盖温度0~50℃(误差±2℃)及湿度20%~90%RH(误差±5%RH),支持单总线数字信号输出,仅需1根数据线即可与单片机通信;供电电压兼容3.3V~5.5V宽范围,可直接连接常见单片机无需额外电路。 

            DHT11能做什么?

  • 低成本环境监测:温湿度数据通过OLED显示或上传至手机APP。
  • 农业大棚报警:湿度低于阈值时触发水泵灌溉。
  • 智能家居联动:温度过高自动启动风扇。
  • MQ2

            MQ-2​ 是一款广用于检测可燃气体及烟雾的半导体传感器,凭借其高灵敏度、低成本特性,成为安防报警、环境监测项目的常用模块。

            MQ-2核心为二氧化锡(SnO₂)半导体材料,当接触可燃气体时,气体分子吸附在材料表面,与氧气发生反应,导致材料电阻降低,电阻变化幅度与气体浓度正相关。能够检检测的气体有液化气、丙烷、甲烷、烟雾(对酒精、一氧化碳灵敏度较低)等。

            需要注意的是首次上电约20秒后才能稳定下来,并在洁净空气中记录基准电压,实际浓度=(测量值/基准值)*比例系数。

             MQ2能做什么?

  • 智能光照控制系统 :使用G5516检测环境光照强度,结合STM32的ADC模块读取光敏电阻的模拟信号。根据光照强度自动控制LED灯、窗帘或照明设备的开关和亮度。

  • 厨房安全监控:联动排风扇或电磁阀关闭气源。

  • 空气质量检测:配合温湿度传感器构建综合环境监测仪。
  • G5516

            G5516是一种常见的光敏电阻传感器,主要用于检测环境光照强度。它的工作原理是基于光敏材料的光电效应:当光照强度变化时,随光照强度的增加而减小,反之亦然。通过测量电阻值的变化,可以间接得到环境光照强度。

     G5516能做什么?

  • 智能光照控制系统 :使用G5516检测环境光照强度,结合STM32的ADC模块读取光敏电阻的模拟信号。根据光照强度自动控制LED灯、窗帘或照明设备的开关和亮度。

  • 环境监测系统:使用G5516监测环境光照强度,结合温湿度传感器(如DHT11/DHT22)实现综合环境监测。通过STM32将数据上传到云端或显示在OLED屏幕上

  • 智能窗帘控制系统:使用G5516检测光照强度,结合STM32控制电机驱动模块,实现窗帘的自动开合。根据光照强度和用户设置的时间自动调节窗帘状态。

  • DS18B20

            DS18B20是一款数字温度传感器,由美国Dallas Semiconductor公司生产。它采用1-Wire通信协议,具有高精度、低功耗、体积小等特点,广泛应用于各种温度检测场景。

            直接输出数字温度值,无需额外的ADC模块。温度测量范围为-55℃至+125℃,精度为±0.5℃(在-10℃至+85℃范围内),温度数据以16位二进制补码形式存储,分辨率为0.0625℃。仅需一条数据线即可实现通信,节省MCU的I/O资源。支持多个DS18B20并联在同一总线上,每个传感器有唯一的64位地址。

     DS18B20能做什么?

  • 智能温控系统:使用DS18B20检测环境温度,结合STM32控制加热器、风扇或空调等设备,实现温度的自动调节和恒温控制。

  • 温度报警系统使用DS18B20检测温度,当温度超过设定阈值时,触发STM32控制蜂鸣器或LED灯报警。用于安防系统中的温度异常检测、工业设备中的过热保护等场景。

  • 4. ​多点温度检测系统使用多个DS18B20检测不同位置的温度,通过STM32读取各传感器的数据并进行分析。用于大型仓库或工厂中的温度分布监测、农业大棚中的多点温度检测。

  • HC-SR312

            HC-SR312是一款基于热释电效应的人体红外传感器模块。它主要用于检测人体的运动,通过检测人体发出的红外辐射来触发信号。HC-SR312在灵敏度、抗干扰性和稳定性方面有所提升,广泛应用于安防、自动控制和智能家居等领域。

            基于热释电效应,检测人体发出的红外辐射,当检测到人体运动时,输出高电平信号。检测角度约为120°,检测距离可达7米(具体取决于环境条件)。采用先进的信号处理技术,有效抑制环境干扰(如温度变化、光线变化等)。

     HC-SR312能做什么?

  • 智能安防系统:使用HC-SR312检测人体运动,当检测到异常时,触发STM32控制报警器或摄像头。家庭、办公室或仓库的安防监控。

  • 自动照明系统;使用HC-SR312检测人体运动,结合STM32控制LED灯的开关。实现“人来灯亮,人走灯灭”的节能照明系统。

  • 智能家居控制:使用HC-SR312检测人体运动,结合STM32控制家电设备(如空调、电视)的开关。

  • E18-D80NK

            E18-D80NK是一款红外光电传感器,主要用于物体检测。它通过发射红外光并检测反射光来判断物体是否存在,具有抗干扰能力强、检测距离远、响应速度快等特点,广泛应用于工业自动化、智能家居和机器人等领域。

            发射红外光并检测反射光,通过判断反射光的强度来检测物体是否存在。检测距离可达80cm,具体取决于物体的反射率和环境条件。采用调制解调技术,有效抑制环境光干扰。数字信号(高电平或低电平),可直接与MCU连接。

     HE18D80NK能做什么?

  • 物体检测系统:使用HE18D80NK检测物体的存在,结合STM32实现物体的自动检测和计数。

  • 自动门控制系统:使用HE18D80NK检测人体的接近,结合STM32控制自动门的开关。商场、办公楼或家庭的自动门控制。

  • FSR402

            FSR402是一款薄膜型压力传感器,也称为力敏电阻。它的电阻值会随着施加在其表面的压力变化而变化,压力越大,电阻值越小。FSR402具有体积小、灵敏度高、成本低等特点,广泛应用于压力检测、触摸控制和力反馈等领域。

            基于压阻效应,当施加压力时,传感器内部的导电材料接触面积增加,导致电阻值减小。可检测的压力范围通常为100g至10kg(具体取决于型号和使用条件)。电阻值变化,需通过外部电路转换为电压信号。

            FSR402通常有两个信号输出引脚:无极性,两个引脚可互换。

            

    FSR402能做什么?

  • ​​压力检测系统使用FSR402检测压力,结合STM32的ADC模块读取电压信号并计算压力值。电子秤、压力检测设备。

  • 力反馈系统使用FSR402检测施加的力,结合STM32实现力反馈控制。

  • GP2Y1014AU0F

            GP2Y1014AU0F是一款由夏普(Sharp)公司生产的粉尘传感器,主要用于检测空气中的粉尘浓度,尤其是PM2.5颗粒物。它通过光学散射原理测量粉尘浓度,具有高精度、响应速度快、体积小等特点,广泛应用于空气质量监测、空气净化器和智能家居等领域。

            基于光学散射原理,通过检测粉尘颗粒对光的散射强度来计算粉尘浓度。可检测的粉尘浓度范围为0至500µg/m³。模拟电压信号,输出电压与粉尘浓度成正比。

    GP2Y1014AU0F能做什么?

  • ​​​空气质量监测系统:使用GP2Y1014AU0F检测空气中的粉尘浓度,结合STM32的ADC模块读取模拟信号并计算PM2.5浓度。将数据显示在LCD屏幕上或通过WiFi/蓝牙模块上传到云端。

  • 空气净化器控制系统使用GP2Y1014AU0F检测空气中的粉尘浓度,结合STM32控制空气净化器的开关和风速。

  • 环境监测系统:使用GP2Y1014AU0F检测粉尘浓度,结合其他传感器(如温湿度传感器、气体传感器)实现综合环境监测。

  • YS-17

            YS-17是一款火焰传感器,主要用于检测火焰或红外光源的存在。它基于红外检测原理,能够快速响应火焰发出的红外辐射,具有灵敏度高、响应速度快、结构简单等特点,广泛应用于火灾报警、安防监控和智能家居等领域。

            基于红外检测原理,通过检测火焰发出的红外辐射来判断火焰的存在,能够有效区分火焰和其他红外光源。检测角度约为60°,检测距离可达80cm(具体取决于火焰强度和环境条件)。通过电位器调节检测灵敏度。

    YS-17能做什么?

  • 火灾报警系统:使用YS-17检测火焰,当检测到火灾时,触发STM32控制报警器或摄像头。

  • 安防监控系统:使用YS-17检测火焰或红外光源,结合STM32实现安防监控功能。

  • 智能家居控制系统:使用YS-17检测火焰,结合STM32控制家电设备(如空调、电视)的开关。

  • KY-037

            KY-037是一款声音传感器模块,主要用于检测环境中的声音强度。它基于麦克风原理,能够将声音信号转换为电信号,并通过模拟输出或数字输出接口与微控制器(如STM32、Arduino等)连接。KY-037具有灵敏度高、响应速度快、易于使用等特点,广泛应用于声音检测、噪声监测和智能家居等领域。

            基于麦克风原理,将声音信号转换为电信号。通过电位器调节数字输出的触发阈值。

    KY-037能做什么?

  • 声音检测系统:使用KY-037检测环境中的声音强度,结合STM32的ADC模块读取模拟信号并分析声音数据。

  • 声控开关系统:使用KY-037检测声音,当声音强度超过设定阈值时,触发STM32控制LED灯、电机或其他设备的开关。

  • 噪声报警系统:使用KY-037检测噪声,当噪声强度超过设定阈值时,触发STM32控制蜂鸣器或LED灯报警。

  • YD-A1

            YD-A1是一款雨滴传感器模块,主要用于检测雨滴的存在和降雨强度。它通过检测雨滴落在传感器表面时的电阻变化来判断降雨情况,具有灵敏度高、响应速度快、结构简单等特点,广泛应用于智能农业、气象监测和智能家居等领域。

            基于电阻变化原理,当雨滴落在传感器表面时,传感器上的导电材料之间的电阻值会发生变化。可检测的降雨强度范围较广,具体取决于传感器表面的大小和设计。传感器表面采用导电材料,易于安装和维护。

    YD-A1能做什么?

  • 智能农业灌溉系统:使用 YD-A1 检测降雨情况,结合 STM32 控制灌溉系统的开关,实现智能灌溉。

  • 气象监测系统:使用 YD-A1 检测降雨强度,结合 STM32 实现降雨数据的实时监测和记录。

  • 智能家居雨棚控制系统:使用 YD-A1 检测降雨,当检测到雨滴时,触发 STM32 控制雨棚的自动展开或收起。

  • 无线通信

            无线通信消除了物理连线的束缚,使设备部署更灵活(如野外监测、移动机器人),支持远程实时数据传输(如手机接收报警信息),降低大规模布线成本。同时,无线模块(WiFi/蓝牙/4G)便于接入物联网平台,实现多设备协同与云端管理,满足智能家居、工业4.0等场景对高效、可扩展连接的需求,是现代化智能系统的必备基础。

    SIM900A

            SIM900A​ 是一款基于GSM/GPRS网络的通信模块,支持短信、语音通话及TCP/IP数据传输,广泛应用于物联网远程监控、智能安防等领域,尤其适合无WiFi环境的户外设备联网。若需更高速度或未来扩展性,建议升级4G模块。

            为保证通信正常,建议外接2A以上独立电源,避免因电压跌落导致模块重启。需焊接GSM天线(如弹簧天线),并远离金属屏蔽物。还有很重要的一点,用移动卡

            MQ2能做什么?

  • 远程报警系统:火灾/气体泄漏时发送短信通知。
  • 野外数据采集:通过GPRS上传温湿度、GPS数据至云平台。
  • 车载设备:车辆定位跟踪、故障远程诊断。
  • ESP8266-01s

            ESP8266-01s​ 是基于ESP8266芯片的微型WiFi模块,以超低成本、高集成度成为物联网开发的明星模块,适用于远程数据传输、智能家居控制等场景。

            有3种工作模式,STA(连接路由器)、AP(自建热点)、STA+AP混合模式。需要注意避免使用5GHz网络。

            ESP8266-01s​ 能做什么?

  • 远程环境监测:将DHT11温湿度数据上传至云平台。
  • 智能家电控制:通过手机APP远程开关LED、继电器。
  • 无线打印终端:接收网络指令驱动热敏打印机。
  • 总结

            本文介绍了单片机如何通过OLED屏幕与多传感器(如温湿度、光照、运动检测)构建智能系统,实现环境感知与实时交互。OLED提供清晰显示,传感器采集数据,单片机则作为“大脑”协调处理。项目涵盖硬件连接、驱动开发及数据融合,适合物联网、智能家居等场景。若对代码调试、传感器选型或设计优化有疑问,欢迎留言讨论!一起探索嵌入式开发的乐趣吧~ 

    作者:水牛tech

    物联沃分享整理
    物联沃-IOTWORD物联网 » STM32传感器应用实战指南:毕业设计一站式解决方案(详细教程+万字总结)

    发表回复