Программная подтяжка вывода DATA DS18B20 к плюсу питания
Добавлено: 25.10.2018{, 17:57}
При использовании штатного ПБ данного датчика необходимо сканировать и вставлять в блок их адреса. Как обычно всегда у меня не оказывался под рукой резистор от 4,7ком или лень искать, подключать.
Но вчера при изучении датчика наткнулся на совет в комментариях в статье о DS18B20, что можно использовать внутренний подтягивающий резистор МК.
Попробовал реализовать этот совет на Arduino Uno и FLProg.
Выложил проект термометра реализованный вышеуказанным способом. Дополнительно питание датчика организовал тоже с выводов Ардуино.
При сканировании датчика с помощью программы FLProg, в программу сканирования шины данных вставить в секцию void setup() следующий код:
Отправлено спустя 31 минуту 31 секунду:
У кого нет такого дисплея смотрите температуру в мониторе компорта.
Но вчера при изучении датчика наткнулся на совет в комментариях в статье о DS18B20, что можно использовать внутренний подтягивающий резистор МК.
Попробовал реализовать этот совет на Arduino Uno и FLProg.
Выложил проект термометра реализованный вышеуказанным способом. Дополнительно питание датчика организовал тоже с выводов Ардуино.
При сканировании датчика с помощью программы FLProg, в программу сканирования шины данных вставить в секцию void setup() следующий код:
СпойлерПоказать
//Программная подтяжка
pinMode(12, INPUT_PULLUP); //Подтяжка внутреннего резистора 20ком к питанию +, пин 12 и пин 10 замкнуть между собой
//питание датчика (датчик включен VDD к пину 9, DATA к пин 10, GND к пину 11)
pinMode(9, OUTPUT);//Назначаем пин 9 выходом
digitalWrite(9, 1); //На выход подаем высокий уровень +
pinMode(11, OUTPUT); //Назначаем пин 9 выходом
digitalWrite(11, 0);//На выход подаем низкий уровень -
pinMode(12, INPUT_PULLUP); //Подтяжка внутреннего резистора 20ком к питанию +, пин 12 и пин 10 замкнуть между собой
//питание датчика (датчик включен VDD к пину 9, DATA к пин 10, GND к пину 11)
pinMode(9, OUTPUT);//Назначаем пин 9 выходом
digitalWrite(9, 1); //На выход подаем высокий уровень +
pinMode(11, OUTPUT); //Назначаем пин 9 выходом
digitalWrite(11, 0);//На выход подаем низкий уровень -
СпойлерПоказать
СпойлерПоказать