Quantcast
Channel: Intel Communities: Message List
Viewing all articles
Browse latest Browse all 17819

Re: Re: A CO2 sensor that is compatible with galileo?

$
0
0

Hi Thomas,

 

I'm afraid that I don't follow you. I'm a complete newbie to Arduino. When you say just "search and replace" would you explaining a little further please? Would be very helpful.

 

Thanks

Conor

 

 

/*
Basic Arduino example for K-Series sensor
Created by Jason Berger
Co2meter.com
*/

#include "SoftwareSerial.h"

SoftwareSerial K_30_Serial(12,13); //Sets up a virtual serial port
//Using pin 12 for Rx and pin 13 for Tx

byte readCO2[] = {0xFE, 0X44, 0X00, 0X08, 0X02, 0X9F, 0X25}; //Command packet to read Co2 (see app note)
byte response[] = {0,0,0,0,0,0,0}; //create an array to store the response

//multiplier for value. default is 1. set to 3 for K-30 3% and 10 for K-33 ICB
int valMultiplier = 1;

void setup()
{
// put your setup code here, to run once:
Serial.begin(9600); //Opens the main serial port to communicate with the computer
K_30_Serial.begin(9600); //Opens the virtual serial port with a baud of 9600
}

void loop()
{
sendRequest(readCO2);
unsigned long valCO2 = getValue(response);
Serial.print("Co2 ppm = ");
Serial.println(valCO2);
delay(2000);

}

void sendRequest(byte packet[])
{
while(!K_30_Serial.available()) //keep sending request until we start to get a response
{
K_30_Serial.write(readCO2,7);
delay(50);
}

int timeout=0; //set a timeoute counter
while(K_30_Serial.available() < 7 ) //Wait to get a 7 byte response
{
timeout++;
if(timeout > 10) //if it takes to long there was probably an error
{
while(K_30_Serial.available()) //flush whatever we have
K_30_Serial.read();

break; //exit and try again
}
delay(50);
}

for (int i=0; i < 7; i++)
{
response[i] = K_30_Serial.read();
}
}

unsigned long getValue(byte packet[])
{
int high = packet[3]; //high byte for value is 4th byte in packet in the packet
int low = packet[4]; //low byte for value is 5th byte in the packet


unsigned long val = high*256 + low; //Combine high byte and low byte with this formula to get value
return val* valMultiplier;
}

Viewing all articles
Browse latest Browse all 17819

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>