Освоение измерения температуры с помощью LM35, LCD и I2C на Arduino

Если вы энтузиаст Arduino и хотите создавать проекты, включающие измерение и отображение температуры, вы попали по адресу. В этой статье блога мы рассмотрим различные методы использования датчика температуры LM35, ЖК-дисплея и связи I2C на Arduino. Мы углубимся в примеры кода, используя разговорный язык, чтобы было легче понять. Итак, возьмите плату Arduino и приступим!

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

const int LM35_PIN = A0;
void setup() {
  Serial.begin(9600);
}
void loop() {
  int sensorValue = analogRead(LM35_PIN);
  float temperature = (sensorValue / 1024.0) * 500; // LM35 temperature formula
  Serial.print("Temperature: ");
  Serial.print(temperature);
  Serial.println("°C");
  delay(1000);
}

Метод 2: ЖК-дисплей
Чтобы сделать показания температуры более удобными для пользователя, давайте добавим в наш проект ЖК-дисплей. Мы воспользуемся библиотекой LiquidCrystal и подключим ЖК-дисплей параллельным проводом.

#include <LiquidCrystal.h>
const int LM35_PIN = A0;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
  lcd.begin(16, 2);  // Set the LCD dimensions
}
void loop() {
  int sensorValue = analogRead(LM35_PIN);
  float temperature = (sensorValue / 1024.0) * 500; // LM35 temperature formula
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Temp: ");
  lcd.print(temperature);
  lcd.print("C");
  delay(1000);
}

Метод 3: связь I2C с ЖК-дисплеем
Если вы хотите уменьшить количество используемых контактов, вы можете использовать связь I2C и подключить ЖК-дисплей с поддержкой I2C к вашему Arduino. Для этого метода требуется дополнительная библиотека, например библиотека LiquidCrystal_I2C.

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
const int LM35_PIN = A0;
LiquidCrystal_I2C lcd(0x27, 16, 2); // Set the LCD address
void setup() {
  lcd.begin(16, 2);  // Set the LCD dimensions
}
void loop() {
  int sensorValue = analogRead(LM35_PIN);
  float temperature = (sensorValue / 1024.0) * 500; // LM35 temperature formula
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Temp: ");
  lcd.print(temperature);
  lcd.print("C");
  delay(1000);
}

В этой статье мы рассмотрели три различных метода использования датчика температуры LM35, ЖК-дисплея и связи I2C на Arduino. Мы рассмотрели аналоговое чтение с последовательным выходом, использование ЖК-дисплея через параллельную проводку и интеграцию ЖК-дисплея с поддержкой I2C. Эти методы обеспечивают гибкость и удобство в зависимости от требований вашего проекта. Так что вперед, реализуйте эти методы и начинайте создавать свои собственные проекты измерения температуры с помощью Arduino!