Подключаем несколько i2c экранов к arduino

Представим задачу, когда одного экрана подключенного к ардуино не хватает. Например,  при создании электронного замка, информацию надо выводить с обеих сторон двери. В таком случае 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() {
}

Вот наш результат.

Любые вопросы и предложения пишите в комментариях. Буду рад!

Загрузка ...
The Robot
Adblock
detector