* Changed ds18b20.lua to ds18b20-example.lua
This commit is contained in:
parent
019fe9f547
commit
adfffb89f0
|
@ -1,56 +0,0 @@
|
|||
--'
|
||||
-- 18b20 one wire example for NODEMCU
|
||||
-- NODEMCU TEAM
|
||||
-- LICENCE: http://opensource.org/licenses/MIT
|
||||
-- Vowstar <vowstar@nodemcu.com>
|
||||
--'
|
||||
|
||||
pin = 9
|
||||
ow.setup(pin)
|
||||
count = 0
|
||||
repeat
|
||||
count = count + 1
|
||||
addr = ow.reset_search(pin)
|
||||
addr = ow.search(pin)
|
||||
tmr.wdclr()
|
||||
until((addr ~= nil) or (count > 100))
|
||||
if (addr == nil) then
|
||||
print("No more addresses.")
|
||||
else
|
||||
print(addr:byte(1,8))
|
||||
crc = ow.crc8(string.sub(addr,1,7))
|
||||
if (crc == addr:byte(8)) then
|
||||
if ((addr:byte(1) == 0x10) or (addr:byte(1) == 0x28)) then
|
||||
print("Device is a DS18S20 family device.")
|
||||
repeat
|
||||
ow.reset(pin)
|
||||
ow.select(pin, addr)
|
||||
ow.write(pin, 0x44, 1)
|
||||
tmr.delay(1000000)
|
||||
present = ow.reset(pin)
|
||||
ow.select(pin, addr)
|
||||
ow.write(pin,0xBE,1)
|
||||
print("P="..present)
|
||||
data = nil
|
||||
data = string.char(ow.read(pin))
|
||||
for i = 1, 8 do
|
||||
data = data .. string.char(ow.read(pin))
|
||||
end
|
||||
print(data:byte(1,9))
|
||||
crc = ow.crc8(string.sub(data,1,8))
|
||||
print("CRC="..crc)
|
||||
if (crc == data:byte(9)) then
|
||||
t = (data:byte(1) + data:byte(2) * 256) * 625
|
||||
t1 = t / 10000
|
||||
t2 = t % 10000
|
||||
print("Temperature= "..t1.."."..t2.." Centigrade")
|
||||
end
|
||||
tmr.wdclr()
|
||||
until false
|
||||
else
|
||||
print("Device family is not recognized.")
|
||||
end
|
||||
else
|
||||
print("CRC is not valid!")
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue