资讯详情

怎样通过Blynk服务器在Arduino IDE上DIY气象站

第一步:了解传感器

42c30eca08763a7419aac646553064cb.png

BMP180:

说明:

BMP180包括压阻传感器、模数转换器和带有E2PROM和串行I2C接口控制单元。 BMP180提供压力和温度的未补偿值。 E2PROM单个校准数据已存储176位。用于补偿传感器偏移、温度依赖等参数。

UP =压力数据(16-19位)

UT =温度数据(16位) )

技术规格:

Vin:3至5VDC

逻辑:3至5V兼容

压力感应范围:300-11000 hPa(海拔9000m至-500m)

高达0.03hPa/0.25m分辨率-40至 85°C工作范围, -2°C的温度精度

使用此板/芯片I2C 7位地址0x77。

DHT11:

说明:

DHT11是一种基本的超低成本数字温度和湿度传感器。

它使用电容式湿度传感器和热敏电阻来测量周围的空气,并在数据引脚上发出数字信号(无需模拟输入引脚)。它很容易使用,但需要谨慎的时间来获取数据。

这种传感器唯一真正的缺点就是每2秒只能从中获取一次新数据,所以在使用我们的库时,传感器读数可能长达2秒。

技术规格:

适用于0-50°C温度读数,±2°C精度

湿度读数适用于20-80%,精度为5%

转换期间最大电流消耗为2.5 mA(请求数据时)

步骤2:通过Nodemcu连接

DHT11:

引脚1-3.3V

针脚2-D4

针脚3-NC

针脚4-Gnd

带有Nodemcu的BMP180:

Vin-3.3V

Gnd-Gnd

SCL-D6

SDA-D7

第3步:设置Blynk

Blynk是什么?

Blynk是一个具有iOS和Android控制应用程序的平台Arduino,Raspberry Pi和

这是一个数字仪表板,你可以通过si为您的项目构建图形界面mply小部件的拖放。设置一切都很简单,你会在不到5分钟的时间内开始修复。 Blynk没有绑在特定的板或护板上。相反,它是您选择的支持硬件。无论您的Arduino或Raspberry Pi是通过Wi-Fi,以太网仍然是这种新型ESP8266芯片链接到Internet,Blynk能让你上线,为物联网做好准备。

更多关于设置的信息Blynk:详细的Blynk设置

第4步:代码

//Comments for each line is given in the .ino file below

#include

#define BLYNK_PRINT Serial

#include

#include

#include

#include

#include

Adafruit_BMP085 bmp;

#define I2C_SCL 12

#define I2C_SDA 13

float dst,bt,bp,ba;

char dstmp[20],btmp[20],bprs[20],balt[20];

bool bmp085_present=true;

char auth[]=“Put your Authication key from the Blynk app here”;

char ssid[] = “Your WiFi SSID”;

char pass[] = “Your Password”;

#define DHTPIN 2

#define DHTTYPE DHT11

DHT dht(DHTPIN, DHTTYPE); //Defining the pin and the dhttype

BlynkTimer timer;

void sendSensor()

{

if (!bmp.begin())

{

Serial.println(“Could not find a valid BMP085 sensor, check wiring!”);

while (1) {}

}

float h = dht.readHumidity();

float t = dht.readTemperature();

if (isnan(h) || isnan(t))

{

Serial.println(“Failed to read from DHT sensor!”);

return;

}

double gamma = log(h/100) ((17.62*t) / (243.5 t));

double dp = 243.5*gamma / (17.62-gamma);

float bp = bmp.readPressure()/100;

float ba = bmp.readAltitude();

float bt = bmp.readTemperature();

float dst = bmp.readSealevelPressure()/100;

Blynk.virtualWrite(V5 , h);

Blynk.virtualWrite(V6 , t);

Blynk.virtualWrite(V10, bp);

Blynk.virtualWrite(V11, ba);

Blynk.virtualWrite(V12, bt);

Blynk.virtualWrite(V13, dst);

Blynk.virtualWrite(V14, dp);

}

void setup()

{

Serial.begin(9600);

Blynk.begin(auth, ssid, pass);

dht.begin();

Wire.begin(I2C_SDA, I2C_SCL);

delay(10);

timer.setInterval(1000L, sendSensor);

}

void loop()

{

Blynk.run();

timer.run();

}

责任编辑:wv

标签: dst电容

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台