内容介绍
内容介绍
实现功能
利用NANO-33 BLE的传感器,搭建一个小型环境监测站用于监测户外环境。待监测的参数包括:
- 周边环境温度(精度:±0.1°C, ±0.1°F)
- 周边环境湿度(精度:±1%)
- 大气压强(精度:±0.1kPa, ±0.1psi)
- 日照强度(用于判断白天/夜晚)
- 周边平均噪声(精度:±1dB)
并通过对开发板外接显示屏显示所获取的信息。
代码展示
所用库
#include <Arduino_LPS22HB.h>
#include <Arduino_HTS221.h>
#include <Arduino_APDS9960.h>
#include <PDM.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
传感器数据读取
pressure = BARO.readPressure();
f_temperature = HTS.readTemperature(FAHRENHEIT);
c_temperature = (f_temperature - 32) / 1.8;
humidity = HTS.readHumidity();
while ( APDS.colorAvailable()) {
APDS.readColor(r, g, b, a);
Serial.println("a:");
Serial.println(a);
}
//计算周边平均噪声
while (!samplesRead);
{
uint32_t sample_max = 0;
for (int i = 0; i < samplesRead; i++) {
if (sampleBuffer[i] < 0)
sampleBuffer[i] = -sampleBuffer[i];
if (sampleBuffer[i] > sample_max)
sample_max = sampleBuffer[i];
}
sample = 24 * log10(sample_max * 5);
}
samplesRead = 0;
数据打印
//显示周边环境温度
display.print(F("Temperature:"));
display.print(c_temperature);
display.println(F("C"));
//显示周边环境湿度
display.print(F("Humidity:"));
display.print(humidity);
display.println(F("%"));
//显示大气压强
display.print(F("Atmosphere:"));
display.print(pressure);
display.println(F("kPa"));
//判断白天/夜晚
display.print(F("Irradiance:"));
if (a >= 3) {
display.println(F("day "));
} else {
display.println(F("night "));
}
//显示周边平均噪声
display.print(F("Noise:"));
display.print(sample);
display.println(F("dB"));
# 功能演示结果
本次在OLED屏幕上成功显示了:显示周边环境温度、显示周边环境湿度、显示大气压强、/判断白天/夜晚、显示周边平均噪声。
# 心得体会
本期的Arduino构架吸引来了很多人,但是一开始的进口清关,以及一些Digi-Key的失误打灭了很多人的热情,我的一个学弟也因此而退款放弃,很是可惜。
从个人来说,我轻视了Arduino,他比我想象中要难。我习惯了那种右键-跳转到申明的过程,Arduino这种近似“黑箱”的内部设计让我无从下手。加上事多,无法很好的进行深入学习,遗憾。
附件下载
Environmental_Monitor_Station.ino
基于Arduino Nano 33 BLE Sense的环境监测站的源码
团队介绍
仅涵尘一人的苦逼小团队。
团队成员
涵尘者
评论
0 / 100
查看更多
猜你喜欢
Funpack8:Arduino Nano 33 BLE Sense开发板(微型环境监测站)利用Arduino nano 33 ble sense 及板载传感器开发出一个环境检测的项目
· 大气压强(精度:±0.1kPa, ±0.1psi)
· 日照强度(用于判断白天/夜晚)
· 周边平均噪声(精度:±1dB)
Jacky
1477
Funpack第八期 — Arduino Nano 33 BLE Sense 环境监测站利用 Arduino Nano 33 BLE Sense 的板载传感器,搭建一个小型环境监测站用于监测户外环境,待监测的参数包括温湿度、大气压强、日照强度、周边平均噪声等信息。
枫雪天
1148
Funpack第8期:Arduino Nano 33 BLE Sense 实现环境监测基于 Arduino Nano 33 BLE Sense 开发板,实现环境数据实时监测,并通过低功耗蓝牙同步到桌面程序
luckydarcy
1165