Некорректно работает модуль LCD I2C

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем yurgen, 4 июн 2017.

  1. yurgen

    yurgen Нуб

    Подключил модуль как на схеме ниже
    Подключил библиотеку, она тоже по ссылке ниже
    И вот исходный код,но вместо Hello, world выводит просто прямоугольники
    [​IMG]

    схема: http://zelectro.cc/Content/Uploads/71/Files/LCD_1602_I2C_module_connection_to_Arduino.jpg


    библиотека:


    код:
    Код (C++):
    //Тестировалось на Arduino IDE 1.0.5
    #include <Wire.h>
    #include <LiquidCrystal_I2C.h>

    LiquidCrystal_I2C lcd(0x27,16,2);   /* Задаем адрес и размерность дисплея.
    При использовании LCD I2C модуля с дисплеем 20х04 ничего в коде изменять не требуется, cледует только задать правильную размерность */


    void setup()
    {
      lcd.init();                            // Инициализация lcd            
      lcd.backlight();                       // Включаем подсветку
      // Курсор находится в начале 1 строки
      lcd.print("Hello, world!");            // Выводим текст
      lcd.setCursor(0, 1);                   // Устанавливаем курсор в начало 2 строки
      lcd.print("zelectro.cc");              // Выводим текст
    }

    void loop()
    {
    }
     

    Вложения:

  2. ZAZ-965

    ZAZ-965 Гик

    Попробуйте подстроечным резистором отрегулировать контрастность.
     
  3. yurgen

    yurgen Нуб

    пробовал все равно тоже самое
     
  4. BAR__MEN

    BAR__MEN Гик

    Провода на А4 и А5 не перепутали
     
  5. yurgen

    yurgen Нуб

    нет уже проверял и местами менял
     
  6. BAR__MEN

    BAR__MEN Гик

    А номер (или как там его называют))устройства в шине верный
     
  7. yurgen

    yurgen Нуб

    а объясните поподробнее что вы имеете в виду под номеров устройства
     
  8. BAR__MEN

    BAR__MEN Гик

    Это идентификатор устройства все тут
     
  9. solonovich

    solonovich Нерд

    Когда то сталкивался с такой проблемой.
    1- Залей скетч I2C сканер, и посмотри есть ли что на шине.

    Код (C++):
    LiquidCrystal_I2C lcd(0x27,16,2);  
    в этой строке 0х27 это адрес устройства, сканер I2C тебе покажет твой адрес, если отличается то замени.
    2 - попробуй замени библиотеку.
    3 - После того как я обновил Arduino IDE, мой рабочий проект перестал работать, на экране вместо строк, выводился только один символ, и всё. Я долго искал причину, пока не заменил Arduino IDE, на более старую версию (та которая у меня была до этого 1.6.3) и все сразу заработало.
     
  10. Alexs7

    Alexs7 Нуб

    Сам мучался с этой же проблемой, показывал только первый или пару первых символов. ошибка в библиотеке. исправить можно так:
    Ищем папку хранения библиотеки LiquidCrystal_I2C1602V1 (обычно по пути Документы -> Arduino ->libraries ->). открыть блокнотом LiquidCrystal_I2C.cpp
    Почти в начале документа ищешь код:

    #define printIIC(args) Wire.write(args)
    inline size_t LiquidCrystal_I2C::write(uint8_t value) {
    send(value, Rs);
    return 0;
    }

    Нужно заменить значение return 0 на return 1
    И экран будет работать нормально!
     
  11. Alexs7

    Alexs7 Нуб

    Адрес устройства поставь LiquidCrystal_I2C lcd(0x3F,16,2);