先上代码:

库文件是在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. 部署AlwaysOn第一步:搭建Windows服务器故障转移集群

    在Windows Server 2012 R2 DataCenter 环境中搭建集群之前,首先要对Windows服务器故障转移集群(Windows Server Failover Cluster,简称 ...

  2. CodeForces 327C

    Magic Five Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit  ...

  3. Div.2 C. Dasha and Password

    C. Dasha and Password time limit per test 2 seconds memory limit per test 256 megabytes input standa ...

  4. CSS3中字体平滑处理和抗锯齿渲染

    在围观Drupal官方主题的时候,发现了一个有意思的非标准CSS选择器-webkit-font-smoothing,于是上手把玩了一番.如何使用css3字体平滑显示呢 要知道,W3C对CSS中字体的抗 ...

  5. C++ Primer 笔记 第三章

    C++ Primer 第三章 标准库类型 3.1using声明 例: using namespace atd; using std::cin; 3.2string类型 初始化方式 string s1 ...

  6. input _文本框回车或者失去光标触发事件

    IE下,当一个HTML元素的属性改变的时候,都能通过 onpropertychange来即时捕获. onchange在属性值改变时还必须使得当前元素失去焦点(onblur)才可以激活该事件. 了解这一 ...

  7. IO的构造方法

    package com.file; /* File的构造方法: File(String pathname); File(File parent,String child); File(String p ...

  8. Python2和Python3中除法操作/的不同

    X/Y 在3.0版本之前的Python中 >>>1/2 0 即一个整数(无小数部分的数)被另外一个整数除,计算结果的小数部分被截除了,只留下了整数部分 有时候,这个功能比较有用,譬如 ...

  9. DevExpress 控件使用之GridControl基本属性设置

    DEV控件:gridControl常用属性设置     1.隐藏最上面的GroupPanel(实现方法两种)     ①代码实现:gridView1.OptionsView.ShowGroupPane ...

  10. BZOJ 3926: [Zjoi20150]诸神眷顾的幻想乡(后缀自动机)

    被这道题坑了= =只与一个空地相连的空地不超过20个只与一个空地相连的空地不超过20个 因为很重要所以说两遍 就是说儿子节点最多只有20个 把这20个节点作为根遍历一遍所得到的tire所得到的所有不同 ...