Skip to main content
Version: Next

DS18B20

Info: Currently unused, soon to be discontinued.

DS18B20 Functions​

This category contains functions specific to DS18B20 temperature sensors.

API NameBrief Description
api.ds18b20GetTemp(pwrpin, datapin, address)Returns temperature in millidegrees Celsius from DS18B20.
api.ds18b20Search(pwrpin, datapin, numdev)Searches for DS18B20 devices on the 1-Wire bus.

api.ds18b20GetTemp(pwrpin, datapin, address)​


api.ds18b20GetTemp(1, 2)

Returns temperature in millidegrees Celsius (m°C) from DS18B20.

Info: In case of using multiple DS18B20 sensors connected to one data pin, it’s possible to address a specific DS18B20 with its ID.

Warning: Disabled by default, requires firmware and hardware changes.

Arguments​

  • pwrpin (integer): Power pin number.
  • datapin (integer): Data pin number.

Optional

  • address (array, optional): Array of numbers used as address (8 bytes). When no array is specified, gets temperature from the first 1-Wire device.

Return​

  • temperature (integer): Temperature in millidegrees Celsius.

Example​

-- Search all devices on the 1-Wire bus
found = api.ds18b20Search(1, 2)
-- `found` contains a table of addresses of found devices or `nil` if no device was found

-- Print count of devices found
if found then
print("Found " .. #found .. " devices")
-- Loop over all addresses
for i = 1, #found, 1 do
temp = api.ds18b20GetTemp(1, 2, found[i])
temp = temp / 1000
print("Teplomer #" .. i .. " " .. temp .. "C")
end
else
print("No devices found!")
end
-- Without addressing (one sensor = one data pin)
res1 = api.ds18b20GetTemp(1, 2) -- get temperature from sensor connected to data pin 2
print("Temperature: " .. tostring(res1) .. " mDeg.C")

api.ds18b20Search(pwrpin, datapin, numdev)​


api.ds18b20Search(1, 2)

Searches for DS18B20 devices on the 1-Wire bus.

Arguments​

  • pwrpin (integer): Power pin number.
  • datapin (integer): Data pin number.

Optional

  • numdev (integer, optional): Number of found devices to stop the scan after.

Return​

  • addresses (integer): nil or array of addresses found on the specified bus.

Example​

-- Find addresses of up to 3 sensors
api.ds18b20Search(1, 2, 3)