小白求助IIC与红外CO2传感器通信问题。各位帮忙看看谢谢-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4571|回复: 0

[过期] 小白求助IIC与红外CO2传感器通信问题。各位帮忙看看谢谢

[复制链接]
发表于 2013-8-22 19:18 | 显示全部楼层 |阅读模式
本帖最后由 东东159 于 2013-8-22 19:38 编辑

        本人小白,就学过编程基础,但是喜欢做点东西,最近迷上了arduino前前后后也买了好几本arduino的入门书籍,也做了小东西。因为工作需要一个CO2探测仪。网上现成的产品好贵啊所以我就打算自己做一个。我在淘宝看到了一块韩国产的CO2模块支持IIC通信。我就买了。到家里安装接线说明接好后。arduino程序我就用网上看到的一个光线传感器的传感器的程序改的。把地址换成了CO2模块说明书上的可是程序运行读取的数据完全不对。。。。十分感谢了。

#include <Wire.h>
#include <math.h>

int CO2address = 0x31;
byte buff[2];

void setup()
{
  Wire.begin();
  Serial.begin(9600);
}

void loop()
{
    Serial.print( CO2() );

    Serial.println("[ppm]");

    delay(1000);
}

double CO2() //设备操作
{
  int i=0;
  double  val=0;
  //开始I2C读写操作
  Wire.beginTransmission(CO2address);
  Wire.write(0x10);//1lx reolution 120ms//发送命令
  Wire.endTransmission();  

  delay(5);
  //读取数据
  Wire.beginTransmission(CO2address);
  Wire.requestFrom(CO2address,2);
  while(Wire.available()) //
  {
    buff = Wire.read();  // receive one byte

   i++;
  }
  Wire.endTransmission();
  if(2==i)
  {
   val=((buff[0]<<8)|buff[1])/1.2;

  }
  return val;
}
1.jpg

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

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-3 07:37 , Processed in 0.073987 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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