站内搜索
发作品签到
专业版

基于梁山派的环境检测仪

工程标签

1.5k
0
0
1

简介

基于梁山派的智能手持环境检测仪项目,具有温度、湿度、有害气体浓度、电量显示,亮度调节、数据异常报警、数据上传云端、小夜灯等功能。

简介:基于梁山派的智能手持环境检测仪项目,具有温度、湿度、有害气体浓度、电量显示,亮度调节、数据异常报警、数据上传云端、小夜灯等功能。
立创·开发板电子设计训练营

开源协议

GPL 3.0

创建时间:2023-08-29 10:16:12更新时间:2023-10-17 10:31:13

描述

一、功能(原理)介绍

1.数据显示------1.69寸LCD显示屏

2.温度、湿度数据采集------AHT21传感器

3.有害浓度采集------AGS10传感器

4.电池充电及5V升压供电------TP5400充电芯片

5.数据上传云端------EC-01F  4G(NB-IOT)模块

6.数据异常报警------贴片蜂鸣器

7.小夜灯------1W LED灯珠

8.电量显示------电阻分压、ADC采集

9.从机显示------NF-03 2.4G模块

10.大气压数据采集------WF-183D

以上功能是在设计电路板的时候设计的,理论上都可以实现,但由于本人焊接技术不到位,导致气压传感器焊了两个都以失败告终,遂放弃;至于从机显示,由于手里仅有一块梁山派,且时间有限,将这一功能搁置了,其他功能均可实现。

 

 

 

 

 

 

二、硬件部分

 

1.屏幕显示电路

  屏幕使用是的1.69寸的LCD屏幕,分辨率为280x240,分辨率还是算比较高了,可以清楚的将内容显示出来。电路图中,信号线接梁山派的IO口,LEDA为屏幕背光正极,20欧姆电阻为限流电阻,LEADK为背光负极,需要接地,背光才能亮,才能看清楚屏幕上的内容;为了方便对屏幕进行亮度调节,在LEDK与地之间接了一个NMOS,用于后面进行pwn调光(亮度调节)。

 

 

 

2.TP5400充电及升压电路

  在有限的空间里,一般使用的是3.7V的软包锂电池,通常使用TP4056进行充电;而梁山派需要用5V供电,因此通常需要在3.7V的基础上进行升压,需要增加一个升压电路。而TP5400将电池升压和充电结合起来,外围电路也比较简单,因此采用TP5400充电电路。其中STDBY#和CHRG#充电指示灯,CHRG#代表的是充电中,为了节省空间和元器件,便省略了充电完成的提示灯,因此,熄灯则表示已充满。

 

 

 

3.有害气体浓度传感器电路

  这个电路比较简单,但根据手册上的内容知道,此传感器的工作电压为3.0正负0.1V,因此此传感器对电压有特定要求,不能直接将3.3V怼上去,不然传感器就要罢工了;这里使用一个肖特基二极管,产生0.3V左右的压降,刚好可以满足要求。

 

 

 

 

4.温湿度传感器电路

  采用I2C通信,为了保证总线正常工作,因此在信号线与电源之间接了上拉电阻。

 

 

5.蜂鸣器电路

  使用的无源蜂鸣器,利用pwm驱动mos管,进而驱动蜂鸣器(改变pwm的频率可以改变蜂鸣器的音调,无源蜂鸣器不能由直流3.3V驱动)

 

 

6.电压测量分压电路

  为了能清楚的了解到电池电量多少,就可以及时充电,避免因电池突然没电而失措;梁山派IO的采样精度是比较高的,可以满足采集电压的需求;同时由于IO口测量的电压不能超过3.3V,而电池电压满电为4.2V,因此需要对所测电压进行分压,使用两个10K电阻进行分压,分压之后最大电压为2.1V,满足测量要求。

 

 

 

