Simple library for reading distance from SRF02 Ultrasonic Sensor in I2C mode.
Fork of SRF02 by
SRF02.h
- Committer:
- el14tt
- Date:
- 2016-05-04
- Revision:
- 2:548b60c4cc15
- Parent:
- 1:8e6587d88773
File content as of revision 2:548b60c4cc15:
/** @file SRF02.h @brief Header file containing member functions and variables */ #ifndef SRF02_H #define SRF02_H // addresses #define SRF02_R_ADD 0xE1 #define SRF02_W_ADD 0xE0 // registers #define CMD_REG 0x00 #define RANGE_H_REG 0x02 #define RANGE_L_REG 0x03 // commands #define INCH_CMD 0x50 #define CM_CMD 0x51 #define US_CMD 0x52 #include "mbed.h" /** @brief Library for interfacing with SRF02 Ultrasonic Sensor in I2C @see http://www.robot-electronics.co.uk/htm/srf02tech.htm @brief Revision 1.0 @author Craig A. Evans @date March 2014 * * Example: * @code #include "mbed.h" #include "SRF02.h" int main() { while(1) { // read sensor distance in cm and print over serial port int distance = sensor.getDistanceCm(); serial.printf("Distance = %d cm\n",distance); // short delay before next measurement wait(0.5); } } * @endcode */ class SRF02 { public: /** Create a SRF02 object connected to the specified I2C pins * * @param sdaPin - mbed SDA pin * @param sclPin - mbed SCL pin * */ SRF02(PinName sdaPin, PinName sclPin); /** Read distance in centimetres * * @returns distance in centimetres (int) * */ int getDistanceCm(); private: /** Hangs in infinite loop flashing 'blue lights of death' * */ void error(); private: // private variables I2C* i2c; BusOut* leds; }; #endif