专业版
#第九届立创电赛#桌面多功能环境检测仪

创建时间:4个月前

278 1

描述

<p><h3 style="line-height: 1.8;"><em> 1、项目功能介绍</h3> <hr /> <p>&nbsp; &nbsp; &nbsp; <strong>"<span style="color: #3598db;">桌面多功能环境检测仪</span>"</strong>是一款内置高精度传感器的温湿度检测仪器,采用<strong>盛思瑞(Sensirion)SHT30温湿度传感器</strong>,用于监测室内环境的温度和湿度。显示部分采用1.29寸IIC接口OLED屏,实时显示检测数据。为满足低功耗需求,检测仪可通过超声波测距检测书桌前是否有人,当有人时显示信息,无人时进入<strong>低功耗模式</strong>。使用三合一VOC/CO2/CH2O气体传感器监测室<strong>内空气质量</strong>,检测甲醛气敏。控制端采用独立按键及红外发射模组,<strong>可控制家电和电子产品(需自带红外模块)</strong>。同时,通过WIFI连接至<strong>网络云平台</strong>上传数据,手机端可实时查看和简单控制家电和电子产品。这款产品既满足室内环境检测需求,又可以作为桌面小摆件使用。</p> <h3 style="line-height: 1.8;"></em>2、项目属性</h3> <hr /> <p>项目为原创且为首次公开</p> <h3 style="line-height: 1.8;"><em> 3、开源协议</h3> <hr /> <p style="line-height: 1.8;">开源协议:Public Domain</p> <h3 style="line-height: 1.8;"></em>4、硬件部分</h3> <hr /> <p><span style="font-size: 14pt;"><span style="font-size: 12pt;"><strong>1.主控MCUSTM32F103C8T6&nbsp;&nbsp;</strong></span></span></p> <p><span style="font-size: 14pt;"><span style="font-size: 12pt;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 该芯片<span class="text_v1llE" data-text="true">是一款基于</span><span class="text_v1llE" data-text="true"><a class="innerLink_c04Ns" href="<a href="https://baike.baidu.com/item/ARM/7518299?fromModule=lemma_inlink" target="_blank">https://baike.baidu.com/item/ARM/7518299?fromModule=lemma_inlink</a>" target="_blank" rel="noopener" data-from-module="summary">ARM</a></span><span class="text_v1llE" data-text="true">&nbsp;</span><span class="text_v1llE" data-text="true"><a class="innerLink_c04Ns" href="<a href="https://baike.baidu.com/item/Cortex-M/1363782?fromModule=lemma_inlink" target="_blank">https://baike.baidu.com/item/Cortex-M/1363782?fromModule=lemma_inlink</a>" target="_blank" rel="noopener" data-from-module="summary">Cortex-M</a></span><span class="text_v1llE" data-text="true">&nbsp;内核</span><span class="text_v1llE" data-text="true"><a class="innerLink_c04Ns" href="<a href="https://baike.baidu.com/item/STM32/9133302?fromModule=lemma_inlink" target="_blank">https://baike.baidu.com/item/STM32/9133302?fromModule=lemma_inlink</a>" target="_blank" rel="noopener" data-from-module="summary">STM32</a></span><span class="text_v1llE" data-text="true">系列的32位的</span><span class="text_v1llE" data-text="true"><a class="innerLink_c04Ns" href="<a href="https://baike.baidu.com/item/%E5%BE%AE%E6%8E%A7%E5%88%B6%E5%99%A8/6688343?fromModule=lemma_inlink" target="_blank">https://baike.baidu.com/item/%E5%BE%AE%E6%8E%A7%E5%88%B6%E5%99%A8/6688343?fromModule=lemma_inlink</a>" target="_blank" rel="noopener" data-from-module="summary">微控制器</a></span><span class="text_v1llE" data-text="true">,</span><span class="text_v1llE" data-text="true"><a class="innerLink_c04Ns" href="<a href="https://baike.baidu.com/item/%E7%A8%8B%E5%BA%8F%E5%AD%98%E5%82%A8%E5%99%A8/7661398?fromModule=lemma_inlink" target="_blank">https://baike.baidu.com/item/%E7%A8%8B%E5%BA%8F%E5%AD%98%E5%82%A8%E5%99%A8/7661398?fromModule=lemma_inlink</a>" target="_blank" rel="noopener" data-from-module="summary">程序存储器</a></span><span class="text_v1llE" data-text="true">容量是64KB,需要电压2V~3.6V,</span><span class="text_v1llE" data-text="true"><a class="innerLink_c04Ns" href="<a href="https://baike.baidu.com/item/%E5%B7%A5%E4%BD%9C%E6%B8%A9%E5%BA%A6/124812?fromModule=lemma_inlink" target="_blank">https://baike.baidu.com/item/%E5%B7%A5%E4%BD%9C%E6%B8%A9%E5%BA%A6/124812?fromModule=lemma_inlink</a>" target="_blank" rel="noopener" data-from-module="summary">工作温度</a></span><span class="text_v1llE" data-text="true">为-40&deg;C ~ 85&deg;C</span></span></span><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/08970b7334a0418cbcfaabc660e7ae9c.png" width="519" height="257" /></p> <p><strong>&nbsp;2.温湿度传感器SHT30</strong></p> <p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SHT30是一款数字温湿度传感器,由瑞士传感器制造商Sensirion公司生产。它可以精确测量环境的温度和湿度,并具有低功耗、高精度和广泛的应用领域等特点。SHT30传感器在智能家居、工业自动化、气象站等领域有着重要的作用,被广泛应用于各种电子设备和系统中。该传感器电源电压范围广,从2.15 V到5.5 V,使用I2C接口,通信速度高达1MHz和两个用户可选地址,典型精度为&plusmn;1.5%相对湿度和&plusmn;0.1&deg;C。</p> <p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 使用STM32驱动SHT30传感器时,因为SHT30传感器是一款I2C总线设备,在工作时需要使用到I2C通信协议,使用在设计过程中需要对时钟线与信号线各加上<strong>一个4.7k&Omega;的上拉电阻</strong>,以确保在I2C总线上的信号传输过程中,保持信号线的稳定性和可靠性,避免干扰和数据错误,确保数据传输的准确性。</p> <p style="line-height: 1.8; padding-left: 40px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/9f201aa13fb54499bec32491aafe159d.png" width="407" height="168" /></p> <p><strong>&nbsp;3.三合一空气质量监测模块</strong></p> <p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 使用TVOC-CO2三合一空气质量监测对室内空气进行测量。该模块可探测的探测气体:氨气、氢气、酒精、一氧化碳、二氧化碳,甲烷、甲醛等有机挥发气体;香烟、木材、纸张燃烧烟雾、油烟等。灵敏度达0.1ppm氢气,测量量程为:总有机挥发物(TVOC):0-2.000mg/m&sup3; 、二氧化碳(CO2):350-2000pp(模拟值)、甲醛(HCHO):0-1.000mg/m&sup3;。模块输出数据为UART(5V电平),本产品输出数据则是接入STM32的USART1外设上。</p> <p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 模块特点:零点标定、三合一数据输出、高灵敏度、长寿命、低功耗、自动校准、自带温湿度补偿、UART串口信号输出,应用简单。</p> <p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 常应用于车载及家用空气净化器、多合一空气质量监(检)测仪、便携式多功能空气质量测试仪等。</p> <p>&nbsp;</p> <p style="padding-left: 120px; text-align: justify;"><img src="//image.lceda.cn/oshwhub/2cb921a3124b422090e932a78d8fd9f5.png" width="665" height="206" /></p> <p style="line-height: 1.8; text-align: justify;"><strong>4.红外学习模块</strong></p> <p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;红外学习模块,顾名思义,通讯介质是红外线,使用的载波频率是38KHz。工作原理用户给红外学习模块的串口发送命令,使模块进入内部或外部存储学习模式。当用户按遥控器上面的按钮,模块会收到红外编码数据,之后把编码数据存储到芯片内部Flash中或按照协议规约通过串口发送出去;当用户再次给模块串口发送命令,调取模块内部存储的编码数据或直接用串口给模块发送编码数据,此时,模块会把编码数据调制在38KHz红外载波中,通过红外发射头发送出去,进而达到控制家电的目的,目前测试的有效距离5~8米左右。目前支持学习转发的家电有空调、电视机、机顶盒、风扇等市面上99%红外遥控器的按键编码。</p> <p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;模块功能特点:本红外学习模块支持波特率设置及查询、支持模块地址设置及查询、支持红外遥控码编码内部存储及外部存储、支持发送内部存储编码和外部存储编码、支持上电自动发送内部存储编码、支持内部红外编码读取及写入、支持复位及格式化等众多功能。工作电压3.3~5V(5V 供电效果最佳)、工作电流5~30mA、红外载波频率38KHz、遥控距离5~8米、通讯接口TTL。</p> <p><span style="color: #000000;"><strong>&nbsp; &nbsp; &nbsp; &nbsp; &rdquo;桌面多功能环境检测仪&ldquo;</strong>则采用STM32的<strong>USART3</strong>进行红外码发送,发送前需要对目标产品的红外遥控码编码进行学习,通过调取模块内部存储的编码数据直接用串口给模块发送编码数据。</span></p> <p style="line-height: 1.8; padding-left: 200px; text-align: justify;"><img src="//image.lceda.cn/oshwhub/9258e944f2ac471dbda18ad9c7cb8974.png" width="374" height="182" /></p> <p style="line-height: 1.8; padding-left: 200px;">&nbsp;</p> <p><strong>5.超声波模块</strong></p> <p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 波可以分为三种,即次声波、声波、超声波。次声波的频率为20Hz以下;声波的频率为20Hz~20kHz;超声波的频率则为20kHz以上,其中的次声波和超声波一般人耳是听不到的。通过超声波发射装置发出超声波,根据接收器接到超声波时的时间差就可以知道距离了。这与雷达测距原理相似。 超声波传感器是将超声波信号转换成其他能量信号(通常是电信号)的传感器。超声波是振动频率高于20kHz的机械波。它具有频率高、波长短、绕射现象小,特别是方向性好、能够成为射线而定向传播等特点。超声波对液体、固体的穿透本领很大,尤其是在阳光不透明的固体中。超声波碰到杂质或分界面会产生显著反射形成反射回波,碰到活动物体能产生多普勒效应。超声波传感器广泛应用在工业、国防、生物医学等方面。</p> <p><strong>&nbsp; &nbsp; &nbsp; &nbsp; </strong>&nbsp;<span style="color: #000000;"><strong>&rdquo;桌面多功能环境检测仪&ldquo;</strong>则是通过超声波模块对障碍物进行距离判断<strong>是否进入待机状态</strong>。</span></p> <p><strong>&nbsp; &nbsp; &nbsp; <img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/7b625a7fe36d411397ed40ff90e8bef0.png" width="538" height="187" /></strong></p> <p><strong>6.ESP8266-01S模块</strong></p> <p><strong>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</strong>ESP8266-01S是一款由乐鑫公司生产的Wi-Fi模块,它是ESP8266系列中的一员。ESP8266-01S集成了Wi-Fi模块和处理器,可以用于连接无线网络并实现各种物联网应用。具有小巧的尺寸、低功耗和强大的性能特点,适合于各种物联网设备的开发和应用。ESP8266-01S常用于智能家居、智能穿戴、智能农业等领域。</p> <p>&nbsp; &nbsp; &nbsp; <span style="color: #000000;"><strong>&rdquo;桌面多功能环境检测仪&ldquo;</strong>通过ESP8266-01S模块将STM32采集到的数据上传到<strong>ONENET物联网平台</strong>上实现物联网应用。</span></p> <p><span style="color: #000000;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/f70394e53cd54c96bf39e348d2ef35da.png" width="291" height="141" /></span></p> <p>&nbsp;</p> <p><strong>7.OLED显示模块</strong></p> <p>&nbsp; &nbsp; &nbsp; &nbsp;1.29寸OLED显示屏是一种小尺寸的有机发光二极管显示屏,具有高亮度、高对比度、低功耗和快速响应的特点。这种显示屏采用有机发光二极管作为发光原件,可以实现自发光,无需背光源,因此在显示效果上具有优秀的表现。1.29寸的尺寸适合于一些小型设备或嵌入式系统中,例如智能手表、健康追踪器、便携式仪器等。OLED显示屏还具有较广的视角、快速刷新率和良好的色彩表现,可满足对显示效果要求较高的应用场景。</p> <p>&nbsp; &nbsp; &nbsp; <span style="color: #000000;"><strong>&rdquo;桌面多功能环境检测仪&ldquo;</strong>通过IIC接口的1.29寸OLED屏将STM32读取到的数据显示出来。</span></p> <p style="padding-left: 200px;"><strong><img src="//image.lceda.cn/oshwhub/23f9846b68784a858c232a3f74fe1fc7.png" width="408" height="190" /> &nbsp;&nbsp;</strong></p> <p>&nbsp;</p> <p><strong>8.USB供电电路</strong></p> <p><strong><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/27d5c3b463cc4871bc22afd73ad5aa64.png" /></strong></p> <p><span style="color: #000000;"><strong>&nbsp; &nbsp; &nbsp; &rdquo;桌面多功能环境检测仪&ldquo; </strong>USB供电使用的是6P的Type-C快充USB连接器。为了确保设备连接的稳定性和可靠性,需要在CC1和CC2引脚上各<strong>加一个5.1k&Omega;</strong>的电阻,这两个5.1k&Omega;的电阻起到了模拟电压信号的作用,使得连接设备可以通过测量CC1和CC2引脚上的电压来判断连接设备的类型和所需的电流传输能力。</span></p> <p><span style="color: #000000;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;为<strong>防止后级短路</strong>的情况下对充电器造成影响,在电源输出端加上一个自恢复保险丝F1,C15、C16两电容一大一小滤除纹波。检测<strong>USB电源是否接入</strong>,使用一个R21电阻与一个SS8050三极管做一个<strong>开漏输出</strong>电路,插入USB电源的时候NPN三极管导通 USB_DETECT变成低电平,没有插入的时候 USB_DETECT电平值是不确定的,所以程序里面需要将 USB_DETECT设置为上拉输入模式。</span></p> <p>&nbsp;</p> <p><strong>9.锂电池充电电路</strong></p> <p><strong><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/d25e69ca0b774596af25e2da35722b00.png" /></strong></p> <p><strong>&nbsp; &nbsp; &nbsp; &nbsp;</strong>充电芯片使用的是国产TP4055充电芯片,TP4055 是一款完整的单节锂离子电池充电器,带电池正负极反接保护,采用恒定电流/恒定电压线性控制,<strong>充满电压固定于4.2V</strong>,充电电流可通过一个电阻进行外部设置。当<strong>电池达到4.2V之后,充电电流降至设定值1/10,TP4055将自动终止充电</strong>。</p> <p>&nbsp; &nbsp; &nbsp; &nbsp; CHRG(引脚 1):<strong>漏极开路输出的充电状态指示端</strong>。当充电器向电池充电时,CHRG管脚被内部开关拉到低电平,表示充电正在进行;否则CHRG管脚处于高阻态,使用编写程序的时候需要将CHARGE引脚设置为上拉输入。</p> <p>&nbsp; &nbsp; &nbsp; &nbsp; PROG(引脚5):<strong>充电电流设定、充电电流监控和停机引脚</strong>。在该引脚与地之间连接一个精度为1%的电阻器RPROG可以设定充电电流。RPROG与充电电流的关系确定可参考下表(来源TP4055芯片手册):</p> <p><img src="//image.lceda.cn/oshwhub/b00c19de30fc48db936e74282d7eeea7.png" /></p> <p><span style="color: #000000;"><strong> &rdquo;桌面多功能环境检测仪&ldquo;</strong>充电电流为<strong>400ma</strong>,所以使用的是<strong>精度为1%</strong>R14阻值为<strong>2</strong>K电阻。</span></p> <p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;R15、R16为两个分压电阻,BAT_ADC连接到STM32的ADC管脚,采集的是R16的两端电压,为整个电池的3/4。<strong>(4.2V<em>(3/4))=3.15V</strong></p> <p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;两个PMOS管对应电路,Q1MOS管部分电路对应实现的主要功能是判断当USB电源插入的时候由<strong>USB供电</strong>,当USB电源没有插入的时候由<strong>电池供电</strong>。Q3MOS管部分电路主要实现的功能是通过开关控制对整个系统设备进行供电。D2二极管主要是<strong>防止倒灌</strong>的作用。为防止USB电源插入的时候5V电源与地短路,需要加上了一个R17电阻。</p> <p><strong>10.升压与稳压电路</strong></p> <p><strong><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/148756da2270475f8c79a126a3903d7d.png" /></strong></p> <p>&nbsp; &nbsp; &nbsp; &nbsp; 升压电路使用的是MT3608L,MT3608L是一个恒定的频率,6引脚SOT23电流模式升压转换器,旨在用于小型、低功耗的应用。MT3608L的开关频率为1.2MHz,并允许使用2mm或更低高度的微小、低成本的电容器和电感器。具有集成的80m&Omega;电源MOSFET,<strong>2.2V到16V的输入电压</strong>、1.2MHz固定开关频率,可调过电流保护: 0.5A ~2.5A、内部2.5A开关电流限位(OC引脚浮动)、可调输出电压,内部补偿、过电压保护,高达20V的输出电压、光负荷下的自动脉冲调频模式高达93%的效率的特点。</p> <p>&nbsp; &nbsp; &nbsp; &nbsp;OC和GND针脚之间的电阻器编程峰值开关电流。电阻器值应在19k到96k之间。电流限制将设置为从2.5A到0.5A。在这个大头针上保持痕迹尽可能短。OC引脚可以是浮动,电流限制将由内部2.5A电流限制设置。根据以下公式设置过电流跳闸点:<strong>IOCP=48000/R20=48000/82K=0.585A</strong></p> <p>&nbsp; &nbsp; &nbsp; &nbsp;设置输出电压:内部参考VREF为0.6V(典型)。这个输出电压由电阻分压器R18分压19连接到FB引脚.根据公式<strong>Vout=Vref</em>(1+R1/R2)=0.6<em>(1+110k/15k)= 4.9999V</strong>,电感器的推荐值为<strong>4.7至22&mu;H</strong>。(以上参数公式及电路源于MT3608L数据手册)&nbsp; &nbsp;&nbsp;</p> <p><strong><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/6cb67992db9844d88846de2a57ed7d57.png" /> &nbsp; &nbsp; &nbsp;&nbsp;</strong></p> <p><strong>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 稳压电路</strong>使用的是AMS1117。AMS1117-3.3是一款输出电压为3.3V的正向低压差稳压器,适用于高效线性稳压器、开关电源稳压器、电池充电器、有源小型计算机系统接口端子、笔记本电脑供电仪器的电源管理电池。AMS1117-3.3 输出电压范围:3.201 V~3.399V ;精度:1%</p> <p>&nbsp; &nbsp; &nbsp; &nbsp; C17和C18为输出滤波电容,用于抑制自激振荡。如果这两个电容不接,线性稳压器的输出通常会是一个振荡波形<strong>。</strong></p> <p><strong>11.调试与复位电路</strong></p> <p>&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000;"><strong>&rdquo;桌面多功能环境检测仪&ldquo;</strong>的<strong>下载</strong></span><strong>调试电路</strong>为4线ST-LINK接口,方便下载程序及程序仿真。<strong>复位电路</strong>主要是方便STM32单片机下载程序后程序未能自动执行进行复位操作或程序死机、卡机后的重新复位。</p> <p>&nbsp; &nbsp;<img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/1173d08041874b299c5eaca2ab25cb43.png" width="370" height="185" /></p> <h3 style="line-height: 1.8;"></em>5、软件部分</h3> <hr /> <p style="line-height: 1.8;"><strong>1.SHT30模块</strong></p> <p style="line-height: 1.8;">&nbsp; &nbsp; &nbsp; 通过查阅SHT30数据手册得知读取的过程,其中空白部分代表主机需要发送,阴影部分代表从机发送给主机接收的数据。</p> <p style="line-height: 1.8;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/79fbbc31d045446f970f87c9cd483e2a.png" /></p> <div>&nbsp; &nbsp; &nbsp; 对应代码片:</div> <div><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/bac1a285abcb4948b2a0d2b12c056c89.png" width="755" height="536" /></div> <div>&nbsp; &nbsp; &nbsp;</div> <div>&nbsp; &nbsp; &nbsp; 通过查阅手册得知<strong>温度转换公式</strong>为:</div> <div><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/c2ba3287eed340649fbe111b69029194.png" width="280" height="101" /></div> <div>&nbsp; &nbsp; &nbsp; 对应转换实现代码:</div> <div>&nbsp; <img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/346ae69328f34201b196dc7d12a819e4.png" width="711" height="61" /></div> <p style="line-height: 1.8;"><strong>2.超声波模块</strong></p> <p style="line-height: 1.8;">&nbsp; &nbsp; &nbsp; 模块测距的时序如图:</p> <p style="line-height: 1.8;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/2c0d5d5ace9746a9afbc9ee9670b665c.png" width="502" height="138" /></p> <p style="line-height: 1.8;">图上表明:只需要在Trig管脚输入一个10US以上的高电平,系统便可发出8个40KHZ的超声波脉冲,然后检测回波信号。当检测到回波信号后,通过Echo管脚输出。 根据 Echo 管脚输出高电平的持续时间可以计算距离值。<strong>即距离值为:(高电平时间*340m/s)/2</strong>。</p> <p style="line-height: 1.8;">&nbsp; &nbsp; &nbsp; 当测量距离超过HC-SR04的测量范围时,仍会通过Echo管脚输出高电平的信号,高电平的宽度约为66ms。如图下所示:</p> <p style="line-height: 1.8;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/a87f5b26c2db43fe8872d04f95fa434b.png" width="521" height="141" /></p> <p style="line-height: 1.8;">&nbsp; &nbsp; &nbsp; 测量周期:当接收到HC-SR04通过Echo管脚输出的高电平脉冲后,便可进行下一次测量,所以测量周期取决于测量距离,当距离被测物体很近时,Echo 返回的脉冲宽度较窄,测量周期就很短;当距离被测物体比较远时,Echo 返回的脉冲宽度较宽,测量周期也就相应的变长。 最坏情况下,被测物体超出超声波模块的测量范围,此时返回的脉冲宽度最长,约为66ms,所以最坏情况下的测量周期稍大于66ms即可(取70ms足够 )。</p> <p style="line-height: 1.8;"><span style="color: #000000;"><strong>&nbsp; &nbsp; &nbsp; </strong>实现思路:通过STM32给Trig触发控制信号,信号要求为10us的高电平,模块的TRIG接收到触发信号,则发出8个40KHZ的脉冲,进行声波发送,如果STM32通过和模块连接的Echo,采集高电平的持续时间,即为声波从模块发送到遇到障碍物,返回到模块的时间,计算距离。</span></p> <p style="line-height: 1.8;">&nbsp; &nbsp; &nbsp; &nbsp;距离计算代码片:<img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/accb917967394a77bcc8912dab13675f.png" width="656" height="135" /></p> <p style="line-height: 1.8;">&nbsp; &nbsp; &nbsp; 超声波运行代码片:</p> <p style="line-height: 1.8;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/d25c1d6bf1f64331a825076f2f4a6b96.png" width="563" height="344" /></p> <p style="line-height: 1.8;">&nbsp;</p> <p style="line-height: 1.8;"><strong>3.三合一空气质量监测模块</strong></p> <p style="line-height: 1.8;">&nbsp; &nbsp; &nbsp; 通过查阅商家提供的数据手册可得模块的通讯协议、串口数据流格式及数据范例。</p> <p style="line-height: 1.8;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/09abbd1b90524bfaaee3f4ddecb3cd3c.png" width="595" height="219" /></p> <p style="line-height: 1.8;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/0991eb2a6f8247428549c7bed7219fea.png" width="547" height="232" /></p> <p style="line-height: 1.8;">&nbsp; &nbsp; &nbsp; 实现代码块:</p> <p style="line-height: 1.8;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/f4f4062417fa4cb783e4bc5f6dff5e9d.png" width="645" height="233" /></p> <p style="line-height: 1.8;"><strong>3.红外发射模块</strong></p> <p style="line-height: 1.8;">&nbsp; &nbsp; &nbsp; 通过查阅商家提供的资料,我们<strong>先使用商家提供的串口软件进行键码值学习</strong>,然后再通过程序把学习好的码发送出去。我们使用的是STM32的USART3,<strong>切记红外发射模块不需要串口中断,否则会卡死!!!切记红外发射模块不需要串口中断,否则会卡死!!!</strong></p> <p style="line-height: 1.8;">&nbsp; &nbsp; &nbsp; 红外内码发生指令程序为:<img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/2c2c8e0b677040bfa1df31a278ba4dbb.png" width="478" height="258" /></p> <p style="line-height: 1.8;">按键控制红外发送控制空调程序:</p> <p style="line-height: 1.8;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/bfdc361b47e842dc8efdeb4819d67ad0.png" width="658" height="267" /></p> <p style="line-height: 1.8;"><strong>4.电池管理</strong></p> <p style="line-height: 1.8;">&nbsp; &nbsp; &nbsp; 获取电池电量值:</p> <p style="line-height: 1.8;"><strong><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/0ed969221fbf42039e48d82bd6c313d2.png" width="657" height="292" /></strong></p> <p style="line-height: 1.8;">&nbsp;</p> <p style="line-height: 1.8;">&nbsp; &nbsp; &nbsp; 获取USB电源接口接入状态:</p> <p style="line-height: 1.8;"><strong><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/ab69993f453842fb854e191f2fc0751e.png" width="646" height="219" /></strong></p> <p style="line-height: 1.8;">&nbsp;</p> <p style="line-height: 1.8;">&nbsp; &nbsp; &nbsp; 获取电池等级状态:</p> <p style="line-height: 1.8;"><span style="color: #95a5a6; font-size: 14px;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/aa8a248e39a9466a9360f7e560473177.png" width="650" height="228" /></span></p> <p style="line-height: 1.8;">&nbsp;</p> <p style="line-height: 1.8;">&nbsp; &nbsp; &nbsp; 测试代码:</p> <p style="line-height: 1.8;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/2a12a18a23c0401b9a197d78885981ca.png" width="796" height="372" /></p> <p style="line-height: 1.8;">&nbsp; &nbsp; &nbsp; 测试现象:</p> <p style="line-height: 1.8;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/35b7b99d32584b6f841dfa0b4250e553.jpg" width="452" height="326" /></p> <p style="line-height: 1.8;"><strong>5.上传数据到onenet物联网平台及平台下发数据</strong></p> <p style="line-height: 1.8;">&nbsp; &nbsp; &nbsp; 上传前确保ESP8266已经连接上WIFI及ONENET物联网平台</p> <p style="line-height: 1.8;"><strong><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/805adaf273aa4b2f8c4446401a5a41d3.png" width="550" height="296" /></strong></p> <p style="line-height: 1.8;"><strong>6.时间校准</strong></p> <p style="line-height: 1.8;">&nbsp; &nbsp; &nbsp; 通过ESP8266模块连接网络服务器后获取NTP网络时间,写入RTC进行校准。</p> <p style="line-height: 1.8;">&nbsp; &nbsp; &nbsp; 代码片:</p> <p style="line-height: 1.8;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/f8a9ccfd857e48fbb0397b8635d474c7.png" width="798" height="438" /></p> <p style="line-height: 1.8;"><strong>7.OLED图片取模</strong></p> <p style="line-height: 1.8;"><strong>&nbsp; &nbsp; </strong>图片取模使用的是stcai-isp-v6.94G,软件可以在STC官网工具软件栏下载。取模具体设置如图:</p> <p style="line-height: 1.8;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/d9e9361b5ec34739a30b77a01ba62108.png" width="740" height="703" /></p> <p style="line-height: 1.8;">&nbsp;</p> <p style="line-height: 1.8;">&nbsp;</p> <p style="line-height: 1.8;"><strong>8.注意事项</strong></p> <p style="line-height: 1.8;">&nbsp; &nbsp; &nbsp; 需要在esp8266.c里面修改为自己的WIFI名称与密码。</p> <p style="line-height: 1.8;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/5415d097fc37413cb5734c93ee6dd091.png" width="809" height="229" /></p> <p style="line-height: 1.8;">&nbsp; &nbsp; &nbsp; 如果是手机热点,则需要将选择AP频段设置为2.4GHz频段,下图以小米14手机为例</p> <p style="line-height: 1.8;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/9e32e3561a7b424da50d1c0863dd9e04.png" width="509" height="608" /></p> <p style="line-height: 1.8;">&nbsp;</p> <h3 style="line-height: 1.8;">&nbsp;</h3> <h3 style="line-height: 1.8;">***<em>"<strong><span style="color: #3598db;">桌面多功能环境检测仪</span></strong>"因时间问题,只能做到时间校准、环境采集、空调控制、数据上传云台、云台数据下发控制、APP开发(演示视频见下方共5个部分演示)功能。后续还可以拓展许多有用的功能如:加入多个带红外功能的家电产品、更详细的多级界面显示如充电界面等、加入手势识别,实现更多有趣的控制操作、加入语音识别播报模块实现属于自己的&ldquo;小爱同学&rdquo;。</h3> <p style="line-height: 1.8;">&nbsp;</p> <p style="line-height: 1.8;">&nbsp;</p> <h3 style="line-height: 1.8;"></em>6、BOM清单</h3> <hr /> <p style="line-height: 1.8;">清单为下表的BOM</p> <p style="line-height: 1.8;">&nbsp;</p> <h3 style="line-height: 1.8;"><em>7、大赛LOGO验证</h3> <hr /> <p style="line-height: 1.8;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/10350eb458024261bc435c377c462573.jpg" width="628" height="348" /></p> <p style="line-height: 1.8;">&nbsp;</p> <p style="line-height: 1.8;">&nbsp;</p> <h3 style="line-height: 1.8;"></em> 8、演示您的项目并录制成视频上传</h3> <hr /> <p style="line-height: 1.8;">实物图:3D打印太贵了,只能用手搓外壳了。<strong>外壳材料为5*5,厚度1.5mm的椴木板</strong>,可以用美工刀轻松切开,然后再用502胶水粘好。</p> <p style="line-height: 1.8;"><img src="//image.lceda.cn/oshwhub/16d6a5e4e8d34161ad8491600657c103.png" /></p> <p style="line-height: 1.8;">视频介绍:主界面演示、按键开关空调演示、APP功能演示、上传数据演示、检测人物演示</p></p>
  • 主界面.mp4

  • 手动控制.mp4

  • APP功能.mp4

  • 上传数据.mp4

  • 检测人物.mp4

文档

BOM

暂无

附件

附件名 下载
主界面.mp4
手动控制.mp4
APP功能.mp4
上传数据.mp4
检测人物.mp4
桌面多功能环境检测仪V1.1.rar

评论(0)

  • 表情
    emoji
    小嘉工作篇
    小嘉日常篇
  • 图片
成功
工程所有者当前已关闭评论
goToTop
svg-battery svg-battery-wifi svg-books svg-more svg-paste svg-pencil svg-plant svg-ruler svg-share svg-user svg-logo-cn svg-double-arrow