Освоение ЖК-дисплея Arduino с помощью I2C: упрощенные методы и примеры кода

В мире Arduino одним из самых популярных вариантов дисплея является ЖК-дисплей (жидкокристаллический дисплей). Однако подключение ЖК-дисплея к плате Arduino иногда может быть немного сложным: требуется связка проводов и несколько цифровых контактов. Но не бойтесь! Есть решение: использовать модуль I2C (межинтегральная схема) с ЖК-дисплеем Arduino. В этой статье мы рассмотрим различные методы и предоставим примеры кода, которые помогут вам освоить ЖК-дисплей Arduino с интеграцией I2C.

Метод 1: использование библиотеки LiquidCrystal_I2C
Самый простой способ подключить ЖК-дисплей Arduino к I2C — использовать библиотеку LiquidCrystal_I2C. Эта библиотека упрощает связь I2C и позволяет управлять ЖК-дисплеем с помощью всего нескольких строк кода. Вот пример:

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);  // Set the LCD address and dimensions
void setup() {
  lcd.begin(16, 2);  // Initialize the LCD
  lcd.backlight();   // Turn on the backlight
  lcd.print("Hello, World!");  // Display a message
}
void loop() {
  // Your code here
}

Метод 2: настройка связи I2C вручную
Если вы предпочитаете больше контроля над связью I2C, вы можете настроить ее вручную с помощью библиотеки Wire. Этот метод позволяет вам настроить адрес и контакты I2C в соответствии с вашими конкретными настройками. Вот пример:

#include <Wire.h>
#define LCD_ADDRESS 0x27  // Set the LCD address
#define LCD_COLUMNS 16    // Set the number of columns in the LCD
#define LCD_ROWS 2        // Set the number of rows in the LCD
void lcdCommand(uint8_t command) {
  Wire.beginTransmission(LCD_ADDRESS);
  Wire.write(0x00);
  Wire.write(command);
  Wire.endTransmission();
}
void lcdPrint(const char* message) {
  Wire.beginTransmission(LCD_ADDRESS);
  Wire.write(0x40);
  Wire.write(message);
  Wire.endTransmission();
}
void setup() {
  Wire.begin();  // Initialize I2C communication
  lcdCommand(0x38);  // Initialize the LCD
  lcdCommand(0x0C);  // Turn on the display
  lcdPrint("Hello, World!");  // Display a message
}
void loop() {
  // Your code here
}

Метод 3: использование библиотеки hd44780
Еще одна популярная библиотека для ЖК-дисплея Arduino с интеграцией I2C — hd44780. Эта библиотека предоставляет обширные функции и возможности настройки. Вот пример:

#include <Wire.h>
#include <hd44780.h>
#include <hd44780ioClass/hd44780_I2Cexp.h>
hd44780_I2Cexp lcd;  // Create an lcd object
void setup() {
  lcd.begin(16, 2);  // Initialize the LCD
  lcd.backlight();   // Turn on the backlight
  lcd.print("Hello, World!");  // Display a message
}
void loop() {
  // Your code here
}

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