Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: DISCO-F746NG_LCDTS_demo Srf08Test
Homepage
SRF08¶
Warning
Don't forget to add the pullup resistors from 5v to SDA and SCL!
Information on the SRF08 can be found here: http://www.robot-electronics.co.uk/htm/srf08tech.shtml
Example program¶
#include "mbed.h"
#include "SRF08.h"
Serial PC(USBTX, USBRX); //Debug port to PC
SRF08 rangeMod1(p28, p27, 0xE4); //SRF08 ranging module 1
SRF08 rangeMod2(p28, p27, 0xE2); //SRF08 ranging module 2
int main() {
PC.printf("Start ranging test \n");
rangeMod1.setAddress(0xE4); //Factory default is 0xE0
while(1) {
rangeMod1.startRanging();
while (!rangeMod1.rangingFinished() ) wait(0.01);
int range1 = rangeMod1.getRange();
int light1 = rangeMod1.getLightIntensity();
rangeMod2.startRanging();
while (!rangeMod2.rangingFinished() ) wait(0.01);
int range2 = rangeMod2.getRange();
PC.printf(" Range_1: %i", range1);
PC.printf(" Range_2: %i", range2);
PC.printf(" Light_1: %i", light1);
PC.printf("\n");
}
}
Library¶
Import library
Public Member Functions |
|
| SRF08 (PinName SDA, PinName SCL, int i2cAddress) | |
|
Create a
SRF08
object connected to the specified I2C pins and address.
|
|
| void | startRanging () |
|
Send the "Start ranging in cm" command via I2C.
|
|
| bool | rangingFinished () |
|
Checks if the module has finished ranging.
|
|
| int | getRange () |
|
Gets the measured range from the module.
|
|
| int | getLightIntensity () |
|
Gets the measured light intensity from the module.
|
|
| void | setRangeRegister (unsigned char rangeVal) |
|
Sets the range register of the
SRF08
for faster ranging.
|
|
| void | setMaxGainRegister (unsigned char gainVal) |
|
Sets the max gain register of the
SRF08
.
|
|
| void | setAddress (int i2cAddress) |
|
Changes the I2C address of the
SRF08
.
|
|