Strela - проблема с LCD 8x2 (проблема решена)

Тема в разделе "Arduino & Shields", создана пользователем Strela, 6 авг 2014.

  1. Strela

    Strela Нерд

    Описание проблемы:
    1) на Strelu установил LCD MT-08S2A (экран 8х2);
    2) загрузил скетч из примеров, загрузка прошла успешно;
    3) на LCD информация не отображается.

    Что предпринимал:
    1) ещё раз внимательно изучил инструкцию к Strele и LCD от производителя МЭЛТ;
    2) купил ещё один LCD такой же марки на Чип и Дип - снова на Strele не включился;
    3) купил и установил на Strelu аналог LCD GDM0802B ver 1.2 - снова на Strele не включился;
    4) менял библиотеки - безрезультатно;
    5) начал проверять на работоспособность LCD, для детального изучения (есть примеры на Амперка вики) первым выбрал MT-16S2H и подключил к Arduino - LCD заработал;
    6) подключил к Arduino по аналогии LCD MT-08S2A - LCD НЕ заработал;

    Привожу рисунки соединения Arduino c LCD:

    Так я представил функцию из скетча:
    LiquidCrystal_lcd.png

    Контакты для подключения LCD MT-08S02A к Arduino (не заработал):
    tabl_connect_MT-08S2A-2YLG.png

    Контакты для подключения LCD MT-16S2H к Arduino (заработал):
    tabl_connect_MT-16S2H-2FLA.png

    Прошу помощи! Что мной сделано не так?
     
    Последнее редактирование: 6 авг 2014
  2. Unixon

    Unixon Оракул Модератор

  3. Strela

    Strela Нерд

    Добавляю библиотеку "Strela-master.zip":
    Эскиз -> Импорт библиотек... -> Добавить библиотеку...

    Сообщение Arduino IDE:
    "Библиотека "Strela-master" не может быть использована. Имена библиотек должны содержать только буквы и цифры. (только ASCII и без пробелов, и не может начинаться с цифры)"

    Может библиотеку переименовать надо?
     
    Последнее редактирование: 6 авг 2014
  4. Открыть 7-zip, переименовать из "Strela-master" в "Strela_master"
     
  5. Unixon

    Unixon Оракул Модератор

    ... переименовать из "Strela-master" в "Strela"
     
  6. Ваш вариант тоже хорош
     
  7. Strela

    Strela Нерд

    Переименовал и добавил в библиотеку, но при запуске "StrelaLiquidCrystal":

    Arduino: 1.5.7 (Windows 8), Board: "Arduino Leonardo"

    StrelaLiquidCrystal.ino:4:20: fatal error: Strela.h: No such file or directory
    compilation terminated.

    This report would have more information with
    "Show verbose output during compilation"
    enabled in File > Preferences.

    Может что то куда то надо "вручную" скопировать?
     
    Последнее редактирование: 6 авг 2014
  8. Strela

    Strela Нерд

    Сделал как написано в README.md

    Моя ошибка заключалась в следующем:
    директория `$sketchbook/libraries` в Windows это:
    C:\Users\envision\Documents\Arduino

    Проблема решена! Всем огромное СПАСИБО!
     
    Последнее редактирование: 6 авг 2014
  9. Ребят приветствую.
    Ваш пост был единственный по данному LCD дисплею MT-08S2A.
    Вы написали что решили проблему, однако я по вашим схемам так и не смог запустить свой дисплей.
    В итоге, ребята из амперки подсказали покурить DataSheet и я таки осилил коммутацию, при которой работают встроенные примеры и библиотеки из IDE Arduino.
    Для полноты выкладываю схему соединения для данного LCD с Arduino для 4-х битного режима.
    Всем спасибо!

    MT-08S2A-2FLA для 4-х битного режима
    LCD pin-1/+5V
    LCD pin-2/GND
    LCD pin-3/GND
    LCD pin-4/Arduino pin-12
    LCD pin-5/GND
    LCD pin-6/Arduino pin-11
    LCD pin-11/Arduino pin-5
    LCD pin-12/Arduino pin-4
    LCD pin-13/Arduino pin-3
    LCD pin-14/Arduino pin-2

    p.s. кстати, я мучался с выводом русских букв путем поиска кодов по таблице символов из DataSheet. А мой товрищ по незнанию, случайно нашел программку Rus-to-LCD Text Converter 1.1 - перекодировщик в HEX любого русского текста. :) Вот ее About:
    Программку приатачу, там простой EXE-шник. Понимаю что не все захотят запускать не пойми что на компе, поэтому так разжевываю ее название, чтобы вы могли самостоятельно ее найти в случае чего.
     

    Вложения:

    • Снимок.PNG
      Снимок.PNG
      Размер файла:
      14,3 КБ
      Просмотров:
      1.092
    • Rus-to-LCD.zip
      Размер файла:
      137,4 КБ
      Просмотров:
      334
    Последнее редактирование: 27 май 2015
  10. Kai Proctor

    Kai Proctor Нуб

    Помогите, пожалуйста, имеется Strela и дисплей MT-08S2A-2FLA. Библиотеку установил отсюда https://github.com/marcoschwartz/LiquidCrystal_I2C. Подключил дисплей к плате как на изображение в FAQ по стреле и загрузил пример тоже оттуда. Но при компиляции выдает ошибку:

    Код (C++):
    Arduino: 1.6.9 (Windows 7), Плата:"Arduino Leonardo"

    HelloWorld:9: error: no matching function for call to 'LiquidCrystal_I2C::LiquidCrystal_I2C(int, int, int, int, int, int, int, int)'

    LiquidCrystal_I2C lcd(LC_ADDR, LCEN, LCRW, LCRS, LC4, LC5, LC6, LC7);

                                                                        ^

    C:\Users\userName\AppData\Local\Temp\arduino_modified_sketch_671915\HelloWorld.ino:9:68: note: candidates are:

    In file included from C:\Users\userName\AppData\Local\Temp\arduino_modified_sketch_671915\HelloWorld.ino:6:0:

    C:\Users\userName\Documents\Arduino\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:57:3: note: LiquidCrystal_I2C::LiquidCrystal_I2C(uint8_t, uint8_t, uint8_t)

       LiquidCrystal_I2C(uint8_t lcd_Addr,uint8_t lcd_cols,uint8_t lcd_rows);

       ^

    C:\Users\userName\Documents\Arduino\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:57:3: note:   candidate expects 3 arguments, 8 provided

    C:\Users\userName\Documents\Arduino\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:55:7: note: constexpr LiquidCrystal_I2C::LiquidCrystal_I2C(const LiquidCrystal_I2C&)

    class LiquidCrystal_I2C : public Print {

           ^

    C:\Users\userName\Documents\Arduino\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:55:7: note:   candidate expects 1 argument, 8 provided

    C:\Users\userName\Documents\Arduino\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:55:7: note: constexpr LiquidCrystal_I2C::LiquidCrystal_I2C(LiquidCrystal_I2C&&)

    C:\Users\userName\Documents\Arduino\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:55:7: note:   candidate expects 1 argument, 8 provided

    exit status 1
    no matching function for call to 'LiquidCrystal_I2C::LiquidCrystal_I2C(int, int, int, int, int, int, int, int)'
     
    В чем может быть причина?

    ---

    Это сам код:
    Код (C++):
    // Подключим библиотеку для работы с I2C-расширителем портов
    #include <Wire.h>
    // Подключим библиотеку Strela
    #include <Strela.h>
    // Подключим библиотеку для работы с LCD-эраном через I2C
    #include <LiquidCrystal_I2C.h>
    // Создадим объект lcd, который будет выводить текст на экран
    LiquidCrystal_I2C lcd(LC_ADDR, LCEN, LCRW, LCRS, LC4, LC5, LC6, LC7);
    void setup()
    {
      //Инициализация экрана. У нашего экрана 8 символов 2 строки
      lcd.begin(8, 2);
      //Переместим курсор в начало первой стройки (символ 0, строка 0)
      lcd.home();
      //Печатаем строку
      lcd.print("Hello");
      //Переместим строку в начало второй строки (символ 0, строка 1)
      lcd.setCursor(0, 1);
      //Печатаем строку
      lcd.print("World!");
      //Пауза, чтобы успеть насладиться результатом
      delay(2000);
    }
    void loop()
    {
      // Далее будем просто выводить время прошедшее со старта скетча
      //Очищаем экран
      lcd.clear();
      // выставляем курсор в положение 0, 0
      lcd.home();
      // Пишем первую строку
      lcd.print("Uptime:");
      // переместим курсор в начало второй строки
      lcd.setCursor(0, 1);
      // узнаем время прошедшее со старта скетча в миллисекундах
      unsigned long time = millis();
      // и выведем его на экран
      lcd.print(time);
      //Пауза, чтобы успеть насладиться результатом
      delay(500);
    }