DS18B20
Перейти к навигации
Перейти к поиску
DS18B20 - цифровой датчик температуры, работающий по протоколу 1-wire
- Датчик может обеспечивать 9-, 10-, 11-, 12-ти битное разрешение измерения температуры в градусах Цельсия. Это разрешение мы можем выбирать, записывая соответствующие данные в конфигурационный регистр датчика (по умолчанию 12-битное разрешение).
- Измеряет в диапазоне -55...+125оС. С точностью 0.5 градуса.
- На единицу кода преобразованного значения температуры приходится 0.0625оС.
- При чтении данных с датчика мы принимаем 9 байт данных, из которых мы будем брать 0-й и 1-й, младший и старший байт температуры соответственно. В старшем байте в битах 11-15 содержится информация о знаке температуры (если в этих битах единица, тогда температура ниже нуля).
- Команды для работы с датчиком. Т.к. у нас будет одно устройство на линии, поэтому нам не нужен 64-битный код датчика, поэтому пропустим код и воспользуемся командой - Skip ROM (0xCC). Команда преобразования температуры - Convert T (0x44). Команда чтения данных - Read Scratchpad (0xBE).
- Время преобразования температуры с 12-битной точностью занимает max 750мс. Т.е. это время нужно будет подождать после вызова команды преобразования температуры (0х44) и только потом посылать следующую команду.
- После преобразования температуры, прежде чем посылать следующую команду нужно еще раз послать импульс сброса (Reset pulse) и получить ответный импульс (Presence Pulse).
Распиновка