先上代码:

库文件是在guihub上的大神写的https://github.com/jbanaszczyk,我拿来小改下用以支持5003ST

#include <Arduino.h>
#include <pms.h> //////////////////////////////////////// #if defined PMS_DYNAMIC
Pms5003 *_pms;
#define pms (*_pms)
#else
Pms5003 pms;
#endif //////////////////////////////////////// auto lastRead = millis(); void setup( void ) {
Serial.begin( );
while ( !Serial ) { };
Serial.println( "PMS5003ST" ); #if defined PMS_DYNAMIC
_pms = new Pms5003();
#else
pms.begin();
#endif // pms.write( Pms5003::cmdWakeup );
// pms.write( Pms5003::cmdModePassive ); // Serial.println( pms.getDataSize() );
// pms.write( Pms5003::cmdModeActive );
} //////////////////////////////////////// void loop( void ) { const int n = Pms5003::Reserved;
Pms5003::pmsData data[ n ]; Pms5003::PmsStatus status = pms.read( data, n ); switch ( status ) {
case Pms5003::OK:
{ Serial.println( "_________________" );
auto newRead = millis();
Serial.print( "Wait time " );
Serial.println( newRead - lastRead );
lastRead = newRead; for ( size_t i = Pms5003::PM1dot0; i < n; ++i ) {
if(i == n-)
Serial.print( float(data[ i ]/) );
if(i == n- || i == n-)
Serial.print( float(data[ i ]/));
else
Serial.print( data[ i ] );
Serial.print( "\t" );
Serial.print( Pms5003::dataNames[ i ] );
Serial.print( " [" );
Serial.print( Pms5003::metrics[ i ] );
Serial.print( "]" );
Serial.println();
}
break;
}
case Pms5003::noData:
break;
default:
Serial.println( "_________________" );
Serial.println( Pms5003::errorMsg[ status ] );
};
}

接线图:

PIN1-----> 5V

PIN2----->GND

PIN5----->D8(要接电平转换板,PIN5要3.3V,而D8输出是5V;或者直接用  USB转TTL 连接电脑也可以)

在来张实拍图:

