以下出自Weesky 的博客: 夏普PM2.5传感器,GP2Y1050AU0F是一款用在普通净化器上的产品。支持数字串口输出和模拟输出。外围需要1颗220uF的电容。操作简单。的 GP2Y1050AU0F的Pm2.5检测限在35ug~500ug/m3,对小颗粒不敏感,但是对烟尘比较敏感。如果用作测试PM2.5请注意自行标定。并且,做滑动平均算法。 串口与模拟的区别。GP2Y1050AU0F是在上一代1010改进而来,因此原本这个传感器是模拟的。所以如果使用模拟输出,那么反应会最快。数字读取经过内置单片机,到输出,读取略微迟钝0.5s。 但是数值基本相当。数字口较为稳定。 初次使用,可以点一支烟做测试。数值应该为PDF中的线性关系。你也可以插一根牙签到传感器的洞中。以让它达到输出的最大值。3.28V左右。 代码可能不完美,期望各路Arduino的高手,分享和修改! 别忘了注上您的大名,并且@张辰-维天 。一下我哦,十分感谢。 GP2Y1050AU0F ItemsMinNormMaxUnit
夏普GP2Y1050AU0F_ Datasheet: http://wenku.baidu.com/link?url=p6GoWntEr1QvOBOpqlV5svBBW5uL-X8kbTBgdXFod5wh_-X7gjaSUU3VdExHJ78VNAEOV23dZ6VPYbYMeszR6ycQhGpG_0zdLip7EACx9Ra // Arduino夏普GP2Y1050AU0F的串口读取_源代码_Weesky维天监制 // 作者ID:Weesky ; ... // 本着Arduino开源硬件分享快乐的精深,请各位爱好者自由修改并分享。 // 2014-9-22 // v1.0 基础版本,成功读取数值,并且算出Pm2.5浓度。 // 修改请注明版本,署上您的大名,不要删除作者信息,谢谢! int incomeByte[6]; int data; int z=0; int sum; unsigned long error; void setup() { Serial.begin(2400); } void loop(){ while (Serial.available()>0){ data=Serial.read(); if(data == 170){ z=0; incomeByte[z]=data; }else{ z++; incomeByte[z]=data; } if(z==6) { sum=incomeByte[1]+ incomeByte[2]+ incomeByte[3] + incomeByte[4]; if(incomeByte[5]==sum && incomeByte[6]==255 ) { Serial.print("Data OK! "); Serial.print(" | Vo="); float vo=(incomeByte[1]*256.0+incomeByte[2])/1024.0*5.00; Serial.print(vo,2); Serial.print("V "); float v1=analogRead(A0)/1024.0*5.00; Serial.print("/ Ao="); Serial.print(v1,2); Serial.print("V | "); float c=vo*200; Serial.print(c,2); Serial.print("ug/m3 | "); for(int k=0;k<7;k++) { Serial.print(incomeByte[k]); Serial.print("|"); } Serial.println(); }else{ z=0; Serial.flush(); data='/0'; for(int m=0;m<7;m++){incomeByte[m]=0;} error++; Serial.print(" ### This is "); Serial.print(error); Serial.println(" Error ###"); } z=0; } } } |
共1条
1/1 1 跳转至页
Arduino夏普GP2Y1050AU0F的串口读取_源代码
只看楼主 1楼
共1条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
【有奖活动】震撼来袭!这场直播将直击工程师的心灵! | |
“我想要一部加热台”活动,不花钱赢取开发好工具!活动开始了哦 | |
【有奖活动】伙伴们:您的“需求”解决了吗? | |
抽奖了,抽奖了,金升阳医疗电源 |
打赏帖 | |
---|---|
【换取手持数字示波器】+与同事对定时器输出相位可调PWM移相全桥控制分享被打赏50分 | |
【换取手持数字示波器】+LP-MSPM0L1306开发板试用体验+串口被打赏40分 | |
CC-RL编译器相关问题求助被打赏10分 | |
【换取手持数字示波器】+与同事对ESP-12开发调试经验分享被打赏50分 | |
【换取手持数字示波器】+同事tek示波器调试spi解析被打赏50分 | |
【换取手持数字示波器】+2.6寸墨水屏调试经验被打赏50分 | |
换取手持数字示波器+个人开关电源的设计经验被打赏50分 | |
【换取手持数字示波器】+【APT32F173测评】+URAT被打赏20分 | |
【换取手持数字示波器】CH32X035的定时器以及外部中断体验被打赏50分 | |
【换取手持数字示波器】CH32X035搭建开发环境(RISC-V)被打赏50分 |