четверг, 1 ноября 2018 г.

Программирование Arduino. Пример #3 - Подключаем температурный датчик LM35

На этом примере я покажу, как просто можно подключить сам сенсор LM35, а за тем снять показания окружающей среды с помощью температурного датчика и Arduino, после чего мы с помощью кода передадим данные в монитор порта.
Для этого нам понадобится:

1. Arduino UNO R3.
2. USB-кабель для прошивки.
3. Макетная плата.
4. 3 проводка (Папа-Папа).
5. Датчик температуры LM35.

Все это можно заказать в наборе на Aliexpress здесь, или по отдельности: Arduino и LM35.
К стати, радиоэлементы для Arduino рекомендую брать именно у Keyestudio и Wavgat, так как у этих продавцов наиболее надежный товар.

Что из себя представляет датчик LM35:
Как мы видим на изображении, внешне LM35 похож на PNP или NPN транзистор с 3 ногами.
На первую ногу подается питание - от 4 до 20 вольт, со второй мы снимаем показания температуры, третья нога бросается на землю.
LM35 - аналоговый элемент, по этому подключать среднюю ногу мы будем к аналоговому входу\выходу A0. Питание подаем на сенсор с выхода 5V, землю подключаем к GND.

На схеме я изобразил, как можно подключить на макетной плате.
Теперь приступим к написанию скетча:

int temperatureSensor = A0;              // Температурный датчик
int temperatureSensorValue = 0;          // Начальное значение температурного датчика
int temperatureSensorData = 0;           // Начальное значение данных температурного датчика

void setup() {
  pinMode(temperatureSensor,INPUT);    // Параметр пина температурного датчика

// Устанавливаем параметр передачи данных серийного порта в бодах  
  Serial.begin(9600);                  
}

void loop() {

// Считываем показатели
  temperatureSensorValue = analogRead(temperatureSensor);   

// Показатели преобразуем в градусы Цельсия
  temperatureSensorData = (125*temperatureSensorValue)>>8;  

// Выводим данные в порт
  Serial.print("Температура: ");
  Serial.print(temperatureSensorData);
  Serial.println(" C");
  delay(1000); // Ждать 1 секунду
}

Если подключили все правильно, LM35 должен снять показатели а Arduino преобразовать их в цельсии и вывести в порт монитора.
У меня получилось вот так:

Падение температуры на датчике было проверено кусочком льда на корпусе LM35, после чего значение температуры медленно, но верно поползло вниз.

Комментариев нет:

Отправить комментарий