DS18B20 это сказочный датчик температуры, который имеет цифровой интерфейс, а значит его не  нужно калибровать и их можно подключить сразу много к одному пину ардуины, так как каждый DS18B20 имеет свой уникальный адрес, зашитый на заводе.

Выглядит эта мегасложная схема так:

image

 

Ну то есть надо резистор и все))) И вообще нет никаких калибровок температуры и ошибок монтажа, питание втыкать можно от 3 до 5 вольт. Просто сказка. А получение температуры — 3 строчки)) Внизу пример, ну очень подробно все расписано.

Качаем эту библиотеку: https://github.com/milesburton/Arduino-Temperature-Control-Library (зеркало Arduino-Temperature-Control-Library-master). Вот скетч (в примерах называется Single.pde):

Подключение нескольких DS18B20

Если надо подключить много DS18B20 – то включать нужно параллельно (1 резистор на всех):

image

Здесь все то же самое, код в примере Multiple.pde. Различие в том, что используется несколько переменных с адресами термометров — и соответственно на 3 датчика 3 переменные с адресами и такой код для поиска:

Ну и вывода температур тоже по 3 раза.