Найти тему
У Павла!

Градусник из аналогового вольтметра.

Для начала давайте ознакомимся или освежим память о датчике ds18b20.

DS18B20 это интегральный датчик температуры с цифровым последовательным интерфейсом 1-Wire. Датчик с уникальными параметрами и функциональными возможностями. Датчику DS18B20 свойственны:

  • Высокая точностью измерения, погрешность не превышает 0,5 °C. Датчик откалиброван при изготовлении, дополнительной калибровки не требует.
  • Разрешающая способность задается программно и достигает 0,0625 °C при максимальном разрешении 12 бит.
  • Широкий диапазон измерения температуры -55 … + 125 °C.
  • Датчик осуществляет преобразование температуры в цифровой код, т.е. дополнительного АЦП не требует.
  • Передача информации осуществляется по последовательному протоколу 1-Wire, требуется только три провода для подключения термодатчика к микроконтроллеру.

Схема подключения датчика :

-2

Из данной схемы видим, что обязательно нужно подтягивать резистором на 4.7кОм к +5В питания, иначе датчик работать будет неправильно.

Теперь давайте поговорим о Аналоговом вольтметре:

Данный вольтметр имеет низкую стоимость. Он измеряет постоянное напряжение в диапазоне от 0 до 5 В. Он очень прост в использовании, достаточно просто подключить контакты к + и – источника напряжения, и данные будут отображены стрелкой на вольтметре.

Данный вольтметр очень хорошо подходит для работы с arduino. Так как в ардуино осуществлена 5 вольтовая логика. Мы с ардуино можем легко вывести любое напряжение от 0-5В используя ШИМ (PWM) сигнал Ардуино. Таким образом мы можем контролировать положение стрелки на циферблате по желанию. За счет этого мы можем строить различные примеры.  Например показания, температуры как в данном случае, влажности, отображение времени, и тому подобное.

Для того чтобы управлять вольтметром, как я уже описал ранее мы будем использовать шим (PWM) сигнал Arduino. Для передачи данных вольтметру мы используем команду analogWrite и записываем значение от 0 до 255. И так если мы подадим значение 0 то и вольтметр покажет 0В, а если напишем 255 то вольтметр покажет +5В . В итоге если мы хотим чтоб вольтметр показывал стрелкой +2,5В нам нужно подать команду analogWrite(9,128). Где 9 это номер пина, а 128 это размер ШИМ сигнала, тоесть половина 255.

Ну вроде разобрались как это все работает, теперь давайте перейдем к переделки вольтметра в термометр.

Для этого подключим все по данной схеме:

-3

Если будете повторять все также как делал я, то здесь я предоставлю нарисованный диапазон температуры под вольтметр.

-4

Данный размер циферблата нужно будет подогнать в редакторе под размер вольтметра. Размер можно узнать померив циферблат вольтметра линейкой.

Скетч можно найти у меня на сайте. Перейти на него можно нажав на это предложение.

По традиции видео с демонстрацией работы: