Процесс измерения температуры датчиком DS18B20 происходит в несколько этапов: 1
- Запрос измерения. 1 Его делают с помощью функции requestTemp(). 1
- Измерение температуры. 1 Длится от 90 до 750 мс в зависимости от настроенной точности (по умолчанию точность максимальная, преобразование длится 750 мс). 1 Если прочитать температуру до окончания преобразования, датчик вернёт результат предыдущего измерения. 1
- Получение данных. 1 Температуру можно получить с помощью функций getTemp() (для плавающих значений) или getTempInt() (для целых). 1 Если принятые данные повреждены или датчик отсутствует на линии, функция вернёт предыдущее успешно прочитанное значение температуры. 1
Во время включения питания датчик находится в состоянии покоя. 3 Чтобы начать температурное измерение и преобразование, ведущий должен подать команду начала конвертирования температуры. 4 После конвертирования полученные данные запоминаются в 2-байтовом регистре температуры в оперативной памяти, и DS18B20 возвращается к неактивному состоянию. 4