Ардуино термометр на основе датчика температуры DS18B20
Содержание
- Информация о сенсоре DS18B20
- Комплектующие
- Библиотеки
- Термометр через последовательный монитор
- Термометр с ЖК-дисплеем
Один раз мы уже реализовали проект термометра на основе датчика температуры DS18B20. Сегодня мы сделаем термометр на основе этого датчика другим способом, разберемся с DS18B20 и используем несколько дополнительных библиотек.
Мы сделаем LCD-термометр или, как вариант, Serial-термометр (напечатает данные о температуре на последовательном мониторе Arduino IDE) на основе микроконтроллера Ардуино и цифрового датчика DS18B20, макетов, перемычек. Таким образом, вы сможете измерять температуру воздуха, жидкости, например, воды и температуру земли.
Информация о сенсоре DS18B20
DS18B20 — это цифровой температурный датчик с интерфейсом 1-Wire от Maxim IC. На выходе мы получаем информацию в Цельсиях с точностью от 9 до 12 бит, от -55 до 125 (+/- 0,5). Каждый датчик имеет уникальный 64-разрядный серийный номер, что позволяет использовать огромное количество датчиков на одной шине данных.
Особенности:
- Для уникального интерфейса 1-Wire® требуется только один порт для связи.
- Каждое устройство имеет уникальный 64-битный последовательный код, хранящийся в ПЗУ.
- Многоточечная возможность упрощает использование распределенных температурных зондов.
- Не требует внешних компонентов.
- Может питаться от линии передачи данных.
- Диапазон мощности от 3,0 до 5,5 В.
- Измеряет температуру от -55°C до + 125°C (от -67 °F до + 257 °F) ± 0,5°C от -10°C до + 85°C.
- Разрешение термометра выбирается пользователем от 9 до 12 бит.
- Преобразует температуру в 12-битное цифровую переменную в 750 мс (макс.).
- Определяемые пользователем энергонезависимые (NV) настройки сигнализации.
- Команда поиска по тревоге идентифицирует и адресует устройства, температура которых находится за пределами запрограммированных пределов (состояние аварийной сигнализации).
- Применяется в термостатических устройствах, промышленных системах, потребительских товарах, термометрах или в любых термических чувствительных системах.
Комплектующие
Чтобы сделать термометр, вам понадобятся следующие детали:
- Плата Arduino (UNO, DUE, Micro и т.п.);
- Датчик DS18B20 (водонепроницаемый или нет);
- Резистор 4.7К (в некоторых магазинах продается датчик с резистором 4,7 тыс.);
- ЖК-дисплей 16×2 с шиной I2C;
- Макет;
- Перемычки.
Из программного обеспечения нужно иметь установленную Arduino IDE.
Библиотеки
Прежде чем вы начнете делать термометр, загрузите и распакуйте следующие библиотеки для Arduino в:
/Progam Files (x86)/Arduino/Libraries (по умолчанию):
Все библиотеки вы можете скачать по ссылкам выше или на нашем сайте в разделе Библиотеки.
Термометр через последовательный монитор
Чтобы отобразить данные на последовательном мониторе, подключите датчик DS18B20 к Arduino, используя перемычки и макет, и не забудьте подключить или припаять резистор 4.7k между контактом 2 и 3 датчика.
Затем скачайте, откройте и загрузите файл .ino, который называется — DS18B20_Serial, ниже.
Если все в порядке, вы должны увидеть измеренную температуру на серийном мониторе Arduino IDE.
Термометр с ЖК-дисплеем
Если вы не хотите измерять температуру через последовательный монитор, то этот шаг для вас.
Подключите ЖК-дисплей I2C к контактам UNO:
- A4 (SDA),
- A5 (SCL),
- к цифровому выходу 2.
Затем скачайте и загрузите файл .ino, который называется — DS18B20_I2C_LCD. Если все в порядке, вы увидите показания температуры на дисплее.
Источник: