攀藤 G3 粉尘激光传感器
最近买了 攀藤 G3 粉尘激光传感器 ,但是没有任何说明书和参考代码。想在arduino上面使用,哪位有使用过此传感器的经验?包括他的接线方式,数据读取方式。
谢谢
参考我写的 攀藤 G1 的用法吧......
就在本论坛(这两天不知道为啥,我的网站挂了)
另外,你哪里买的,找卖家要啊 你的目标是什么?
我刚买一个 G3 准备做一下办公室的pm2.5的监控 参考这个吧http://www.geek-workshop.com/thread-14547-1-1.html
接线图,淘宝网页上有
晚上写了一个程序 lz可以试试
走蓝牙的,蓝牙透传的 RX 接在G3 绿色的 TX 上
然后pc上选择串口即可
zoologist 发表于 2015-9-5 21:52 static/image/common/back.gif
晚上写了一个程序 lz可以试试
非常感谢哈,好像是delphi的,我的是在arduino上面,麻烦有参考的吗?
void setup() {
pinMode(10, OUTPUT);//pin3 set high
digitalWrite(10, HIGH);
Serial.begin(9600, SERIAL_8N1);
}
void loop() {
ProcessSerialData();
}
void ProcessSerialData(){
while (Serial.available() > 0){
//处理逻辑
}
}
这是我写的基本代码,但是发现读不进数据。 centerqi 发表于 2015-9-5 22:09 static/image/common/back.gif
void setup() {
pinMode(10, OUTPUT);//pin3 set high
digitalWrite(10, HIGH);
你说的读不进来指的是什么意思 Serial.available条件不满足。
while (Serial.available() > 0){
//处理逻辑
} 今天重新看了一下书册,发现已经可以work了,但是在读取数据包的时候有点问题,第三个字节溢出。
void ProcessSerialData()//读取PMS1003的数据。并根据通信协议转化成有效的值。
{
unsigned int mData = 0;
unsigned int i = 0;
unsigned int mPkt = {0};
int mCheck = 0;
int xyz=0;
while (Serial.available() > 0)
{
//Basing on the protocol of Plantower PMS1003
mData = Serial.read();
delay(2);//wait until packet is received
if(mData == 0x42)//head1 ok
{
mPkt =mData;
mData = Serial.read();
if(mData ==0x4d)//head2 ok
{
mPkt =mData;
mCheck = 66+77;
for(int i=2;i < 22;i++)//data recv and crc calc
{
mPkt = Serial.read();
delay(2);
Serial.print(i);
Serial.print(" ");
Serial.println(mPkt);
mCheck += mPkt;
}
mPkt = Serial.read();
delay(1);
mPkt = Serial.read();
Serial.println();
Serial.print(mCheck);
Serial.print("");
Serial.println(mPkt*256+mPkt);
if(mCheck == mPkt*256+mPkt)//crc ok
{
Serial.flush();
xyz = mPkt*256+mPkt;
Serial.println("done23"+xyz);
return;
}
}
}
}
}
zoologist 发表于 2015-9-4 14:13 static/image/common/back.gif
参考我写的 攀藤 G1 的用法吧......
就在本论坛(这两天不知道为啥,我的网站挂了)
你好
我刚买了一个G3,用你的软件测试很方便,在此感谢!
我想问一下,测试结果中两个PM2.5,这两个PM2.5是什么意思?
应该看哪个? mlf8888 发表于 2015-12-23 08:18 static/image/common/back.gif
你好
我刚买了一个G3,用你的软件测试很方便,在此感谢!
我想问一下,测试结果中两个PM2.5,这两个PM2 ...
一个是原始值,一个是使用 CF=1 修正值,不过我也不明白CF=1修正是什么意思
你用原始值好了 centerqi 发表于 2015-9-6 22:54 static/image/common/back.gif
今天重新看了一下书册,发现已经可以work了,但是在读取数据包的时候有点问题,第三个字节溢出。
void P ...
if(mCheck == mPkt*256+mPkt)//crc ok
你这个校验不对吧?
mCheck 是前22位的和?
我看微创联合上面写的是前13位? mlf8888 发表于 2015-12-23 08:18 static/image/common/back.gif
你好
我刚买了一个G3,用你的软件测试很方便,在此感谢!
我想问一下,测试结果中两个PM2.5,这两个PM2 ...
大气环境下是国标(环保部),CF=1是美标(美使馆),一般在国内用大气环境下。
页:
[1]
2