Arduino 测试空气质量等级模块 ZP07-MP503 测试
最近入手空气质量模块 ZP07-MP503,用Arduino采样数据进行测试
先上图看看 ZP07-MP503 产品
ZP07-MP503 一共4个管脚,功能如下
5V 电源输入5V
GND 电源输入0V
A 信号输出,以脉冲宽度形式输出
B 厂家备用
信号A 以高低电平脉冲宽度形式输出,对应污染等级参照下表:
ZP07-MP503 模块参数手册 链接:
测试结果
本实例中,我将 ZP07-MP503 的 A号引脚 接在了 Arduino 的 8号引脚上
Arduino 源码如下,测试正常!
//
// Author: Aiyauto
// VERSION: 0.0.1
// Date:2017/08/16
// PURPOSE: ZP07_MP503 空气质量模块检测 示例 for Arduino
//
// DATASHEET:
//
// URL:
//
// int airQuality; //空气质量等级 0-10 void setup() {
Serial.begin();
} void loop() {
airQuality = ZP07_MP503();
Serial.print(" 当前空气质量等级:");
Serial.println(airQuality);
} int ZP07_MP503(int pinA) { /* 初始化 */
pinMode(pinA, INPUT);
unsigned long millisTimes = millis();
unsigned long startMillisTimes = millisTimes;
unsigned long stopMillisTimes;
signed long deltaMillisTimes = millisTimes - startMillisTimes;
bool turnState = false;
bool pinAstate = digitalRead(pinA);;
bool pinAstateLast = pinAstate;
int result; /* 测试读取状态 */
while (true) {
pinAstate = digitalRead(pinA); //读取管脚状态 if (pinAstate != pinAstateLast) {
if (turnState == true) {
stopMillisTimes = millis();
if (pinAstate == false) {
deltaMillisTimes = stopMillisTimes - startMillisTimes;
}
else {
deltaMillisTimes = - stopMillisTimes + startMillisTimes;
}
result = (deltaMillisTimes + ) / ; //运算结果四舍五入
break; //跳出循环
}
if (turnState == false) {
startMillisTimes = millis(); //刷新当前时间
turnState = true; //更新标记
}
pinAstateLast = pinAstate;
} millisTimes = millis();
deltaMillisTimes = millisTimes - startMillisTimes;
if ( deltaMillisTimes > ) { //结果判定,超时跳出循环
if (pinAstate == true) { //空气质量等级10
result = ;
}
if (pinAstate == false) { //空气质量等级0
result = ;
}
break;
}
} // Serial.print(" pinAstate:");
// Serial.print(pinAstate);
// Serial.print(" , 空气质量等级:");
// Serial.print(result);
// Serial.print(", deltaMillisTimes:");
// Serial.println(deltaMillisTimes); return result; //返回空气质量等级结果 }
Arduino 测试空气质量等级模块 ZP07-MP503 测试的更多相关文章
- XBee模块户外通信距离测试
Digi的XBee模块在市面上同类产品中,除了稳定性和可靠性最受推崇外,在距离测试中一般都比竞争对手的产品略胜一筹.户外测试需要注意避免模块自身以外的因素造成的测试结果不理想. 2.4G的模块有Zig ...
- 使用Arduino Nano驱动Lora模块
使用Arduino Nano驱动Lora模块 为什么选用Lora 射频通信芯片有很多种,但是一般在同样功耗下,距离没有Lora远;同等范围下,没有Lora节能. Lora通信只适用于低速率,高延时的场 ...
- 【星云测试】开发者测试(4)-采用精准测试工具对dubbo微服务应用进行测试
简介:本文主要目的是把现今主流的Dubbo框架项目和精准测试进行对接,通过精准测试的数据穿透.数据采集.测试用例与代码的双向追溯.数据分析等一系列精准测试的特有功能达到对项目质量的保证. 本次环境搭建 ...
- [翻译] API测试最佳实践 - 组织你的测试
组织你的测试 适用级别:初学者 在最底层,一个测试步骤(Test Step)用来验证一个单独的操作.组合若干测试步骤到测试用例,允许你验证那些被分隔出来的一个一个的功能,这些功能是应用程序所需要的.接 ...
- Web测试要点 做移动端的测试,也做web端的测试,甚至后面桌面端的测试和后台的测试也做了,基本上把我们产品各个端都玩了一轮
Web测试要点 一.功能测试 1.链接测试 (1).测试所有链接是否按指示的那样确实链接到了该链接的页面: (2).测试所链接的页面是否存在: (3).保证Web应用系统上没有孤立的页面(所谓孤立 ...
- 测试工程师如何使用 CODING 进行测试管理
CODING 为您的企业提供从概念到软件开发再到产品发布的全流程全周期软件研发管理,为您的研发团队提供全程助力,帮助研发团队捋清需求.不断迭代.快速反馈并能实时追踪项目进度直到完成.同时 CODING ...
- 外包项目测试工作量评估指南&外包项目测试验收流程
## ### 外包项目测试工作量评估指南 1.目的 编写本指导书的目的旨在为我公司进行测试外包服务工作进行指导,帮助项目经理和相关人员编写测试方案.评估工作量.制定测试计划和测试策略等, ...
- web测试要点、方法_web端测试大全总结
一.功能测试 1.1链接测试 链接是web应用系统的一个很重要的特征,主要是用于页面之间切换跳转,指导用户去一些不知道地址的页面的主要手段,链接测试一般关注三点: 1)链接是否按照既定指示那样,确实链 ...
- 渗透测试工具BurpSuite做网站的安全测试(基础版)
渗透测试工具BurpSuite做网站的安全测试(基础版) 版权声明:本文为博主原创文章,未经博主允许不得转载. 学习网址: https://t0data.gitbooks.io/burpsuite/c ...
随机推荐
- Spark GraphX 聚合操作
package Spark_GraphX import org.apache.spark.{SparkConf, SparkContext} import org.apache.spark.graph ...
- bootstrap的modal弹窗,在多层窗口关闭时只会关闭自窗口,不再关闭父窗口
bootstrap多层modal弹窗时.当子窗口关闭时,所有父窗口一起关闭. 原因是bootstrap在窗口关闭事件委托时,委托给所有窗口. 如源码: this.$element.on('click. ...
- 为什么Markdown能夺得程序员的青睐
Markdown基本情况概述 Markdown是在HTML的基础上产生的.HTML的功能已经足够强大,可以编写出漂亮的网页.HTML在没有CSS的加持上,尽管不能显示出绚丽多彩的网页,但是仍然可以达到 ...
- 乐搏讲自动化测试-Python语言常识及前景(3)
相信小伙伴们都知道,随着软件测试行业的发展和进步自动化测试已经成为必然.在竞争日益激烈的市场环境中也是你升职加薪的利器. 所以,小编决定从今天起!将要系统.连续.高质量的持续更新「整套自动化测试」文章 ...
- codechef : TREDEG , Trees and Degrees
其实有原题,生成树计数 然鹅这题里面是两道题, 50pts 可以用上面那题的做法直接过掉,另外 50pts 要推推式子,搞出 O n 的做法才行(毕竟多项式常数之大您是知道的) 虽说这道题里面是没有 ...
- 一个包含所有C++头文件的头函数
#include<bits/stdc++.h> using namespace std; 使用方法和平常的头文件一样,#include<bits/stdc++.h>包含以下头文 ...
- 题解报告:poj 1426 Find The Multiple(bfs、dfs)
Description Given a positive integer n, write a program to find out a nonzero multiple m of n whose ...
- MySQL replace into 用法(insert into 的增强版)
转 http://blog.csdn.net/risingsun001/article/details/38977797 MySQL replace into 用法(insert into 的增强版) ...
- {Python}安装第三方包(setup.py)
在github上下载了records文件到本地. 解压文件 cmd切换到文件setup.py的目录下 先执行 python setup.py build 再执行python setup.py inst ...
- 378 Kth Smallest Element in a Sorted Matrix 有序矩阵中第K小的元素
给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第k小的元素.请注意,它是排序后的第k小元素,而不是第k个元素.示例:matrix = [ [ 1, 5, 9], [ ...