Проект 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.

Рис. 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);
}
Порядок підключення:
- Підключаємо датчик LM335 і RGB-світлодіод за схемою на рис. 14.1.
- Завантажуємо в плату Arduino скетч з лістингу 14.1.
- Дивимося в моніторі послідовного порту Arduino IDE вивід значень температури, RGB-світлодіод показує інтервал комфортності температури.