Arduino 小白的 DIY 空气质量检测仪(2)- 甲醛模块、程序入口、目录结构

今日份

在这里插入图片描述

关闭门窗,开启空调新风低档位,睡一个晚上,可以看出,除了甲醛和TVOC值得关心,二氧化碳浓度也挺重要的咧。

关闭门窗,是为了隔绝噪音和光线。
新风低档位,是因为中高档噪音有点大。

实测过,连新风都不开,二氧化碳数值大概在1800+ppm,接近2000。
实测过,最有效降低二氧化碳,是开启卫身间的排气扇,就是挺吵的。

代码Go

过程中,不会有太详细的理论,毕竟小白我也不知道理解的准不准确哈,理论可以参考附近的大神文章系列。

目录结构

- arduino-air-monitor        项目目录
  - arduino-air-monitor.ino  程序入口
  - src
    - docs                   一些传感器文档
    - sgp_40                 TVOC 模块 sgp40 的官方算法
  - m_HCHO.h                 甲醛 模块逻辑
  - m_TVOC.h                 TVOC 模块逻辑
  - m_CO2.h                  二氧化碳 模块逻辑
  - m_Temperature_Tumidity.h 温湿度 模块逻辑
  - m_UV.h                   UV 紫外钱 模块逻辑
  - DFRobot_SGP40.h          TVOC 模块 sgp40 库 改版
  - DFRobot_SGP40.cpp        TVOC 模块 sgp40 库 改版
  - clock.h                  时钟逻辑
  - display.h                OLED 显示器逻辑
  - buttons.h                按钮逻辑

根据 Arduino IDE 官方说明和特点,根目录文件会直接显示在 IDE 的 Tabs 中:

在这里插入图片描述

而且,其它代码需放在 src 目录下,才可以方便通过 #include “src/xxx/xxx.h” 引入。

程序入口

以下是基本结构:

#include "display.h"
#include "clock.h"
#include "buttons.h"

#include "m_Temperature_Tumidity.h"
#include "m_UV.h"
#include "m_TVOC.h"
#include "m_CO2.h"
#include "m_HCHO.h"

// ...略

// Last process time
long lastProcessSecond = 0;

void setup() {
   
  Serial.begin(115200);

  Buttons::Btn_1.init();

  Display::OLED.init();
  Clock::RTC.init();

  Module::TVOC.init();
  Module::HCHO.init();
  Module::CO2.init();
}

void process(bool display) {
   
  // ...略

  Module::HCHO.read();

  // 打印信息
  char nowStr[20] = "";
  now.tostr(nowStr);
  Serial.println(nowStr);
  Serial.print("Temperature:");
  Serial.print(Module::Temperature.getValue());
  Serial.println(Module::Temperature.unit);
  Serial.print("Humidity:");
  Serial.print(Module::Humidity.getValue());
  Serial.println(Module::Humidity.unit);
  Serial.print("UV:");
  Serial.print(Module::UV.getValue());
  Serial.println(Module::UV.unit);
  Serial.print("CO2:");
  Serial.print(Module::CO2.getValue());
  Serial
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值