pyupm_urm37 module

class pyupm_urm37.URM37(*args)[source]

Bases: object

API for the DFRobot URM37 Ultrasonic Ranger.

ID: urm37

Name: Ultrasonic Range Finder

Category: sound

Manufacturer: dfrobot

Connection: uart analog gpio

Link:http://www.dfrobot.com/index.php?route=product/product&product_id=53 This library was tested with the DFRobot URM37 Ultrasonic Ranger, V4. It has a range of between 5 and 500 centimeters (cm). It supports both analog distance measurement, and UART based temperature and distance measurements. This driver does not support PWM measurement mode.

For UART operation, the only supported baud rate is 9600. In addition, you must ensure that the UART TX/RX pins are configured for TTL operation (the factory default) rather than RS232 operation, or permanent damage to your URM37 and/or MCU will result. On power up, the LED indicator will blink one long pulse, followed by one short pulse to indicate TTL operation. See the DFRobot wiki for more information:

(https://www.dfrobot.com/wiki/index.php?title=URM37_V4.0_Ultrasonic_Sensor_%28SKU:SEN0001%29)

An example using analog modeAn example using UART mode

C++ includes: urm37.hpp

getDistance(degrees=0)[source]

float getDistance(int degrees=0)

Get the distance measurement. A return value of 65535.0 in UART mode indicates an invalid measurement.

degrees: in UART mode, this specifies the degrees to turn an attached PWM servo connected to the MOTO output on the URM37. Default is 0. Valid values are 0-270. This option is ignored in analog mode.

The measured distance in cm

getTemperature()[source]

float getTemperature()

Get the temperature measurement. This is only valid in UART mode.

The measured temperature in degrees C

readEEPROM(addr)[source]

uint8_t readEEPROM(uint8_t addr)

In UART mode only, read a value from the EEPROM and return it.

addr: The address in the EEPROM to read. Valid values are between 0x00-0x04.

The EEPROM value at addr

reset()[source]

void reset()

Reset the device. This will take approximately 3 seconds to complete.

writeEEPROM(addr, value)[source]

void writeEEPROM(uint8_t addr, uint8_t value)

In UART mode only, write a value into an address on the EEPROM.

addr: The address in the EEPROM to write. Valid values are between 0x00-0x04.

value: The value to write

The EEPROM value at addr