Термометр на Arduino с температурным датчиком LM35

Сегодня мы рассмотрим проект на Arduino для студентов-инженеров. В этой статье расскажем вам,  как сделать термометр на Arduino. Преимуществом строительства термометра на Arduino является простота конструкции. Мы уже познакомились с Ардуино и ее особенностями. Программирование Arduino намного проще, чем вы думаете.

Данный проект — цифровой термометр (цифровой датчик температуры Arduino), построенный на основе прецизионного интегрального датчика  LM35.

Цифровые термометры широко используются во многих электронных устройствах, таких как кондиционеры, для информирования о температурном уровне и управления процессами системы охлаждения.

termometr-na-arduino-s-temperaturnym-datchikom-lm35-1-3

В данной схеме задействован датчик температуры LM35 для определения уровня температуры, который может измерять от -55 до 150°С. Измеренная температура отображается на ЖК-дисплее 16х2 с помощью Arduino.

Необходимые компоненты для проекта «Термометр на Arduino»

Цифровой термометр на Arduino использует легко доступные компоненты, которые каждый может приобрести в любом магазине электроники.

  • Arduino
  • Датчик температуры LM35
  • ЖК-дисплей 16х2
  • Потенциометр 1кОм

Термометр на Arduino

Работа термометра

Выходное напряжение датчика LM35 линейно пропорционально температуре (по Цельсию).

Выход LM35 имеет масштабный коэффициент 10 мВ/°C , что означает, что при каждом повышении температуры на 1°C произойдет соответствующее увеличение выходного напряжения на 10мВ, следовательно мы можем легко прочитать значение измеряемой температуры.

Arduino имеет аналоговый вывод (A0), способный считывать аналоговые сигналы от любого датчика. Как показано на принципиальной схеме, аналоговый вывод A0 Arduino подключается к выходу LM35.

Распиновка датчика температуры LM35

termometr-na-arduino-s-temperaturnym-datchikom-lm35-2

Arduino имеет 10-битный встроенный АЦП, поэтому он может считывать значение от 0 до 1023 , то есть для нулевого напряжения он считывает 0000, а для VCC (5 В) он считывает 1023.

Таким образом, мы масштабируем значения 0 — 1023 в новый диапазон 0 — 500, потому что LM35 выдает значения с шагом 10мВ на каждый градус, так что максимально возможный прирост составляет 500 (5В/0,01В).

Используя это сопоставление, мы можем принимать каждое приращение в значении АЦП как шаг повышения по шкале. Если значение АЦП равно 27, то значение измеряемо температуры составляет 27°C.

Скетч термометра

#include<LiquidCrystal.h>
long A;
int B;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup()
{
lcd.begin(16,2);
lcd.print(«THERMO METER»);
pinMode(A0,INPUT);
}
void loop()
{
A=analogRead(A0);
B=map(A,0,1023,0,500);
lcd.setCursor(0,0);
lcd.print(«TEMPERARTURE: «);
lcd.setCursor(0,1);
lcd.print(B);
lcd.print(«‘C «);
}

Теперь перейдем к логике программы. Сначала нам необходимо объявить  переменную long «A», чтобы сохранить значение, считанное с LM35, которое имеет диапазон от 0 до 1023. Затем объявляем другую целочисленную переменную «B» для хранения отображаемого (преобразованного) значения.

Значение температуры считывается из вывода A0 и хранится в переменной «A». Затем переменная «A» преобразуется в диапазон от 0 до 500 и сохраняется в переменной «B». Значение «B» выводиться непосредственно на ЖК-экране 16х2.

www.circuitsgallery.com


Добавить комментарий

Ваш электронный адрес не будет опубликован.

*