PMS5003ST+Arduino Nano 串口读取数据的更多相关文章

  1. VS编程,C#串口通讯,通过串口读取数据的一种方法

    一.可能需要的软件:1.虚拟串口vspd(Virtual Serial Port Driver,用来在电脑上虚拟出一对串口,模拟通讯. 2.友善串口调试助手,用来发送.读取数据. 二.思路1.查询本机 ...

  2. C# 从串口读取数据

    最近要做系统集成,需要从串口读取数据,随学习一下相关知识: 以下是从串口读取数据 public static void Main() { SerialPort mySerialPort = new S ...

  3. [Arduino] 在串口读取多个字符串,并且转换为数字数组

    功能如题目.在串口收到逗号分割的6串数字比如100,200,45,4,87,99然后在6个PWM端口3, 5, 6, 9, 10, 11输出对应PWM值代码注释很详细了,就不再说明了. //定义一个c ...

  4. PMS5003ST+Arduino Nano OLED屏显示

    整合OLED显示和PMS5003报数 #include <Arduino.h> #include <pms.h> /////////////////////////////// ...

  5. Stm32l151+mpu6050+uart读取数据调试

    新近买了一个MPU6050模块,如上图,这个模块上的三块黑色分别是:稳压芯片662K,STM8s003f3p6,MPU6050. 根据此模块的说明书,可以使用USB转TTL将模块与上位机连接,通过卖家 ...

  6. Arduino从DHT11读取温湿度数据并显示在1602LCD

    硬件清单 Arduino NANO1602LCD + PCF8574T模块YL-47 DHT11模块 连线 1. 连接LCD: PCF8574T模块4pin(Gnd, Vcc, SDA i2c数据, ...

  7. Arduino学习笔记A6(补充) - 在串口读取多个字符串,并且转换为数字数组

    功能如题目. 在串口收到逗号分割的6串数字比如 100,200,45,4,87,99 然后在6个PWM端口3, 5, 6, 9, 10, 11输出对应PWM值 代码注释很详细了,就不再说明了. ARD ...

  8. Arduino Nano 读取ADS1100实例

    利用Arduino Nano的wire库可以很方便对ADS1100进行设置和读取转换后的数据. /* * Arduino reads ADS1100 I2C 16bit diff ADC */ /* ...

  9. python3 Serial 串口助手的接收读取数据

    其实网上已经有许多python语言书写的串口,但大部分都是python2写的,没有找到一个合适的python编写的串口助手,只能自己来写一个串口助手,由于我只需要串口能够接收读取数据就可以了,故而这个 ...

随机推荐

  1. EM算法 大白话讲解

    假设有一堆数据点,它是由两个线性模型产生的.公式如下: 模型参数为a,b,n:a为线性权值或斜率,b为常数偏置量,n为误差或者噪声. 一方面,假如我们被告知这两个模型的参数,则我们可以计算出损失. 对 ...

  2. C# MongoDB 查询,分组,聚合,排序,条件,分页

    先下载个C#的驱动.MongoDB提供各种主流与非主流预言的开发驱动. C# Driver 下载地址:这里 CSharp Driver Tutorial:这里 下载文件安装或者解压缩包 如果您是安装, ...

  3. redis&rabbitMQ安装

    前言: 学习python已经有一段时间了,最近在学twisted(博客:twisted安装),redis,rabbitMQ感觉有点难度,所以还是写下博客整理下. 一.Redis的安装 redis是一种 ...

  4. C++编程练习(11)----“图的最短路径问题“(Dijkstra算法、Floyd算法)

    1.Dijkstra算法 求一个顶点到其它所有顶点的最短路径,是一种按路径长度递增的次序产生最短路径的算法. 算法思想: 按路径长度递增次序产生算法: 把顶点集合V分成两组: (1)S:已求出的顶点的 ...

  5. iOS实现白板、画板功能,有趣的涂鸦工具,已封装,简单快捷使用

    一.效果图: 二.选择颜色: 分[固定颜色模式]和[自由取模式].  三.操作栏功能: 1.撤销:撤销上一步操作,可一直往上进行,直到全部清空. 2.清空:直接清除所有绘画. 3.橡皮擦:去除不要的绘 ...

  6. 基于canvas和jsp的头像剪辑上传

    最近在做项目时候需要一个头像长传功能,但是现在照片动不动就几兆的,都是流量的浪费. 我只是简单想要上传一个头像而已... 经过几天发愤图强..总算是略有所获.. 基本思路: 1.html部分,图片剪辑 ...

  7. JAVA--可变长参数

    可变长参数: 可变长参数可以接受任意个数的实参,形参实际上是一个数组. 语法形式: 方法名称(类型 参数1,类型 参数2,类型...可变长参数) *可变长参数一定是方法的最后一个参数 public v ...

  8. 【吐血整理】SVN命令行,Subversion的正确使用姿势,让版本控制更简单~

    一.写在前面 前面一直博主一直用svn的桌面版本,但看项目经理一直都用的命令行方式,不为性能,还能直接装逼呀!在这里先感谢赵哥,也把它分享给感兴趣的你们~ 二.直接上干货 1. svn checkou ...

  9. HTTP各状态消息说明

    200:请求已成功,请求所希望的响应头或数据体将随此响应返回. 302:请求的资源临时从不同的 URI 响应请求.由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求.只有在 Cache- ...

  10. Keepalived + HAProxy 搭建【第一篇】HAProxy 的安装和配置

    第一步:准备 1. 操作系统 CentOS-7-x86_64-Everything-1511 2. 安装包 haproxy-1.7.2.tar.gz 第二步:安装 # tar zxvf haproxy ...