#include <Wire.h> // подключение библиотеки для шины I2C
#include <LiquidCrystal_I2C.h> // подключение библиотеки для LCD дисплея 16x2 I2C
LiquidCrystal_I2C LCD1(0x26, 16, 2); // присваивание имени и адреса первому дисплею
LiquidCrystal_I2C LCD2(0x27, 16, 2); // присваивание имени и адреса второму дисплею
int temp; // переменная значений датчика температуры
const float BETA = 3950; // коэффициент для преобразование значений датчика температуры
void setup() {
LCD1.init(); // инициализация первого дисплея
LCD2.init(); // инициализация второго дисплея
LCD1.backlight(); // включение подсветки первого дисплея
LCD2.backlight(); // включение подсветки второго дисплея
pinMode(A0, INPUT); // привязка пина А0 на вход с датчика температуры
}
void loop() {
LCD1.setCursor(1, 0); // установка курсора первого дисплея
LCD1.print("I LOVE ARDUINO"); // вывод текста на экран первого дисплея
LCD1.scrollDisplayLeft(); // прокручивание текста на первом дисплее влево
delay(100); // задержка 100 мс
int temp = analogRead(A0); // чтение данных с датчика температуры
float celsius = 1 / (log(1 / (1023. / temp - 1)) / BETA + 1.0 / 298.15) - 273.15; // преобразование значений датчика температуры в градусы Цельсия
LCD2.setCursor(2, 0); // установка курсора на первую строку второго дисплея
LCD2.print("TEMPERATURE:"); // вывод текста на первую строку второго дисплея
LCD2.setCursor(5, 1); // установка курсора на вторую строку второго дисплея
LCD2.print(celsius); // вывод значений датчика температуры на вторую строку второго дисплея
}