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

用网站还是阿里巴巴做soho优化设计答案六年级上册语文

用网站还是阿里巴巴做soho,优化设计答案六年级上册语文,wordpress注册邮箱验证码,徽信小程序是什么今天,我们开始第三个专题:连接SHT30温湿度传感器模块,获取当前环境实时温湿度数据,并显示在1.3寸TFT液晶显示屏上。 第一专题内容,请参考 【NodeMCU实时天气时钟温湿度项目 1】连接点亮SPI-TFT屏幕和UI布局设计…

        今天,我们开始第三个专题:连接SHT30温湿度传感器模块,获取当前环境实时温湿度数据,并显示在1.3寸TFT液晶显示屏上。

        第一专题内容,请参考
        【NodeMCU实时天气时钟温湿度项目 1】连接点亮SPI-TFT屏幕和UI布局设计-CSDN博客

        第二专题内容,请参考
        【NodeMCU实时天气时钟温湿度项目 2】WIFI模式设置及连接-CSDN博客

一、硬件需求——温湿度传感器模块SHT3X系列

        SHT3x DIS是Sensirion‘s新一代温度和湿度传感器。它建立在一个新的CMOSens®传感器芯片上,该芯片是Sensirion‘s新的湿度和温度平台的核心。与前代相比,SHT3x DIS具有更高的智能性、可靠性和更高的精度规格。它的功能包括增强的信号处理、两个独特的用户可选择的 I2C 地址和高达1MHz的通信速率。
        DFN封装规格为为 2.5mm x 2.5mm x 0.9mm(Height),这就很方便将SHT3x DIS集成到各种应用中。另外,2.4伏至5.5伏的宽电源电压范围保证了与各种组装情况的兼容性。
        总之,SHT3x DIS融合了作为湿度传感器行业的领导者Sensirion‘s15年来丰富的经验沉淀。
        SHT30-31-35资料:点击下载,  提取码:369r。
        本项目采用的型号为:SHT30

                        

二、硬件连接关系       

    NodeMCU    3V3    GND    D1      D2
     SHT30    vcc    gnd    scl    sda

三、添加ClosedCube SHT31D库

       ClosedCube SHT31D,是支持 Sensirion SHT30-D, SHT31-D and SHT35-D温湿度传感器的Arduino框架库,适用于I2C接口。
        方法:直接打开 PlatformIO 界面,选择 Libraries 图标,在搜索栏内输入 ClosedCube SHT31D,添加到本项目中。

四、ClosedCube SHT31D官方示例代码     

