作者
郑楠
简介
今天拿了实验室的粉尘传感器准备开始入手粉尘的检测工作,拿了 GP2Y1010AU0F 粉尘传感器。又向客服要了规格说明书,开始研究。嗯,输入电压 5V , TTL 串口通信。
spec 中的接线图
spec 中的接口定义
spec 中的数据组成
恩!看来挺容易的,数据挺全,开始做吧。扑哧扑哧把电路撘完,接上电源,把测试代码烧进去。
实物图
测试代码
#include <SoftwareSerial.h>SoftwareSerial mySerial(3, 5); // RX, TX
void setup() {// put your setup code here, to run once:mySerial.begin(2400);Serial.begin(2400);
}
int x;
void loop() {// put your main code here, to run repeatedly:if(mySerial.available()){x = mySerial.read();if(x==0xff){Serial.println(x,HEX);}else{Serial.print(x,HEX);Serial.print(" ");}}
}
然而…串口监视器的显示…
串口监视器
一片空白…我开始怀疑是板子坏了,换了 3 块 Arduino 板,最后换了块之前拿来做 LED 点阵的 Arduino UNO 板,还是不行。看来不是板子的问题,是不是导线发生断路了呢?我就去隔壁拿了万用表检测电路问题。结果发现杜邦线的导电性是没问题的。
这是什么情况,难道是我样例代码写错了?然后我就准备去各种百度,这时候客服发我另一个规格说明书了,他说刚刚发的是 1051 的,我的这个硬件是 1050 的,属于两年前的产品,但是接线是一样的。经过我自己对比两份说明书发现,在不起眼的地方1050的说明书多了一行小字。
spec 对比
1051 spec
1050 spec
也就是说1050的外围电路有个220μF的电解电容。但是电路图呢?我怎么没有看到。于是我就开始YY,看说明书里的接线就用了126号口,因此有可能是Arduino的VCC和GND与电容器并联后再并联传感器。事实证明我是错的…
一直整到晚上,当我终于想放弃闲逛淘宝店的时候,发现其他店也存在同类产品,但是!!!说明居然不一样!!!。原来说明书的电路图有问题,真正的外围电路的 220μF 电解电容应该是串联进 VLED 脚。
真·电路图
终于!成功啦!!!