EasyManua.ls Logo

Sharp GP2Y1026AU0F - Page 9

Sharp GP2Y1026AU0F
11 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
9
Application Guide for Sharp GP2Y1026AU0F Dust Sensor
http://www.socle-tech.com
Source Code Listing contd sharp_gp2y1026au0f_v2.ino PART B
// Assign values.
dataStart = frame[0];
VoutH = frame[1];
VoutL = frame[2];
VrefH = frame[3];
VrefL = frame[4];
checksum = frame[5];
dataEnd = frame[6];
// Check the start and end of frame.
if ( dataStart != 0xaa || dataEnd != 0xff ) { return; }
// Verify the checksum.
int testSum = VoutH + VoutL + VrefH + VrefL;
if ( testSum != checksum ) { return; }
// Print the data values.
Serial.print("dataStart=");
Serial.print(dataStart);
Serial.print(", ");
Serial.print("VoutH=");
Serial.print(VoutH);
Serial.print(", ");
Serial.print("VoutL=");
Serial.print(VoutL);
Serial.print(", ");
Serial.print("VrefH=");
Serial.print(VrefH);
Serial.print(", ");
Serial.print("VrefL=");
Serial.print(VrefL);
Serial.print(", ");
Serial.print("Checksum=");
Serial.print(checksum);
Serial.print(", ");
Serial.print("dataEnd=");
Serial.print(dataEnd);
Serial.print(", ");
// Calculate Vout.
float Vout = (VoutH * 256 + VoutL) / 1024.0 * 5.0;
Serial.print("Vout=");
Serial.print(Vout * 1000.0);
Serial.print("mV, ");
// Calculate "a" coefficient beforehand by using a reference dust monitor.
// The coefficient will be different depending on the reference dust monitor used
// and your specific application conditions.
float a = 100 / 0.35;
// Calculate dust density.
float dustDensity = a * Vout;
Serial.print("dustDensity=");
Serial.print(dustDensity);
Serial.print("ug/m3");
Serial.println(" ");
}
// END PROGRAM

Related product manuals