The Devantech SRF01 is the world’s smallest single transducer ultrasonic rangefinder. It’s got a single pin serial interface connection. The SRF01 can measure in cm or Inches. In standard mode the SRF01 measures from approx 18cm (7in) to 600cm (19ft). In Advanced mode it is possible for the SRF01 to measure range all the way down to zero.
The SRF01 is a single transducer ultrasonic rangefinder in a very small footprint PCB. Connection is to a single pin Serial interface. The serial interface is a standard TTL level UART format of 1 start, 1 stop and no parity bits, and may be connected directly to many controllers, such as the Basic Stamps or the PICAXE. Baud rate at power-up is always 9600, there is a command to change this to 19200 or 38400 baud if preferred. Up to 16 SRF01's may be connected together on a single bus. Like all our rangefinders, the SRF01 can measure in Cm or Inches.
In advanced mode, our second-generation AutoTune technology allows for ranging all the way down to zero; in standard mode, it can measure from about 18cm to 600cm (7 inches to 19 feet). Like all of our rangefinders, this module can measure in both inches and centimeters, whichever is better for your application. You can connect up to 16 of these units together on a single bus.
3-pin JST connector, three wires and grommet are all included with this sensor.
Power Requirements
The SRF01 accepts any voltage between 3.3v and 12v, however the recommended maximum is 5.5v. Internally, it operates at 3.3v and there is a low dropout regulator already on the SRF01 to provide this. The serial I/O pin operates at 3.3v and also 5v tolerant, so you can connect it directly to 3.3v or 5v signals. Operating current during ranging is 25mA, 11mA in standby (waiting for a command) and around 55uA in sleep mode (shutdown).
Connections
The connections to the SRF01 are shown below. If you're using multiple SRF01's, you can connect them all up to the same serial port on your controller. Just make sure all the SRF01's are programmed to different addresses. There is a weak pull-up resistor (47k) to 3.3v on the module, to pull the Tx line up to a logic high level when none of the SRF01's are transmitting.
LED
The Led gives a brief flash during the "ping" whilst ranging. If the transducer has not locked, the Led is on with a brief flash off. If the transducer is locked, the Led is off with a brief flash on. If you power up the SRF01 without sending any commands, it will flash its address out on the LED. One long flash followed by a number of shorter flashes indicating its address. The flashing is terminated immediately on sending a command sequence to the SRF01.
- Power- 3.3v to 12v, 25mA Ranging. 11mA Standby. 55uA Sleep.
- One Pin Serial Bus @ 9600 baud with up to 16 SRF01's connected to a single pin on your controller.
- Range reported in cm or inches.
- Very light weight, just 2.7gm
Advanced Mode
This is the factory default mode. In this mode it is possible for the SRF01 to measure range all the way down to zero. Initially, the minimum range the SRF01 can detect is around 18cm or 7 inches. For the SRF01 to be able to measure all the way down to 0cm, it acquires a precision crystal lock on the transducer's characteristics. This happens after 5 distance measurements have been completed with 30cm or more of free space in front of the sensor. When this happens the "lock" bit is set (bit 0 in the status byte) and the SRF01 can measure from 0 to 600cm (0-6meters).
During operation the SRF01 maintains the transducer lock automatically, provided it gets an occasional (every few minutes) set of 5 consecutive distance measurements of greater than 30cm. The "lock" state of the SRF01 can be checked in by reading the "Lock" bit, which is bit 0 in the status register. A high (or logic 1) indicates transducer lock has been achieved and the SRF01 will work down to 0cm. Where the SRF01 is not able to maintain its lock, it will release it (lock bit = zero) and re-acquire it as soon as possible.
Sleep Mode
When placed in sleep mode, all activity on the SRF01's processor ceases. The module shuts down and power consumption is reduced to a minimum. This is just a combination of quiescent current in the regulator and leakage current of the processor. Typically 55uA. To wake the SRF01 up from sleep mode send 0xFF. Don't send anything else - no "break", no address, because the 0xFF byte is not a command, it's really just a single transition on the Rx line that wakes up all SRF01's on the serial bus. After waking up the SRF01, you should wait 2mS for the processor clocks to stabilise before sending commands. In advanced mode, on wake-up from sleep the SRF01 will need to re-establish its lock. This means it needs at least 5 distance measurements with 30cm or more clear distance
Mounting the SRF01
A rubber grommet is supplied to mount the SRF01. To use this make a 20mm cutout in your panel and fit the grommet. The SRF01 will then snuggly push into the hole in the grommet. Maximum panel thickness is 1.7mm.
Characteristics | ||
Power | 3.3V to 12V (recommend 5.5V max), 25mA ranging, 11mA standby, 55uA in sleep mode | |
Range Industrial Spec | 18cm to 600cm (no calibration required) | |
Range Hobby Spec | 0cm to 600cm (after auto-calibration) | |
Frequency | 40kHz | |
Communication | One pin serial bus @ 9600 baud, with up to 16 units connected to a single pin on the host computer | |
Units | Range reported in centimeters or inches | |
Weight | 2.7 grams |