/* Пример работы с LCD экраном I2C */
#include <LiquidCrystal_I2C.h> //подключаем билиотеку
LiquidCrystal_I2C lcd(0x27, 16, 2); // Объявляем объект библиотеки, указывая параметры дисплея
//(адрес I2C = 0x27, количество столбцов = 16, количество строк = 2)
// Если надпись не появилась, замените адрес 0x27 на 0x3F
int val; // переменная для считывания данных с потенциометра
int tmp; // переменная для отключения мерцания экрана
void setup() {
pinMode(A1, INPUT); // к входу A1 подключаем потенциометр
lcd.init(); //иниицизация экрана
lcd.backlight(); //включаемподсветку
lcd.setCursor(1, 0); // устанавливаем курсор в начало первой строки
lcd.print("Podvigay polz-ok"); // выводим текст
}
void loop() {
val = analogRead(A1); // считываем данные с потенциометра (0 .. 1023)
if (val !=tmp){ // убираем мерцание экрана (если данные не меняются экран не обновляется)
lcd.clear(); // очищаем экран
lcd.setCursor(1, 0); // устанавливаем курсор в начало первой строки
lcd.print("Tek znachenie"); // выводим текст
lcd.setCursor(1, 1); // устанавливаем курсор в левый край второй строки
lcd.print(val); // выводим данные на экран
tmp=val; // запоминаем текущее значение
int cval=map(val,0,1023,0,255); // масштабюируем данные для управления яркостью светодиода (0..255)
lcd.setCursor(10, 1); // устанавливаем курсор в правый край второй строки
lcd.print(cval); // выводим данные на экран
delay(15); } // задержка 15 милисекунд
}