找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 37793|回复: 12
打印 上一主题 下一主题
收起左侧

Arduino夏普GP2Y1050AU0F的串口读取_源代码

  [复制链接]
跳转到指定楼层
楼主
ID:51090 发表于 2014-9-22 16:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
以下出自Weesky 的博客:
夏普PM2.5传感器,GP2Y1050AU0F是一款用在普通净化器上的产品。支持数字串口输出和模拟输出。外围需要1颗220uF的电容。操作简单。的



GP2Y1050AU0F的Pm2.5检测限在35ug~500ug/m3,对小颗粒不敏感,但是对烟尘比较敏感。如果用作测试PM2.5请注意自行标定。并且,做滑动平均算法。
串口与模拟的区别。GP2Y1050AU0F是在上一代1010改进而来,因此原本这个传感器是模拟的。所以如果使用模拟输出,那么反应会最快。数字读取经过内置单片机,到输出,读取略微迟钝0.5s。 但是数值基本相当。数字口较为稳定。
初次使用,可以点一支烟做测试。数值应该为PDF中的线性关系。你也可以插一根牙签到传感器的洞中。以让它达到输出的最大值。3.28V左右。
代码可能不完美,期望各路Arduino的高手,分享和修改!
别忘了注上您的大名,并且@张辰-维天 。一下我哦,十分感谢。


GP2Y1050AU0F  ItemsMinNormMaxUnit
VCC
4.8
-
5.2
V
Standby Current Supply
-
20
-
mA
Detectable range of concentration
-
35~500ug/m3
-
尘埃浓度
Operating Temperature Range
-10
-
65
°C
Output Method
模拟电压输出,RX/TX串口数字量输出两种
Detecting the particle diameter
>0.3 um
Dimensions
48(W) × 32(H) × 7.6(D) [mm]
Humidity Range
95%rh or less




夏普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黑币 +5 收起 理由
zhangli019 + 5 赞一个!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏5 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:69523 发表于 2014-11-27 11:28 | 只看该作者
想学习,51黑有你更精彩!!!
回复

使用道具 举报

板凳
ID:70231 发表于 2014-12-10 11:26 | 只看该作者
大神你好 本人大二学生  我想把夏普传感器和51单片机相连然后用串口把数据传到电脑上,在电脑上显示出pm2.5的值,不知可否给个程序啊。
回复

使用道具 举报

地板
ID:80378 发表于 2015-5-18 15:54 | 只看该作者
大神你好  这个传感器能用STM32读数据吗   我用STM32编写的程序就是没数据啊 !!!
回复

使用道具 举报

5#
ID:78195 发表于 2015-5-20 13:17 | 只看该作者
谢谢楼主分享,好好学习一下
回复

使用道具 举报

6#
ID:91660 发表于 2015-10-5 17:43 | 只看该作者
楼主,你有没有用过OLED显示灰尘浓度,我用了你的程序和我的OLED显示程序放在一起就死机,你知道是什么原因吗?求指导。
回复

使用道具 举报

7#
ID:57225 发表于 2015-11-24 16:57 | 只看该作者
请问您 系数 A怎么确定的
回复

使用道具 举报

8#
ID:102786 发表于 2016-1-11 16:47 | 只看该作者
大哥,请问下那个浓度系数是怎么确定的? 为何是200?   我看到有的资料是550。。。
回复

使用道具 举报

9#
ID:94573 发表于 2016-3-29 20:32 | 只看该作者
楼主,可以分享一下原理图吗?
回复

使用道具 举报

10#
ID:115478 发表于 2016-4-20 16:35 | 只看该作者
能给一个详细连接图吗
回复

使用道具 举报

11#
ID:126685 发表于 2017-1-7 17:28 | 只看该作者
南瓜wyy 发表于 2015-5-18 15:54
**** 作者被禁止或删除 内容自动屏蔽 ****

求PM2.5传感器例程  1508342816@126.com
回复

使用道具 举报

12#
ID:164249 发表于 2017-2-11 15:46 | 只看该作者
很有研究价值
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表