Представим задачу, когда одного экрана подключенного к ардуино не хватает. Например, при создании электронного замка, информацию надо выводить с обеих сторон двери. В таком случае i2c шина ваш лучший друг.
Для урока нам понадобится arduino, 2 lcd i2c экрана, breadboard, соединительные провода.
Все экраны подключаются в одни и те же пины благодаря шине i2c. Давайте подключим сразу два экрана.
Вся суть управления разными экранами в изменении i2c адреса одного из них. Для этого надо запаять вместе площадки внутри квадрата А0, А1, А2 на i2c переходнике (а можно и комбинировать, те А0 и А2 вместе). На картинке контакты изображены под синим потенциометром.
Теперь установите Liquid crystal i2c библиотеку.
Загружаем скетч i2c сканера на arduino и открываем монитор com порта.
Здесь мы получили i2c адрес экрана. Можно пометить на задней стороне.
Теперь переходим к прошивке. Здесь надо объявить два экрана с разными адресами и именами и обращаться к конкретному экрану. Прошивка есть на github.
//подключаем библиотеки
#include
#include
LiquidCrystal_I2C lcd (0x26, 16, 2); //объявляем первый экран
LiquidCrystal_I2C lcd2(0x27, 16, 2); //объявляем второй экран
void setup() {
lcd.init(); // инициалищируем первый экран
lcd2.init(); // инициалищируем второй экран
lcd.backlight(); //подсвктка первого экрана
lcd2.backlight(); //подсвктка второго экрана
//Устанавливаем курсор и печатаем на первом экране
lcd.setCursor(0, 0);
lcd.print("Hello, world!");
lcd.setCursor(0, 1);
lcd.print("First screen");
//Устанавливаем курсор и печатаем на втором экране
lcd2.setCursor(0, 0);
lcd2.print("Hello, world!");
lcd2.setCursor(0, 1);
lcd2.print("Second screen");
}
void loop() {
}
Вот наш результат.
Любые вопросы и предложения пишите в комментариях. Буду рад!