11
2018
05

wpeb-x开发板

0x00.简介

wpeb-x_03.png

wpeb-x开发板是一块气象站开发板,集成了ESP8266、温度、湿度、气压、光照传感器。板载一块ESP12Fwifi模块,一块SHT30湿度温度传感器,一块BMP280大气压强和温度传感器,一块BH1750光照强度传感器,该开发板可用来组建自己的气象站。开发工具使用arduino IDE,兼容NodeMCU开发板。

0x01.下载集成开发环境

链接:https://pan.baidu.com/s/1BfL6gmEuBQHdoSY2fu-3PQ 密码:mjmn

开发环境中已经配置和加入了开发板及传感器的库,解压后可直接运行

0x02.选择开发板

wpeb-x.png

0x03.读取所有传感器的数据

下载代码:0005.Monitor.zip

#include <Wire.h>

#include "ClosedCube_SHT31D.h"
ClosedCube_SHT31D sht3xd;

#include <BME280I2C.h>
BME280I2C bme;

int BH1750address = 0x23;
unsigned char buff[2];

#define LED D0 

void setup() {
  pinMode(LED, OUTPUT);
    
  Wire.begin();

  Serial.begin(115200);
  Serial.println();
  Serial.println("weather station");
  Serial.println("Water");
  Serial.println("2018-05-11");
  Serial.println("v1.0.1");
    
  Serial.println("ClosedCube SHT3X-D Periodic Mode Example");
  Serial.println("supports SHT30-D, SHT31-D and SHT35-D");

  sht3xd.begin(0x44); 

  Serial.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");

  while(!bme.begin())
  {
    Serial.println("Could not find BME280 sensor!");
    delay(1000);
  }

  switch(bme.chipModel())
  {
     case BME280::ChipModel_BME280:
       Serial.println("Found BME280 sensor! Success.");
       break;
     case BME280::ChipModel_BMP280:
       Serial.println("Found BMP280 sensor! No Humidity available.");
       break;
     default:
       Serial.println("Found UNKNOWN sensor! Error!");
  }

}

void loop() {
  
  printSHT3XData();
  printBME280Data();
  printBH1750Data();
  Serial.println();
  for(int i=0; i<5; i++) {
  digitalWrite(LED, LOW);
  delay(50);
  digitalWrite(LED, HIGH);
  delay(50);
  }
  delay(500);
}

void printSHT3XData() {
  SHT31D result = sht3xd.periodicFetchData();
  if (result.error == SHT3XD_NO_ERROR) {
    Serial.print("SHT30");
    Serial.print(": T=");
    Serial.print(result.t);
    Serial.print("C, RH=");
    Serial.print(result.rh);
    Serial.print("%; ");
  } else {
    Serial.print("SHT30");
    Serial.print(": [ERROR] Code #");
    Serial.print(result.error);
  }
}

void printBME280Data()
{
   float temp(NAN), hum(NAN), pres(NAN);

   BME280::TempUnit tempUnit(BME280::TempUnit_Celsius);
   BME280::PresUnit presUnit(BME280::PresUnit_Pa);

   bme.read(pres, temp, hum, tempUnit, presUnit);

   Serial.print("BMP280: T=");
   Serial.print(temp);
   Serial.print("°"+ String(tempUnit == BME280::TempUnit_Celsius ? 'C' :'F'));

   Serial.print(", P: ");
   Serial.print(pres);
   Serial.print("Pa; ");
}

void printBH1750Data()
{
   int i=0;
   double val=0;

   Wire.beginTransmission(BH1750address);
   
   Wire.write(0x10);
   Wire.endTransmission();

   Wire.beginTransmission(BH1750address);
   Wire.requestFrom(BH1750address, 2);
   while(Wire.available()) 
   {
     buff[i] = Wire.read();
     i++;
   }
   Wire.endTransmission();
   if(2==i)
   {
    val=((buff[0]<<8)|buff[1])/1.2;
   }
   Serial.print("BH1750: v=");
   Serial.print(val);
   Serial.print("Lx; ");
 }

wpeb-x_2.gif

点击进入购买

« 上一篇

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。