目录
ArduinoIDE安装8266库(开发板和Wemos D1 Mini)
介绍
8266开发板资料:
ESP8266-NodeMCU (1) 开发板介绍_esp8266开发板_太阳之神aboluo的博客-CSDN博客
Wemos D1 Mini 资料:
MQ135资料:
https://zhuanlan.zhihu.com/p/483635764
效果展
ArduinoIDE安装8266库(开发板和Wemos D1 Mini)
安装MQ135库文件
接线
ESP8266+5V-MQ135(VCC)
ESP8266GND-MQ135(GND)
ESP8266A0-MQ135(A0)
代码
#define BLINKER_WIFI//定义wifi模块
#include <Blinker.h>//点灯库文件
#include <MQ135.h>
char auth[] = "*******";//你的设备key点灯科技密钥
char ssid[] = "*******";//你的wifi 名称
char pswd[] = "*******";//你的wifi 密码
BlinkerNumber TEMP("temp"); // 定义BMT180温度数据键名
volatile float ad;
const int ANALOGPIN=0;
MQ135 gasSensor = MQ135(ANALOGPIN);
void heartbeat()
{
TEMP.print(ad);//反馈数据
}
void dataStorage()//云存储数据函数
{
Blinker.dataStorage("temp", ad);//存MQ135
}
void setup()
{
Serial.begin(115200);
BLINKER_DEBUG.stream(Serial);
Blinker.begin(auth, ssid, pswd);// 初始化blinker
Blinker.attachHeartbeat(heartbeat);//将传感器获取的数据传给blinker app上
Blinker.attachDataStorage(dataStorage);//调用云函数(曲线用的)
}
void loop() //把主代码放在这里,重复运行:
{
Blinker.run();//运行Blinker
float a = gasSensor.getRZero();//读取MQ135传感器的 并赋值给a
{
//打印
BLINKER_LOG("MQ135: ", a, "mL");
ad = a;//将读取到的温度赋值给全局变量bd
}
Blinker.delay(1000);//延时函数
}
程序在我的压缩包里
校验MQ135
首先下载MQ-135库,然后在读取Ro值之前将传感器预热24小时。预热过程之后,使用以下代码读取Ro值:
#include "MQ135.h"
void setup (){
Serial.begin (9600);
}
void loop() {
MQ135 gasSensor = MQ135(A0); // Attach sensor to pin A0
float rzero = gasSensor.getRZero();
Serial.println (rzero);
delay(1000);
}
可以在Arduino IDE中选择文件->首选项,在弹出的窗口中可以看到项目文件夹位置,D:\Users\weiwe\Documents\Arduino,然后你找到这个文件夹里面的libraries->MQ135-master->MQ135.h文件,打开便可以将RLOAD和RZERO值填进去。(记事本打开改完保存)
///The load resistance on the board
#define RLOAD 22.0
///Calibration resistence at atmospheric CO2 level
#define RZERO 5804.99
现在向下滚动并将ATMOCO2值替换为当前的大气CO2,即411.29(记事本打开改完保存)
///Atmospheric CO2 level for calibration purposes
#define ATMOCO2 397.13
https://www.yiboard.com/thread-1564-1-1.html
MQ135库的信息:https://github.com/NuclearPhoenixx/MQ135