7.开关电路

  由于分压电路测量的是电池电压,而拨动开关控制的是5V电压部分,也就是说即使关闭了5V开关,分压电阻也会消耗电池电量,这样可能导致下次使用时电池已经没电了;如果再增加一个拨动开关又会浪费空间,甚至比较麻烦,可能会关机时忘关,或者测量时忘开,非常不人性化;因此为了能达到分压电阻的开与关都与5V开关同步的目的,分压电阻与地之间加了一个NMOS,由5V开关控制,这样既能解决上面开关不方便的问题,同时比较节省空间。

 

 

 

8.小夜灯电路

  为了方便在某些需要灯光,但是又忘记带照明工具的情景;使用的为1W亮度的LED灯,其亮度胜于手机,甚至可与台灯娉美;根据供电需求知其需要3~3.3电压即可工作,可以采用5V供电,电阻分压的方法,但是这样会由于电流较大,导致电阻发热严重,需要大封装电阻,且根据欧姆定律知,电阻上会损失较多的能量,因此摒弃了这种方法,采用3.3V恒压供电,由于梁山派上的3.3DC降压给多路元件供电,且LED需要较大的电流,因此需要再增加一个降压电路,如下图所示。在LED与地之间接了NMOS,便于对LED灯进行PWM调光。(程序里设置了8个亮度,频率为10KHZ)

 

 

 

9.按键电路

  用于各个数据显示的查看,及对菜单的设定

 

 

 

 

10. 4G模块电路

   主要包括4G模组,卡槽,NF天线部分,其中的33PF电容,22Ω电阻,用于检测SIM卡是否存在,比较重要,不能省略。

 

 

 

 

11. 2.4G模组

    用于将数据传输至从机,在从机上查看。

 

 

 

 

12.气压传感器模块

  用于采集气压数据,使用串口通信。

 

 

 

 

 

 

三、软件部分

1.屏幕显示部分

  屏幕引脚初始化配置

 

  pwm背光函数,用于调节屏幕亮度

 

 

  汉字显示函数,显示对应大小的汉字,汉字由取模而来(如下图所示)

 

  图片显示函数(由取模软件而来,如下图所示)

 

 

 

 

2.温湿度传感器

    温湿度传感器初始化

  

   温度、湿度采集

 

 

4.按键部分

  按键初始化

    按键数据获取,若按键按下,对应标志位变为1

  按键标志获取函数

 

 

 

 

5.定时器定时按键扫描,电压采集

  定时器6初始化

 

  每20ms采集一次按键数据,每5s采集一次电压数据

 

 

6.数据上传云端

  4g模块引脚初始化,串口2初始化

 

  连接阿里云,开启订阅,为数据传输做准备

 

  若数据上传开关打开,则每隔一定时间进行数据上传,若断网,则自动进行重连

 

注:可能由于天线影响,将天线放在外壳外,可以使用,若置于壳内,可能会导致没有信号,数据上传失败!!!

 

 

7.蜂鸣器

    对应引脚pwm功能初始化

 

 

  蜂鸣器使用函数,在里面输入脉冲值和周期即可使用,改变其中任意一个值,均会导致频率发生变化。

 

 

 

8.LED亮度调节

    LED亮度调节也采用PWM调节方式,因此第一步仍是对引脚进行初始化,开启引脚复用功能

 

    pwm参数配置函数,主要配置频率,频率太低闪烁会比较明显,且对眼睛不友好,因此这里配置的参数和屏幕背光亮度调节参数相同,均为10KHZ

 

   LED亮度调节,调节的内容为timer_channel_output_pulse_value_config(TIMER2,TIMER_CH_0,pwmld);的占空比,即pwmld的大小

 

 

 

 

9.电压采集

  引脚配置及ADC初始化

 

   电压ADC采样及转换为相应百分比

 

 

10.主程序、菜单界面

    为了让界面看起来简约,“美观”,将显示界面进行优化,且便于人机交互,因此采用了类似于LVGL的菜单格式,由于本人太菜,没学会使用LVGL,因此使用了平替的手搓菜单,用标志位判断显示界面。

 

 

 

 

 

 

四、实物展示

  PCB正面

   PCB反面

 

 

 

 

 

演示视频B站链接手持环境检测仪

 

 

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
1
3D外壳.zip
20
2
手持环境检测仪(代码).zip
32
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航