grove

hello I have a problem with grove multichannel gas sensor v1.0. when i run this code . only see ’ power on '.

This is a demo to test gas library

This code is running on Xadow-mainboard, and the I2C slave is Xadow-gas

There is a ATmega168PA on Xadow-gas, it get sensors output and feed back to master.

the data is raw ADC value, algorithm should be realized on master.



please feel free to write email to me if there is any question



Jacky Zhang, Embedded Software Engineer

qi.zhang@seeed.cc

17,mar,2015

*/



#include <Wire.h>

#include “MutichannelGasSensor.h”



void setup()

{

Serial.begin(115200); // start serial for output

Serial.println(“power on!”);

gas.begin(0x04);//the default I2C address of the slave is 0x04

gas.powerOn();

Serial.print(“Firmware Version = “);

Serial.println(gas.getVersion());

}



void loop()

{

float c;



c = gas.measure_NH3();

Serial.print(“The concentration of NH3 is “);

if(c>=0) Serial.print©;

else Serial.print(“invalid”);

Serial.println(” ppm”);



c = gas.measure_CO();

Serial.print(“The concentration of CO is “);

if(c>=0) Serial.print©;

else Serial.print(“invalid”);

Serial.println(” ppm”);



c = gas.measure_NO2();

Serial.print(“The concentration of NO2 is “);

if(c>=0) Serial.print©;

else Serial.print(“invalid”);

Serial.println(” ppm”);



c = gas.measure_C3H8();

Serial.print(“The concentration of C3H8 is “);

if(c>=0) Serial.print©;

else Serial.print(“invalid”);

Serial.println(” ppm”);



c = gas.measure_C4H10();

Serial.print(“The concentration of C4H10 is “);

if(c>=0) Serial.print©;

else Serial.print(“invalid”);

Serial.println(” ppm”);



c = gas.measure_CH4();

Serial.print(“The concentration of CH4 is “);

if(c>=0) Serial.print©;

else Serial.print(“invalid”);

Serial.println(” ppm”);



c = gas.measure_H2();

Serial.print(“The concentration of H2 is “);

if(c>=0) Serial.print©;

else Serial.print(“invalid”);

Serial.println(” ppm”);



c = gas.measure_C2H5OH();

Serial.print(“The concentration of C2H5OH is “);

if(c>=0) Serial.print©;

else Serial.print(“invalid”);

Serial.println(” ppm”);



delay(1000);

Serial.println(”…”);

}

how can i fix it.

Hi there:

You can only see one message output (power on), indicating that I2C communication is not successful and the program cannot continue. You can see why I2C communication is not successful here