Термометр со стрелочным индикатором на микроконтроллере Ардуино

Сейчас вы узнаете, как превратить обычный стрелочный (аналоговый) вольтметр в цифровой термометр, с помощью платформы Arduino и ds18b20 датчика температуры. В принципе эта технология подходит не только для отображения температуры – любые другие (физические и электрические) величины с разных датчиков можно вывести цифровым методом на стрелочный прибор по данному методу.



Модуль DS18B20

Всем известный готовый модуль ds18b20 – это цифровой термометр, который обеспечивает 9-битное измерение температуры и имеет функцию энергонезависимой программируемой верхней и нижней точки срабатывания. Кроме того, ds18b20 обменивается данными по 1-Wire шине и требует только одну линию данных для связи с микропроцессором. Кроме того, ds18b20 может получать питание непосредственно от линии данных, что исключает необходимость внешнего источника питания.

Термометр со стрелочным индикатором на микроконтроллере Ардуино
ds18b20 цоколёвка

На самом деле, каждый ds18b20 имеет уникальный 64-битный последовательный код, который позволяет даже нескольким DS18B20s функционировать на одной шине 1-Wire. Таким образом, с использованием всего одного микропроцессора можно контролировать много температурных датчиков, распределённых по большой площади.

Полезное на сайте:
Генератор сигналов от 0,1 Гц до 20 МГц на MAX038

Схема сборки термометра

Термометр со стрелочным индикатором на микроконтроллере Ардуино
Подключение элементов к плате

Сама схема настолько проста, что нет смысла её рисовать – все соединения видны на фотографии. Вначале подключите ds18b20 к контакту (-) для Arduino заземления, контакт (+) для 5 В и сигнальный выход к цифровому выводу 2, Для того, чтобы управлять вольтметром, связываем положительный его провод с контактом 9 (один из ШИМ) и минус подсоединяем к GND. После этого, чтобы изменить на вольтметре шкалу на термометр, просто распечатайте фото, что в приложении к статье. Вольтметр тут на 5 В, но вы можете взять любой другой индикатор, в том числе обычный микроамперметр, добавив к нему последовательно нужный резистор (примерно 10-100 кОм).



Термометр со стрелочным индикатором на микроконтроллере Ардуино
Стрелочный термометр и вольтметр

Список нужных деталей

  • Ардуино Уно
  • Датчик ds18b20
  • Стрелочный вольтметр
  • Несколько проводов
  • Источник питания (можно АКБ)
Полезное на сайте:
Усилитель 50 Ватт на транзисторах с однополярным питанием
Термометр со стрелочным индикатором на микроконтроллере Ардуино
Детали для термометра

Принцип работы

Широтно-импульсная модуляция, или ШИМ, это техника получения аналогового результаты с использованием цифровых средств.

Термометр со стрелочным индикатором на микроконтроллере Ардуино
Широтно-импульсная модуляция управления стрелочником

При прошивке микроконтроллера вы должны добавить “библиотеку DallasTemperature” в вашу среду разработки Arduino, так как это библиотека, которая поддерживает датчик температуры на микросхеме ds18b20.

Код состоит из трех основных частей:

  1. Чтение температуры с датчика
  2. Преобразование температуры в ШИМ
  3. Отображение значения на шкале

Настройка термометра

В настройках мы будем считывать температуру с датчика. Затем, мы преобразуем это значение в функцию PWM (ШИМ) в диапазоне от 0 до 255. Это может быть сделано внутри функции программы. Далее подадим сигнал на вывод 9, который подключен к стрелочному вольтметру.

При настройках температурного диапазона имейте ввиду – чем меньше разрыв между крайними значениями, тем больше разрешение термометра. Скачать даташит на датчик и код прошивки можно по ссылке.

Видео работы устройства