PMS5003ST+Arduino Nano 串口读取数据
先上代码:
库文件是在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 串口读取数据的更多相关文章
- VS编程,C#串口通讯,通过串口读取数据的一种方法
一.可能需要的软件:1.虚拟串口vspd(Virtual Serial Port Driver,用来在电脑上虚拟出一对串口,模拟通讯. 2.友善串口调试助手,用来发送.读取数据. 二.思路1.查询本机 ...
- C# 从串口读取数据
最近要做系统集成,需要从串口读取数据,随学习一下相关知识: 以下是从串口读取数据 public static void Main() { SerialPort mySerialPort = new S ...
- [Arduino] 在串口读取多个字符串,并且转换为数字数组
功能如题目.在串口收到逗号分割的6串数字比如100,200,45,4,87,99然后在6个PWM端口3, 5, 6, 9, 10, 11输出对应PWM值代码注释很详细了,就不再说明了. //定义一个c ...
- PMS5003ST+Arduino Nano OLED屏显示
整合OLED显示和PMS5003报数 #include <Arduino.h> #include <pms.h> /////////////////////////////// ...
- Stm32l151+mpu6050+uart读取数据调试
新近买了一个MPU6050模块,如上图,这个模块上的三块黑色分别是:稳压芯片662K,STM8s003f3p6,MPU6050. 根据此模块的说明书,可以使用USB转TTL将模块与上位机连接,通过卖家 ...
- Arduino从DHT11读取温湿度数据并显示在1602LCD
硬件清单 Arduino NANO1602LCD + PCF8574T模块YL-47 DHT11模块 连线 1. 连接LCD: PCF8574T模块4pin(Gnd, Vcc, SDA i2c数据, ...
- Arduino学习笔记A6(补充) - 在串口读取多个字符串,并且转换为数字数组
功能如题目. 在串口收到逗号分割的6串数字比如 100,200,45,4,87,99 然后在6个PWM端口3, 5, 6, 9, 10, 11输出对应PWM值 代码注释很详细了,就不再说明了. ARD ...
- Arduino Nano 读取ADS1100实例
利用Arduino Nano的wire库可以很方便对ADS1100进行设置和读取转换后的数据. /* * Arduino reads ADS1100 I2C 16bit diff ADC */ /* ...
- python3 Serial 串口助手的接收读取数据
其实网上已经有许多python语言书写的串口,但大部分都是python2写的,没有找到一个合适的python编写的串口助手,只能自己来写一个串口助手,由于我只需要串口能够接收读取数据就可以了,故而这个 ...
随机推荐
- CentOS 6.5下NFS安装配置
[root@local /]# yum -y install nfs-utils rpcbind3.创建共享目录:[root@local /]# mkdir /sharestore4.NFS共享文件路 ...
- canvas小程序-快跑程序员
canvas不用说html5带来的好东西,游戏什么的,么么哒 记得有一天玩手机游戏,就是一个跳跃过柱子那种,其实元素很简单啊,app能开发,借助html5 canvas也可以啊, 于是就开始了. -- ...
- Spark:使用Spark Shell的两个示例
Spark:使用Spark Shell的两个示例 Python 行数统计 ** 注意: **使用的是Hadoop的HDFS作为持久层,需要先配置Hadoop 命令行代码 # pyspark >& ...
- 微信小程序教程(第四篇)
小程序开发基本框架及其限制与优化 开发基本框架(MINA框架) └─ Project-folder/ ·································· 项目所在目录 ├─ page ...
- css3弹性盒子模型——回顾。
1.box-flex属性规定框的子元素是否可伸缩其尺寸. 父元素必须要声明display:box;子元素才可以用box-flex. 语法:box-flex:value; 示例: <style&g ...
- linux文件相关的命令
1.linux下的文件分为字符设备文件和块设备文件 2.文件的属性有读写权限.执行权限.访问时间.修改时间.状态改变时间等. 状态改变时间指修改了文件的读写权限或者所有者等操作. 3.ls -l 执行 ...
- c#类,接口,结构,抽象类介绍 以及抽象和接口的比较
c#中的类是最常见的实际上就是对某种类型的对象定义变量和方法的原型. 结构是值类型,而类是引用类型. 1.与类不同,结构的实例化可以不使用 new 运算符.结构可以声明构造函数,但它们必须带参数. 2 ...
- JAVA--可变长参数
可变长参数: 可变长参数可以接受任意个数的实参,形参实际上是一个数组. 语法形式: 方法名称(类型 参数1,类型 参数2,类型...可变长参数) *可变长参数一定是方法的最后一个参数 public v ...
- bootstrap-导航总结
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- bootstrap 预定义样式风格
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...