Simple library for reading distance from SRF02 Ultrasonic Sensor in I2C mode.

Dependents:   Project_A el13jarDistanceSensorProject UltrasonicDistanceSensor-el13jb Distance_Sensor_SRF02 ... more

Revision:
0:b729d2ce03bd
Child:
1:8e6587d88773
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SRF02.h	Sun Mar 08 14:15:29 2015 +0000
@@ -0,0 +1,73 @@
+/**
+@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:
+
+    SRF02(PinName sdaPin, PinName sclPin);
+    int getDistanceCm();
+
+private:
+    void error();
+
+
+private:  // private variables
+    I2C* i2c;
+    BusOut* leds;
+};
+
+#endif
\ No newline at end of file