内容介绍
内容介绍
任务二介绍
利用NANO-33 BLE的传感器, 搭建一个小型环境监测站用于监测户外环境。待监测的参数包括:
- 
周边环境温度(精度:±0.1°C, ±0.1°F) 
- 
周边环境湿度(精度:±1%) 
- 
大气压强(精度:±0.1kPa, ±0.1psi) 
- 
日照强度(用于判断白天/夜晚) 
- 
周边平均噪声(精度:±1dB) 
任务分析
- 
环境温度,湿度使用温湿度传感器HTS221获取。 
- 
大气压强使用板LPS22气压传感器获取。 
- 
日照强度由于精度要求不高,使用颜色传感器APDS9960获取颜色后和阈值比较后判断白天/夜晚。 
- 
平均噪声使用MP334DT05- A 麦克风,经过运算得到。 
- 
显示方式通过oled屏显示。 
核心代码
 //读取气压
  float pressure = BARO.readPressure();
  //读取温度
  float temperature = HTS.readTemperature();
  //读取湿度
  float humidity    = HTS.readHumidity(); 
  //读取光强
  while (! APDS.colorAvailable()) {//如果没有值 一直读取
    delay(100);
  }
  int r, g, b, a;
  APDS.readColor(r, g, b, 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];
  }
  
  uint32_t sample = 24*log10(sample_max*5); //转换分贝
  samplesRead = 0;
  display.clearDisplay(); //清空屏幕
  display.setCursor(0,0); //设置起点
  display.setTextSize(3); //设置字体
  display.setTextColor(SSD1306_WHITE); //设置字体颜色
  //显示气压
  display.print(pressure);
  display.println(F("kPa"));
  //显示温度
  display.println(temperature);
  display.drawBitmap(60,16,c,16,16,WHITE);
  //显示湿度
  display.print(humidity);
  display.println(F("%"));
  //显示分贝
  display.print(sample);
  display.print(F("dB"));
  //显示光暗
  if(a>2){
    display.print(F(" day"));
  }else{
    display.print(F(" night"));
  }
  //刷新屏幕
  display.display(); 演示
因为0.96的屏幕太小了,所以我用了两次显示。
- 
Pres是大气压
- 
Tempe是当前温度
- 
Humi是湿度
- 
Sound是噪声分贝
- 当判断是白天的时候显示“day”,当判断是晚上显示“night”
速度是5秒刷新一次。
心得体会
通过本次活动让没有接触过arduino的我快速上手,Arduino的的简单快捷,有庞大的用户群体,还有非常多的库让arduino变得更加快速入门,最后感谢硬禾学堂和得捷电子.
附件下载
1.ino
完整代码
团队介绍
xbreeze。
团队成员
xbreeze
评论
0 / 100
查看更多
猜你喜欢
Funpack第八期-Arduino nano 33 ble sense环境监测站任务二:环境监测站利用NANO-33 BLE的传感器, 搭建一个小型环境监测站用于监测户外环境。
2t _2t
2269
Funpack第八期 — Arduino Nano 33 BLE Sense 环境监测站利用 Arduino Nano 33 BLE Sense 的板载传感器,搭建一个小型环境监测站用于监测户外环境,待监测的参数包括温湿度、大气压强、日照强度、周边平均噪声等信息。
枫雪天
1507
Funpack 第八期 Arduino Nano 33 BLE Sense 环境监测站使用Arduino Nano 33 BLE Sense检测环境参数,并通过OLED显示屏显示
tinysheeep
1776



