Добрый день! DS18B20 это по сути целый микроконтроллер с большими возможностями, подробнее о нем можно почитать в datasheet здесь. Каждый DS18B20 имеет уникальный 64-битный последовательный код, это позволяет размещать множество датчиков на одной линии и обращаться индивидуально к каждому и именно этим мы сегодня и займемся. Датчик имеет несколько модификаций, мы будем использовать одну из них с маркировкой ТО-92. Купить его можно как отдельный элемент, так и влагозащищенный вариант в трубке из нержавейки.
Для работы с датчиками по 1-Wire нам понадобятся библиотеки:
Самый простой способ установки библиотек это разархивировать их в папку C:\Users\user\Documents\Arduino\libraries и перезагрузить программу. Более подробно про установку библиотек, а также другие способы вы можете найти в интернете, об этом очень много написано.
Существует несколько способов подключения датчиков, один из них по двухпроводной схеме с паразитным питанием, но он не стабильный и мы его рассматривать не будем. Второй способ по трехпроводной схеме, GND датчика соединяем с GND ардуино, а питание берем с +5В, информационный контакт подключим к 3 пину и обязательно соединим его с питанием через резистор 4,7 кОм как показано на схеме ниже.
Для начала нужно считать индивидуальный код с каждого датчика, для этого нужно загрузить такой скетч для вывода кодов датчиков в монитор порта.
Далее подключаем датчики по одному, после каждого нового подключения нажимаем кнопку reset на ардуино, смотрим в монитор порта, записываем отдельно коды и помечаем от какого датчика код.
Теперь когда у нас есть коды каждого датчика мы можем обращаться индивидуально к каждому и использовать показания в своих целях. У меня под рукой есть OLED-дисплей из прошлой статьи и я попробую вывести на него показания с трех датчиков. Подробнее о подключении дисплея, а также все необходимые библиотеки можно посмотреть здесь.
И так, пишем вот такой скетч.
Ну и чтобы посмотреть результат второй датчик был помещен в стакан с горячей водой, третий в стакан с холодной водой, а первый остался на макетке и показывал температуру воздуха.
Как подключить датчики к разным пинам и обращаться к ним без адреса читайте здесь.
На этом все, если вам была полезна эта статья ставьте лайк, обратная связь очень важна. Ну и подписывайтесь на мой канал, впереди еще много интересного!
#diy #arduino #ардуино #электроника для начинающих #программирование #электротехника #своими руками #oled #arduino nano #микроконтроллеры