//以下代码来源于官方示例 periodicmode.info 的代码
//为了能在[vscode + platformIO]平台正常运行,主要修改了三个位置的代码,均已在程序中加注释说明。
//在本项目中,重新定义了 I2C 通信引脚#include <Wire.h>
#include "ClosedCube_SHT31D.h"ClosedCube_SHT31D sht3xd;// 新增: 定义 I2C 引脚
const int SHT_SCL = D1;
const int SHT_SDA = D2;void printResult(String text, SHT31D result) ;  //新增:函数预先声明void setup()
{//Wire.begin();----------这行是原代码,已加注释标志//定义I2C通讯的引脚Wire.begin(SHT_SDA, SHT_SCL);//新增:替换上一行代码,主要是定义启用I2C引脚Serial.begin(9600);Serial.println("ClosedCube SHT3X-D Periodic Mode Example");Serial.println("supports SHT30-D, SHT31-D and SHT35-D");sht3xd.begin(0x44); // I2C address: 0x44 or 0x45Serial.print("Serial #");Serial.println(sht3xd.readSerialNumber());if (sht3xd.periodicStart(SHT3XD_REPEATABILITY_HIGH, SHT3XD_FREQUENCY_10HZ) != SHT3XD_NO_ERROR)Serial.println("[ERROR] Cannot start periodic mode");}void loop()
{printResult("Periodic Mode", sht3xd.periodicFetchData());delay(250);
}void printResult(String text, SHT31D result) {if (result.error == SHT3XD_NO_ERROR) {Serial.print(text);Serial.print(": T=");Serial.print(result.t);Serial.print("C, RH=");Serial.print(result.rh);Serial.println("%");} else {Serial.print(text);Serial.print(": [ERROR] Code #");Serial.println(result.error);}
}

        将此代码复制到项目 main.cpp 中,编译上传成后,如果在串口监视器输出如下信息,那就说明 SHT30 温湿度传感器已。

        

五、在项目中使用SHT30采集温湿度实时数据的代码

        使用SHT30采集温湿度实时数据的代码,都封装在 sht30.h 文件中,分别定义了3个函数:
        (1)void sht30_setup(),开机时调用,设置SHT30的I2C引脚、地址和工作模式。
        (2)void saveResult(SHT31D result),用于保存结果到指定的数据结构,如果传感器断开,则尝试重载。
        (3)void sht30(),在主程序/循环体loop中调用。
        本程序主要内容,来源于网络大神,如有异议,请及时联系作者。

//********sht30 温湿度传感器***************#include <Wire.h>
#include "ClosedCube_SHT31D.h"
ClosedCube_SHT31D sht3xd;// 配置引脚
const int SHT_SCL = D1;
const int SHT_SDA = D2;const int SHT_ADDRESS = 0x44;//定义保存采集数据结果的数据结构,并设置读取频率struct SHT_DATA{int8_t temperature = -99;int8_t humidity = -99;unsigned long sht30_last = 0;const long sht30_interval = 1000; //每秒读取一次} sht_data;//开机函数
void sht30_setup() {//定义I2C通讯的引脚Wire.begin(SHT_SDA, SHT_SCL);//准备读取sht3x传感器sht3xd.begin(SHT_ADDRESS);if (sht3xd.periodicStart(SHT3XD_REPEATABILITY_HIGH, SHT3XD_FREQUENCY_10HZ) != SHT3XD_NO_ERROR){Serial.println("[ERROR] 读取sht30数据失败,可能是传感器没插好");}
}//保存结果到指定的数据结构,如果传感器断开,则尝试重载
void saveResult(SHT31D result) {if (result.error == SHT3XD_NO_ERROR) {sht_data.temperature = result.t;sht_data.humidity = result.rh;} else {  sht_data.temperature = -99;sht_data.humidity = -99;sht30_setup();}
}//循环体函数,放在loop中
void sht30() {unsigned long currentMillis = millis();if (currentMillis - sht_data.sht30_last >= sht_data.sht30_interval) {sht_data.sht30_last = currentMillis;saveResult(sht3xd.periodicFetchData());Serial.print("T:");Serial.print(sht_data.temperature);Serial.print(" H:");Serial.println(sht_data.humidity);}
}

六、运行结果展示

        (1) 依据硬件连接关系,在面包板上接入SHT30温湿度传感器;
        (2)设置每隔500ms调用一次sht30()函数;
        (3)修改主程序 main.cpp 内容,实现在TFT液晶屏显示的目标。
        (4)编译上传后,就可以在TFT屏幕上看到实时采集到的温湿度数据了。
                (以下视频,是使用吹风机模拟来观察采集显示的结果)

sht30_test

七、项目资源下载

        百度网盘下载链接:
        https://pan.baidu.com/s/1Rk5OBIxZ-BtUMQqG8TjUag?pwd=vo5t,提取码:vo5t

八、编译不通过的解决办法

        本项目需要导入ClosedCube SHT31D库以支持SHT30正常工作。在编译时,您可能会遇到如下图所示的错误信息。

        解决方法是, 请将箭头所指方框内的内容修改成:   return returnError(error);    

return returnError(error);

       修改后的内容,如下图所示。再次编译,就可以顺利通过了。

        参考资料

        1. ClosedCube SHT31D 库源代码

http://www.yidumall.com/news/18860.html

相关文章:

  • 专业做相册书的网站2345网址导航手机版
  • 政府门户网站建设管理典型经验长沙哪家网络公司做网站好
  • 莱州网站建设网页设计需要学什么
  • 安庆哪些做网站的公司好柳州今日头条新闻
  • 泸州做网站的公司有哪些惠州网络营销公司
  • 购物网站开发 书籍樱花bt引擎
  • 保靖网站建设百度账号人工申诉
  • 做网站是否要去工商备案云南今日头条新闻
  • 网站维护费一年多少钱淄博网站推广
  • 中国十大人力资源外包公司优化 保证排名
  • 电子商务网站建设规划的内容软文广告代理平台
  • 在深圳做网站多少钱宁波seo推荐优化
  • 长沙广告公司电话合肥网站推广优化
  • 最超值的郑州网站建设各种手艺培训班
  • 动态网站建设步骤广告公司接单软件
  • 网站商城怎么做win10系统优化工具
  • dedecmsv5.6 qq空间网站模板怎么制作网页
  • 投资网站建设yandex引擎
  • 如何做经营性网站备案电脑优化软件哪个好用
  • 漯河网站建设费用seo助手
  • 重庆做网站_重庆网站建设_重庆网络推广_重庆网络公司百度网站推广电话
  • 一个人做网站的难度优化近义词
  • 建网站 可以看到访客吗郑州短视频代运营
  • 北京行业网站建设软件培训机构排行榜
  • 黄岛网站建设价格石家庄网站建设公司
  • wordpress自己制作主题天津做优化好的公司
  • 做pc端网站策划ks免费刷粉网站推广
  • 做网站流量赚钱培训计划和培训内容
  • 美女图片网站模板沈阳seo整站优化
  • 网站建设velpai郑州中原区最新消息