Оглавление:
Сейчас вы узнаете, как превратить обычный стрелочный (аналоговый) вольтметр в цифровой термометр, с помощью платформы Arduino и ds18b20 датчика температуры. В принципе эта технология подходит не только для отображения температуры – любые другие (физические и электрические) величины с разных датчиков можно вывести цифровым методом на стрелочный прибор по данному методу.
Модуль DS18B20
Всем известный готовый модуль ds18b20 – это цифровой термометр, который обеспечивает 9-битное измерение температуры и имеет функцию энергонезависимой программируемой верхней и нижней точки срабатывания. Кроме того, ds18b20 обменивается данными по 1-Wire шине и требует только одну линию данных для связи с микропроцессором. Кроме того, ds18b20 может получать питание непосредственно от линии данных, что исключает необходимость внешнего источника питания.
На самом деле, каждый ds18b20 имеет уникальный 64-битный последовательный код, который позволяет даже нескольким DS18B20s функционировать на одной шине 1-Wire. Таким образом, с использованием всего одного микропроцессора можно контролировать много температурных датчиков, распределённых по большой площади.
Схема сборки термометра
Сама схема настолько проста, что нет смысла её рисовать – все соединения видны на фотографии. Вначале подключите ds18b20 к контакту (-) для Arduino заземления, контакт (+) для 5 В и сигнальный выход к цифровому выводу 2, Для того, чтобы управлять вольтметром, связываем положительный его провод с контактом 9 (один из ШИМ) и минус подсоединяем к GND. После этого, чтобы изменить на вольтметре шкалу на термометр, просто распечатайте фото, что в приложении к статье. Вольтметр тут на 5 В, но вы можете взять любой другой индикатор, в том числе обычный микроамперметр, добавив к нему последовательно нужный резистор (примерно 10-100 кОм).
Список нужных деталей
- Ардуино Уно
- Датчик ds18b20
- Стрелочный вольтметр
- Несколько проводов
- Источник питания (можно АКБ)
Принцип работы
Широтно-импульсная модуляция, или ШИМ, это техника получения аналогового результаты с использованием цифровых средств.
При прошивке микроконтроллера вы должны добавить “библиотеку DallasTemperature” в вашу среду разработки Arduino, так как это библиотека, которая поддерживает датчик температуры на микросхеме ds18b20.
Код состоит из трех основных частей:
- Чтение температуры с датчика
- Преобразование температуры в ШИМ
- Отображение значения на шкале
Настройка термометра
В настройках мы будем считывать температуру с датчика. Затем, мы преобразуем это значение в функцию PWM (ШИМ) в диапазоне от 0 до 255. Это может быть сделано внутри функции программы. Далее подадим сигнал на вывод 9, который подключен к стрелочному вольтметру.
При настройках температурного диапазона имейте ввиду – чем меньше разрыв между крайними значениями, тем больше разрешение термометра. Скачать даташит на датчик и код прошивки можно по ссылке.
Ваше мнение: