Проблема с выводом на дисплей.

Тема в разделе "Arduino & Shields", создана пользователем Fendragon, 6 июл 2019.

  1. Fendragon

    Fendragon Нуб

    Проблема состоит в том что дисплей выводит только первую букву в строке.
    #include <Wire.h>
    #include <LiquidCrystal_I2C.h>

    LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display

    void setup()
    {
    lcd.init(); // initialize the lcd
    // Print a message to the LCD.
    lcd.backlight();
    lcd.setCursor(0,0);
    lcd.print("Hello, world!");
    }
    void loop()
    {
    }
    Я знаю что эта библиотека кривая и обычно это исправляют заменой return0; в файле LiquidCrystal_I2C.cpp на return1;. Но все равно он выводит 1 символ. С другими библиотеками тоже самое.
     
  2. Airbus

    Airbus Радиохулиган Модератор

    [​IMG]
     
    BAR__MEN нравится это.
  3. Airbus

    Airbus Радиохулиган Модератор

    А так?
    Код (C++):
    #include <Wire.h>
    #include <LiquidCrystal_I2C.h>
    LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display

    void setup()
    {
    lcd.init(); // initialize the lcd
    // Print a message to the LCD.
    lcd.backlight();
    //lcd.setCursor(0,0);
    lcd.print("Hello, world!");
    }
    void loop()
    {
    }
     
  4. ZAZ-965

    ZAZ-965 Гуру

    @Fendragon, использование lcd.init() говорит, что вы продолжаете использовать устаревшую библиотеку. Установите https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library
    Код (C++):
    #include <Wire.h>
    #include <LiquidCrystal_I2C.h>
    // Set the LCD address to 0x27 for a 16 chars and 2 line display
    LiquidCrystal_I2C lcd(0x27, 16, 2);

    void setup()
    {
        lcd.begin();        // initialize the LCD
        lcd.backlight();   // Turn on the blacklight and print a message.
        lcd.print("Hello, world!");
    }

    void loop()
    {
    }
     
    BAR__MEN нравится это.
  5. Fendragon

    Fendragon Нуб

    Установил новую библиотеку, но выдает ошибку.

    Arduino: 1.8.9 (Windows 7), Плата:"Arduino/Genuino Uno"

    C:\Users\**\Documents\Arduino\sketch_jul06a\sketch_jul06a.ino: In function 'void setup()':

    sketch_jul06a:8:15: error: no matching function for call to 'LiquidCrystal_I2C::begin()'

    In file included from C:\Users\**\Documents\Arduino\sketch_jul06a\sketch_jul06a.ino:2:0:

    C:\Users\Ҹ��\Documents\Arduino\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:58:8: note: candidate: void LiquidCrystal_I2C::begin(uint8_t, uint8_t, uint8_t)

    void begin(uint8_t cols, uint8_t rows, uint8_t charsize = LCD_5x8DOTS );

    ^

    C:\Users\Ҹ��\Documents\Arduino\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:58:8: note: candidate expects 3 arguments, 0 provided

    Несколько библиотек найдено для "LiquidCrystal_I2C.h"
    Используется: C:\Users\**\Documents\Arduino\libraries\LiquidCrystal_I2C
    Не используется: C:\Users\**\Documents\Arduino\libraries\LiquidCrystal
    Не используется: C:\Users\**\Documents\Arduino\libraries\Arduino-LiquidCrystal-I2C-library-master
    exit status 1
    no matching function for call to 'LiquidCrystal_I2C::begin()'
     
  6. Asper Daffy

    Asper Daffy Гуру

    Значит, толком не установил. У тебя работает старая библиотека. Старую-то не убрал.
     
  7. Fendragon

    Fendragon Нуб

    Удалял и новую установил. Старая пропадала из Ардуино айди. Я когда примеры из этой библиотеки открываю там тоже эта ошибка.
     
    Последнее редактирование: 6 июл 2019
  8. Fendragon

    Fendragon Нуб

    Он жалуется что нет функции "LiquidCrystal_I2C::begin()". Новая библиотека установлена т.к я пытался загрузить из нее пример , но он все равно выдает ошибку.
     
  9. ZAZ-965

    ZAZ-965 Гуру

    Удалите\переместите C:\Users\**\Documents\Arduino\libraries\LiquidCrystal_I2C чтобы в папке с пользовательскими библиотеками использовалась C:\Users\**\Documents\Arduino\libraries\Arduino-LiquidCrystal-I2C-library-master
     
  10. Airbus

    Airbus Радиохулиган Модератор

    Млять Fendragon Вы код научитесь вставлять али как?
     
  11. Fendragon

    Fendragon Нуб

    Код (C++):
    #include <Wire.h>
    #include <LiquidCrystal_I2C.h>

    // Set the LCD address to 0x27 for a 16 chars and 2 line display
    LiquidCrystal_I2C lcd(0x27, 16, 2);

    void setup()
    {
        // initialize the LCD
        lcd.begin();

        // Turn on the blacklight and print a message.
        lcd.backlight();
        lcd.print("Hello, world!");
    }

    void loop()
    {
        // Do nothing here...
    }
    Это тот код в котором жалуется на отсутствие метода "LiquidCrystal_I2C::begin()".
     
  12. Asper Daffy

    Asper Daffy Гуру

    Не понял, ты меня обманываешь или себя? Мне пофиг. Абсолютно.

    А для тебя, там же прямо написано:

    Несколько библиотек найдено для "LiquidCrystal_I2C.h"
    Используется: C:\Users\**\Documents\Arduino\libraries\LiquidCrystal_I2C
    Не используется: C:\Users\**\Documents\Arduino\libraries\LiquidCrystal
    Не используется: C:\Users\**\Documents\Arduino\libraries\Arduino-LiquidCrystal-I2C-library-master

    Значит, не удалил. Удаляй.

    Если хочешь доказывать, что на самом деле удалил, то доказывай не мне, а своему компилятору.
     
  13. Fendragon

    Fendragon Нуб

    Извини, старый текст ошибки. Я его скопировал после установки новой библиотеки, а только после я удалял старую. Сейчас я удалил все библиотеки кроме этой, не помогло (текст ошибки не скопировал). Сейчас у мея проблема с файлами случилась, переустанавливаю Ардуино айди.
     
  14. DetSimen

    DetSimen Спамовредитель Модератор

    Мда.
     
  15. Ar4ik

    Ar4ik Нерд

    У меня такое было, что выводило первый символ.
    Решение проблемы:
    1. Поставь версию ардуины более позднюю например 1.6.4
    2. LiquidCrystal_PCF8574.h попробуй эту библиотеку
    3. Загрузи скетч из примера он должен работать точно