commands for SRF02 sensor
Fork of SRF02 by
SRF02.h
- Committer:
- sjaffal3
- Date:
- 2015-05-08
- Revision:
- 3:d571cee468e9
- Parent:
- 1:8e6587d88773
File content as of revision 3:d571cee468e9:
/**
@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();
int getDistanceIn();
int getDistanceUs();
private:
/** Hangs in infinite loop flashing 'blue lights of death'
*
*/
void error();
private: // private variables
I2C* i2c;
BusOut* leds;
};
#endif
