ds18b20
— communicate with DS18B20 via UART/1-Wire¶
This module provides control fo the Maxim DS18B20 temperature sensor provided it uses 3-wire scheme (with separate VCC pin)
class DS18B20¶
The DS18B20 class provides an interace to the Maxim temperature sensor. Create an instance of this class to measure and read the temperature and control the sensor resolution. Connection: Pin1 (GND) to ground, Pin2 (DQ) to the UART_TX pin, Pin3 (Vdd) to 3.3/5V
Usage example:
import ds18b20
import pyb
ds = ds18b20.DS18B20(pyb.UART(1))
ds.measure()
pyb.delay(1000)
ds.temperature()
Constructors¶
- class ds18b20.DS18B20(uart)¶
Construct an DS18B20 object. The only parameter is the UART instance (ds18b20 DQ pin must be connected to UART TX pin)
Instance members¶
The following instance members are publicly accessible.
- DS18B20.resolution¶
The resolution (9-12bits) of the connected sensor. The value is valid only after a successfull
temperature()
read.
Setup commands¶
- DS18B20.reset()¶
Reset the device. Normally you do not need to call this function manually - all other member functions call it anyway. Return value:
True
if the device responded with a presence pulse,False
othrewise
- DS18B20.set_resulution(value)¶
Set the resolution.
value
must be in the range of [9-12]. Fallback is 9. Return value: boolean (operation success)
Measurement¶
- DS18B20.measure()¶
Request a temperature measurement. See the datasheet (484KiB PDF) for how long a single measurement takes. The function return immediately, i.e. to read the temperature user has to call, for example,
pyb.delay(value)
. Return value: boolean (operation success)
- DS18B20.temperature()¶
Read and return the last measured temperature. Return value: temperature (float) or
None
.