这里我们将解释MQ135 Arduino代码的一些重要部分。
该代码使用Adafruit_GFX.h、Adafruit_SSD1306.h和MQ135.h库。这些库可以从Arduino IDE中的库管理器下载并从那里安装。为此,请打开Arduino IDE并转到Sketch<Include Library<Manage Libraries。现在搜索Adafruit GFX并由Adafruit安装Adafruit GFX库。
图7-6 下载安装相关Arduino库
同样,由Adafruit安装Adafruit SSD1306库,可以从此处下载MQ-135库。
将库安装到Arduino IDE后,通过包含所需的库文件来启动代码。
#include"MQ135.h"
#include<SPI.h>
#include<Adafruit_GFX.h>
#include<Adafruit_SSD1306.h>
然后,定义OLED的宽度和高度。在这个项目中,我们使用128×64 SPI OLED显示器。你可以根据显示器更改屏幕宽度和屏幕高度变量。
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
然后定义连接OLED显示器的SPI通信引脚。
#define OLED_MOSI 9
#define OLED_CLK 10
#define OLED_DC 11
#define OLED_CS 12
#define OLED_RESET 13
然后,使用前面使用SPI通信协议定义的宽度和高度创建Adafruit显示实例。
Adafruit_SSD1306 display(SCREEN_WIDTH,SCREEN_HEIGHT,OLED_MOSI,OLED_CLK,OLED_DC,OLED_RESET,OLED_CS);
之后,定义连接MQ-135传感器的Arduino引脚:
int sensorIn=A0;
现在在setup()函数中,以9600的波特率初始化串行监视器以进行调试。另外,使用begin()函数初始化OLED显示屏。
Serial.begin(9600);(www.xing528.com)
display.begin(SSD1306_SWITCHCAPVCC);
display.clearDisplay();
在loop()函数中,首先通过调用analogRead()函数读取Arduino模拟引脚处的信号值。
val = analogRead(A0);
Serial.print("raw=");
然后在下一行,通过调用getμL/L()函数来计算μL/L值。使用负载电阻器R0和模拟引脚的读数计算μL/L值。
float ppm = gasSensor.getμL/L();
Serial.print("μL/L:");
Serial.println(μL/L);
接着,使用setTextSize()和setTextColor()设置文本大小和文本颜色。
display.setTextSize(1);
display.setTextColor(WHITE);
然后在下一行中,使用setCursor(x,y)方法定义文本开始的位置,并使用println()函数在OLED显示屏上打印CO2的浓度值。
display.setCursor(18,43);
display.println("CO2");
display.setCursor(63,43);
display.println("(μL/L)");
display.setTextSize(2);
display.setCursor(28,5);
display.println(μL/L);
最后,调用display()方法在OLED显示屏上显示文本。
display.display();
display.clearDisplay();
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。