Вот краткое объяснение каждой строки кода, а также некоторые методы и примеры кода с использованием библиотек Wire и LiquidCrystal_I2C:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
-
Первая строка включает библиотеку Wire, которая предоставляет функции для связи I2C в проектах Arduino. I2C (межинтегральная схема) — это протокол связи, обычно используемый для соединения нескольких устройств во встроенных системах.
-
Вторая строка включает библиотеку LiquidCrystal_I2C, построенную на основе библиотеки Wire. Эта библиотека позволяет управлять символьными ЖК-дисплеями на базе I2C (например, популярными ЖК-дисплеями 16×2 или 20×4), используя меньше контактов, чем при традиционном методе параллельного подключения.
Вот несколько методов, которые можно использовать с библиотекой Wire:
- Wire.begin(): инициализирует библиотеку Wire и подключается к шине I2C в качестве ведущего устройства. Этот метод необходимо вызвать перед использованием любых других функций библиотеки Wire.
void setup() {
Wire.begin();
// Other setup code...
}
- Wire.beginTransmission(адрес): запускает новую передачу на устройство I2C с указанным адресом. Параметр адреса — это 7-битный адрес ведомого устройства.
void loop() {
Wire.beginTransmission(0x27); // Address of the LCD display
// Other code to send data or commands to the LCD...
}
- Wire.write(data): записывает байт данных на шину I2C как часть передачи. Этот метод можно вызывать несколько раз для отправки нескольких байтов.
void loop() {
Wire.beginTransmission(0x27); // Address of the LCD display
Wire.write(0x00); // Example data byte
Wire.write(0x01); // Another example data byte
// Other code to send data or commands to the LCD...
}
А вот пример использования библиотеки LiquidCrystal_I2C для управления ЖК-дисплеем:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Initialize the LCD object with the desired I2C address (0x27)
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
lcd.begin(16, 2); // Initialize the LCD with 16 columns and 2 rows
}
void loop() {
lcd.setCursor(0, 0); // Set the cursor to the first column, first row
lcd.print("Hello, World!"); // Print a message on the LCD
}