Проект 14: Датчик температуры аналоговый LM335. Принцип работы, пример работы

В этом эксперименте мы познакомимся с аналоговым датчиком для измерения температуры LM335.

Необходимые компоненты:

контроллер Arduino UNO R3;
плата для прототипирования;
• датчик температуры LM335;
резистор 2,2 кОм;
RGB-светодиод;
резистор 220 Ом – 3 штуки;
провода папа-папа.

LM335 – это недорогой температурный чувствительный элемент с диапазоном от –40 °C до +100 °C и точностью в 1 °C. По принципу действия датчик LM335 представляет собой стабилитрон, у которого напряжение стабилизации зависит от температуры. При повышении температуры на один градус Кельвина напряжение стабилизации увеличивается на 10 милливольт. Для измерения температуры ис- пользуются 2 вывода, третий нужен для калибровки датчика. В качестве примера использования датчика LM335 создадим индикатор температуры окружающей среды на RGB-светодиоде. Схема подключения показана на рис. 14.1.
Приступим к написанию скетча. Нам необходимо получить значение с аналогового входа A0 подключения датчика LM335, перевести в значение в вольтах, исходя из значения опорного напряжения +5 В. Мы получим значение температуры в Кельвинах. Для получения значения в градусах Цельсия полученное значение необходимо уменьшить на величину 273.15. Определим комфортное значение температуры в интервале MIN_T–MAX_T (20–27 °C). При попадании значения в этот интервал RGB-светодиод горит желтым цветом, при пониженном значении – синим, при повышенном – красным.
Для проверки выводим значение температуры в монитор последовательного порта Arduino IDE.

Arduino проект www.arduino-kit.ru
Рис. 14.1. Схема подключения датчика температуры и RGB-светодиода к Arduino

const int BLUE=9; // Вывод BLUE RGB-светодиода
const int GREEN=10; // Вывод GREEN RGB-светодиода
const int RED=11; // Вывод RED RGB-светодиода
const int lm335=A0; // для подключения LM335
int MIN_T=20; // Нижний порог
int MAX_T=30; // Верхний порог
int val = 0;
void setup()
{
// конфигурируем выводы светодиоды как OUTPUT
pinMode(RED,OUTPUT);
pinMode(GREEN,OUTPUT);
pinMode(BLUE,OUTPUT);
}
void loop()
{
double val = analogRead(lm335); // чтение
double voltage = val*5.0/1024; // перевод в вольты
double temp = voltage*100 - 273.15; // в градусы Цельсия
Serial.print(" temp = ");
Serial.println(temp);
if(temp < MIN_T) // синий цвет RGB-светодиода
setRGB(0,0,1);
else if(temp > MIN_T) // красный цвет RGB-светодиода
setRGB(1,0,0);
else // желтый цвет RGB-светодиода
setRGB(1,0,0);
delay(1000); // пауза перед следующим измерением
}
// установка цвета RGB-светодиода
void setRGB(int r, int g, int b)
{
digitalWrite(RED,r);
digitalWrite(GREEN,g);
digitalWrite(BLUE,b);
}


Порядок подключения:
1. Подключаем датчик LM335 и RGB-светодиод по схеме на рис. 14.1.
2. Загружаем в плату Arduino скетч из листинга 14.1.
3. Смотрим в мониторе последовательного порта Arduino IDE вывод значений температуры, RGB-светодиод показывает интервал комфортности температуры.

Листинги программ скачать

 

Вверх