Go to the documentation of this file.00001
00005
00006
00007 #include "uSonic.h"
00008
00009
00010 byte HighByte = 0x00;
00011 byte LowByte = 0x00;
00012
00013
00014
00015 int GetRangeUS1()
00016 {
00017 #ifdef __DEBUG__US__
00018 Serial.println("Getting US sensor 1 value...");
00019 #endif
00020
00021 int Range = 0;
00022 Wire.beginTransmission(srfAddress);
00023 Wire.send(cmdByte);
00024 Wire.send(0x51);
00025 Wire.endTransmission();
00026
00027 delay(100);
00028
00029 Wire.beginTransmission(srfAddress);
00030 Wire.send(rangeByte);
00031 Wire.endTransmission();
00032
00033 Wire.requestFrom(srfAddress, 2);
00034 if(Wire.available()== 2)
00035 {
00036 HighByte = Wire.receive();
00037 LowByte = Wire.receive();
00038 Range = (HighByte << 8) + LowByte;
00039
00040 return(Range);
00041 }
00042 return 0;
00043 }
00044
00045
00046
00047 int GetRangeUS2()
00048 {
00049 #ifdef __DEBUG__US__
00050 Serial.println("Getting US sensor 2 value...");
00051 #endif
00052 int Range = 0;
00053 Wire.beginTransmission(srAddress);
00054 Wire.send(cmdByte);
00055 Wire.send(0x51);
00056 Wire.endTransmission();
00057
00058 delay(100);
00059
00060 Wire.beginTransmission(srAddress);
00061 Wire.send(rangeByte);
00062 Wire.endTransmission();
00063
00064 Wire.requestFrom(srAddress, 2);
00065 while(Wire.available() < 2);
00066 HighByte = Wire.receive();
00067 LowByte = Wire.receive();
00068
00069 Range = (HighByte << 8) + LowByte;
00070
00071 return(Range);
00072 }
00073
00074
00075
00076
00077