Мониторинг температуры с помощью Arduino и датчика LM35

Добавлено 30 марта 2017 в 20:00

Вы можете использовать плату Arduino для контроля температуры воздуха, подключив к ней датчик температуры LM35.

LM35 – это идеальный температурный датчик для измерения температуры окружающей среды. Он обеспечивает линейный выход, пропорциональный температуре, где 0 В соответствует температуре 0 градусов Цельсия, а изменение выходного напряжения на 10 мВ соответствует изменению температуры на один градус Цельсия. Датчики LM35 проще в использовании по сравнению с термисторами и термопарами, потому что они очень линейны и не требуют никакой обработки сигнала.

Выход LM35 может быть подключен непосредственно к аналоговому входу Arduino. Поскольку аналого-цифровой преобразователь (АЦП, ADC) Arduino обладает разрешением 1024 бита, а опорное напряжение составляет 5 В, для вычисления температуры из измеренного значения АЦП будет использоваться следующая формула:

\[T = {5,0 \cdot \text{analogRead(temperaturePin)} \over 1024} \cdot 100,0\]

Для отображения температуры мы будем использовать жидкокристаллический дисплей (LCD).

Эксперимент

Цель данного эксперимента – построить монитор температуры, используя LM35, 16x2 LCD дисплей и плату Arduino.

Необходимые комплектующие

  • 1 x Arduino Mega2560;
  • 1 x LCD;
  • 1 x потенциометр 5 кОм;
  • 1 x макетная плата;
  • 1 x датчик температуры LM35;
  • 1 x резистор 1 кОм;
  • перемычки.

Схема соединений

Схема соединений
Схема соединений

Подключите компоненты, как показано на рисунке выше. Резистор 1 кОм подключен между выходом LM35 и общим проводом GND, чтобы ограничить ток без влияния на выходное напряжение.

Выводы LCD дисплея
Выводы LCD дисплея

LCD дисплей подключен к Arduino, как показано ниже. Средний вывод потенциометра подключен к выводу 3 LCD дисплея, чтобы изменять его контрастность. Другие два вывода потенциометра подключены к линиям 5V и GND. Вывод включения EN LCD дисплея подключен к выводу 9 Arduino, а вывод дисплея RS подключен к выводу 8 Arduino. Вывод RW дисплея подключен к общему проводу.

Подключение LCD дисплея к Arduino
Вывод LCD дисплеяВывод платы Arduino
DB44
DB55
DB66
DB77
RS8
EN9

Код

Для записи данных на дисплей программа использует библиотеку LiquidCrystal.h. В функции loop() непрерывно считывается значение на выходе датчика, преобразуется в градусы Цельсия, а затем выводится на LCD.

// LCD библиотека Arduino
#include <LiquidCrystal.h>   

// Определение выводов LCD
LiquidCrystal lcd(8,9,4,5,6,7);   

// инициализация переменных
int value=0;            
float volts=0.0;      
float temp=0.0;      
float tempF=0.0;

void setup()
{
  pinMode(3,INPUT);    // установка вывода 3 Arduino на вход
  Serial.begin(9600);  // открыть последовательный порт и установить скорость 9600 бит/с
  lcd.begin(16,2);     // установить количество строк и столбцов LCD дисплея
}

void loop()
{
  value=analogRead(A0);          // прочитать из A0
  volts=(value/1024.0)*5.0;      // преобразование в вольты
  temp= volts*100.0;             // поеобразование в температуру в градусах Цельсия
  tempF=temp*9/5+32;             // поеобразование в температуру в градусах Фаренгейта

  // показать температуру на LCD дисплее

  Serial.print("temperature= "); 
  Serial.println(temp);
  lcd.setCursor(0,0);
  lcd.print("TEMP= ");
  lcd.print(temp);
  lcd.print(" C");
  lcd.setCursor(0,1);
  lcd.print("TEMP= ");
  lcd.print(tempF);
  lcd.print(" F");
  
  delay(500);
}

Видео

Вот и всё! Надеюсь, статья оказалась полезной. Оставляйте комментарии!


На сайте работает сервис комментирования DISQUS, который позволяет вам оставлять комментарии на множестве сайтов, имея лишь один аккаунт на Disqus.com.


Сообщить об ошибке