Gove CO2 sensor (wh z16)

Dear Seed Forum Users,
I tried to use Gove CO2 sensor (wh z16) with ardunio uno and ardunio mega2560. The provide code not given any error. but output not showing the real value., (infact no value at all, serial output shown like °¥úþþþþþÿÿþ’’.
Can any one help me to solve this issue.,

Code i was used sensor connected in UART pin (uno) UART0 in Mega
////////////
#include <SoftwareSerial.h>

#define DEBUG 0

const int pinRx = 8;
const int pinTx = 7;

SoftwareSerial sensor(pinTx,pinRx);

const unsigned char cmd_get_sensor[] =
{
0xff, 0x01, 0x86, 0x00, 0x00,
0x00, 0x00, 0x00, 0x79
};
unsigned char dataRevice[9];
int temperature;
int CO2PPM;

void setup()
{
sensor.begin(9600);
Serial.begin(115200);
Serial.println(“get a ‘g’, begin to read from sensor!”);
Serial.println("********************************************************");
Serial.println();
}

void loop()
{
if(dataRecieve())
{
Serial.print(“Temperature: “);
Serial.print(temperature);
Serial.print(” CO2: “);
Serial.print(CO2PPM);
Serial.println(””);
}
delay(1000);
}

bool dataRecieve(void)
{
byte data[9];
int i = 0;

//transmit command data
for(i=0; i<sizeof(cmd_get_sensor); i++)
{
sensor.write(cmd_get_sensor[i]);
}
delay(10);
//begin reveiceing data
if(sensor.available())
{
while(sensor.available())
{
for(int i=0;i<9; i++)
{
data[i] = sensor.read();
}
}
}

#if DEBUG
for(int j=0; j<9; j++)
{
Serial.print(data[j]);
Serial.print(" “);
}
Serial.println(”");
#endif

if((i != 9) || (1 + (0xFF ^ (byte)(data[1] + data[2] + data[3]
+ data[4] + data[5] + data[6] + data[7]))) != data[8])
{
return false;
}
CO2PPM = (int)data[2] * 256 + (int)data[3];
temperature = (int)data[4] - 40;

return true;
}

Hello!
Just today, I had the same problem. I was using a Grove Mega Shield. I resolved the problem changing the Tx and Rx pin (dont know why, because i was not using…).
Good luck!
Alex.