Как вы без проверки на макетке? Соберите на макетке, оттестируйте, а уже потом на плату переносите.На макетке я это не собирал, заказывал платы.
По плате видно что дисплей напрямую подключается, через 4-битный интерфейс.Если I2C, может не оказаться подтягивающих резисторов.
Не факт, хоть проводов и хватает.По плате видно что дисплей напрямую подключается, через 4-битный интерфейс.
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
  byte Char_1[8] = {B00100,B01010,B01010,B01010,B10001,B11111,B10001,B10001};//A
  byte Char_2[8] = {B00111,B00101,B00101,B00101,B01001,B01001,B01001,B10001};//Л
  byte Char_3[8] = {B11111,B10000,B10000,B11111,B10000,B10000,B10000,B11111};//Е
  byte Char_4[8] = {B10001,B10010,B10100,B11000,B11000,B10100,B10010,B10001};//К
  byte Char_5[8] = {B11111,B10000,B10000,B10000,B10000,B10000,B10000,B11111};//C
  byte Char_6[8] = {B01010,B00100,B10011,B10101,B10101,B11001,B11001,B10001};//Й
  byte Char_7[8] = {B11111,B10000,B10000,B11110,B10001,B10001,B10001,B11110};//Б
  byte Char_8[8] = {B11110,B10001,B10001,B11110,B10000,B10000,B10000,B10000};//Р
  byte Char_9[8] = {B10001,B10001,B10001,B11111,B10001,B10001,B10001,B10001};//Н
  byte Char_10[8] = {0x11,0x11,0x11,0x1F,0x11,0x11,0x11,0x11};//Н
void setup() {
  lcd.createChar(1,Char_1);
  lcd.createChar(2,Char_2);
  lcd.createChar(3,Char_3);
  lcd.createChar(4,Char_4);
  lcd.createChar(5,Char_5);
  lcd.createChar(6,Char_6);
  lcd.createChar(7,Char_7);
  lcd.createChar(8,Char_8);
  lcd.createChar(9,Char_9);
  lcd.createChar(10,Char_10);
  lcd.init();
  lcd.home();
  lcd.backlight();
  lcd.write(1);
  lcd.write(2);
  lcd.write(3);
  lcd.write(4);
  lcd.write(5);
  lcd.write(3);
  lcd.write(10);
}
void loop() {
}
	Wire.begin();, причём сделать это до lcd.init();. Опять же, память дисплея не резиновая, в неё можно записать не более 8-ми пользовательских символов одновременно, нумерация от 0 до 7.#include <LCD_1602_RUS.h>
LCD_1602_RUS lcd(0x27, 16, 2);
void setup()
{
  Serial.begin(9600);
  Serial.println("status");
  Serial.println(lcd.status());
  Serial.println("avaliable");
  Serial.println(lcd.availableForWrite());
  lcd.init();                      // initialize the lcd
  // Print a message to the LCD.
  lcd.backlight();
  lcd.setCursor(2, 0);
  lcd.print(L"Теперь можно");
  lcd.setCursor(3, 1);
  lcd.print(L"по-русски");
}
void loop()
{
}
	Контрастность крутили?ни один пример из папки библиотеки не вывел на дисплей ничего, только загорается подсветка
#include <Wire.h>
void setup() {
  Serial.begin (115200);
  // Leonardo: wait for serial port to connect
  while (!Serial) 
    {
    }
  Serial.println ();
  Serial.println ("I2C scanner. Scanning ...");
  byte count = 0;
  
  Wire.begin();
  for (byte i = 8; i < 120; i++)
  {
    Wire.beginTransmission (i);
    if (Wire.endTransmission () == 0)
      {
      Serial.print ("Found address: ");
      Serial.print (i, DEC);
      Serial.print (" (0x");
      Serial.print (i, HEX);
      Serial.println (")");
      count++;
      delay (1);  // maybe unneeded?
      } // end of good response
  } // end of for loop
  Serial.println ("Done.");
  Serial.print ("Found ");
  Serial.print (count, DEC);
  Serial.println (" device(s).");
}  // end of setup
void loop() {}
	
