ds18b20

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 10, 2017 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package ds18b20 interfaces to Dallas Semi / Maxim DS18B20 and MAX31820 1-wire temperature sensors.

Note that both DS18B20 and MAX31820 use family code 0x28.

Both powered sensors and parasitically powered sensors are supported as long as the bus driver can provide sufficient power using an active pull-up.

The DS18B20 alarm functionality and reading/writing the 2 alarm bytes in the EEPROM are not supported. The DS18S20 is also not supported.

Datasheets

https://datasheets.maximintegrated.com/en/ds/DS18B20-PAR.pdf

http://datasheets.maximintegrated.com/en/ds/MAX31820.pdf

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ConvertAll

func ConvertAll(o onewire.Bus, maxResolutionBits int) error

ConvertAll performs a conversion on all DS18B20 devices on the bus.

During the conversion it places the bus in strong pull-up mode to power parasitic devices and returns when the conversions have completed. This time period is determined by the maximum resolution of all devices on the bus and must be provided.

ConvertAll uses time.Sleep to wait for the conversion to finish, which takes from 94ms to 752ms.

Types

type Dev

type Dev struct {
	// contains filtered or unexported fields
}

Dev is a handle to a Dallas Semi / Maxim DS18B20 temperature sensor on a 1-wire bus.

func New

func New(o onewire.Bus, addr onewire.Address, resolutionBits int) (*Dev, error)

New returns an object that communicates over 1-wire to the DS18B20 sensor with the specified 64-bit address.

resolutionBits must be in the range 9..12 and determines how many bits of precision the readings have. The resolution affects the conversion time: 9bits:94ms, 10bits:188ms, 11bits:375ms, 12bits:750ms.

A resolution of 10 bits corresponds to 0.25C and tends to be a good compromise between conversion time and the device's inherent accuracy of +/-0.5C.

func (*Dev) Halt

func (d *Dev) Halt() error

Halt implements devices.Device.

func (*Dev) LastTemp

func (d *Dev) LastTemp() (devices.Celsius, error)

LastTemp reads the temperature resulting from the last conversion from the device. It is useful in combination with ConvertAll.

func (*Dev) String

func (d *Dev) String() string

func (*Dev) Temperature

func (d *Dev) Temperature() (devices.Celsius, error)

Temperature performs a conversion and returns the temperature.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL