248   228   72    

Термометр на Arduino, LM35 и LCD

В этом уроке мы покажем вам, как можно сделать простой термометр на Arduino, используя обычный ЖК-дисплей 16x2 и датчик температуры LM35.

Значения будут преобразованы в градусы Цельсия и Фаренгейта. Все комплектующие для проекта можно найти на АлиЭкспресс или, например, на Амперке.

Термометр на Arduino, LM35 и LCD

Шаг 1. Необходимые детали

Для сборки нашего Ардуино термометра нам понадобится ряд деталей, которые мы можем найти на любых интернет-магазинах:

  • 1 x Arduino UNO (может быть любая плата Arduino)
  • 1 х макет
  • 1 x USB-кабель
  • 1 x 16x2 ЖК-дисплей
  • 1 датчик температуры LM35
  • 1 x 10k Потенциометр
  • 1 x 220 Ом резистор
  • 1 x 9 В Батарея и зажим (опционально для большей мобильности)
  • 18 проводов перемычек

Шаг 2. Подключение компонентов к макету

Вставьте ЖК-дисплей, потенциометр и LM35 в макет. Их расположение не имеет значения, поместите их так, как вам нравится.

Шаг 3. Подключение ЖК-дисплея

Это самая сложная часть - теперь вам нужно сделать большую часть соединений. Они заключаются в следующем:

  • LCD Pin → Arduino Pin
  • 4 → 12
  • 6 → 11
  • 11 → 5
  • 12 → 4
  • 13 → 3
  • 14 → 2
  • LCD Pin → Контакт макетной платы
  • 1,5,16 → GND (Земля)
  • 2 → 5 В
  • 15 → 5 В (используя резистор на 220 Ом!)

Шаг 4. Подключение потенциометра и LM35

Здесь соединения следующие:

Потенциометр

Одна из сторон идет к GND (Земля), противоположная - к питанию 5 В. Средний контакт подключается к контакту 3 ЖК-дисплея

LM35

См. Рисунок выше.

Внимание! Пожалуйста, убедитесь, что вы правильно вставляете датчик! Если вы перепутаете соединения, он сгорит!

Шаг 5. Загрузка кода

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

#include <LiquidCrystal.h>         
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 

int value;
float celsius;
const int lmPin = 0; // Аналоговый вывод LM35
                  
void setup() {
  lcd.begin(16,2);
}
void loop() {
  value = analogRead(inPin);
  celsius = (value / 1023) * 500; // Получение температуры от датчика
  
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print(celsius);
  lcd.print("C");
  lcd.setCursor(0,1);
  lcd.print((celsius * 9)/5 + 32); 
  lcd.print("F");
  delay(1000);
}

Шаг 6. Заключение

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

Ардуино+