LCD I2C

f0rZzZ
Offline
Зарегистрирован: 31.01.2015

Здравствуйте. Есть дисплей подключённый по интерфейсу i2c через переходник. Проблему вы уидите на прикпреплённом фото, а вот сам код:
 

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F,16,2);  // Устанавливаем дисплей
void setup()
{
  lcd.init();                     
  lcd.backlight();// Включаем подсветку дисплея
  lcd.print("iarduino.ru");
  lcd.setCursor(8, 1);
  lcd.print("LCD 1602");
}
void loop()
{
  // Устанавливаем курсор на вторую строку и нулевой символ.
  lcd.setCursor(0, 1);
  // Выводим на экран количество секунд с момента запуска ардуины
  lcd.print(millis()/1000);
}

 

f0rZzZ
Offline
Зарегистрирован: 31.01.2015

Прошу прощёние за размер фото

f0rZzZ
Offline
Зарегистрирован: 31.01.2015

Хотя тест проходит нормально при запуске - весь верхний ряд в квадратиках.

kasper007
Offline
Зарегистрирован: 23.05.2016

loop{} крутится с такой скоростью, что читать, что написано на экране не суждено никому.

поставь хотя бы delay(1000);

 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Посмотри в LiquidCrystal_I2C.cpp метод write - должен возвращать 1, если там стоит 0 - поменяй на 1.

ВН
Offline
Зарегистрирован: 25.02.2016

Так понимаю, что нужно покрутить потенциометр смещения на плате I2С и настроить контраст, чтобы избавиться от четко выраженных квадратиков. В этом деле даже никакой скетч не требуется.

f0rZzZ
Offline
Зарегистрирован: 31.01.2015

ВН пишет:

Так понимаю, что нужно покрутить потенциометр смещения на плате I2С и настроить контраст, чтобы избавиться от четко выраженных квадратиков. В этом деле даже никакой скетч не требуется.


Нет, не в этих квадратиках дело. А в квадратиках при инициализации дисплея - тестовой прверки. И дальнейшей проблемы с не нормальной работой. 

f0rZzZ
Offline
Зарегистрирован: 31.01.2015

DIYMan пишет:

Посмотри в LiquidCrystal_I2C.cpp метод write - должен возвращать 1, если там стоит 0 - поменяй на 1.


Спасибо большое, ваш совет помог, всё стало отображаться корректно )