DS18x20 temperature sensor: temp.read_temp_async() AFTER temp.start_conversion()?
The Pycom documentation for the Onewire library now gives the following example on how to read a DS18x20 temperature sensor:
import time from machine import Pin from onewire import DS18X20 from onewire import OneWire # DS18B20 data line connected to pin P10 ow = OneWire(Pin('P10')) temp = DS18X20(ow) while True: print(temp.read_temp_async()) time.sleep(1) temp.start_conversion() time.sleep(1)
I would think that the "print(temp.read_temp_async())" statement needs to come AFTER the "temp.start_conversion()" statement, not before. And that is also how it works for me. When I do the conversion after the read, I get impossible temperature values. Or do I get something wrong here? In a loop (as in the above example) it works of course both ways.