Нерешаемо Не работает lcd дисплей при подключении к ардуино выводит просто квадратики

Тема в разделе "Arduino & Shields", создана пользователем Rmt44, 5 окт 2020.

  1. Rmt44

    Rmt44 Нуб

  2. akl

    akl Гуру

    ссылка предлагает куда-то зарегистрироваться.
    Если это дисплей типа 1602, то скорее всего надо накрутить контрастность. должен быть потенциометр там.
     
  3. Asper Daffy

    Asper Daffy Иксперд

    Зачем? Квадратики же есть, значит контрастность приемлемая.
     
  4. issaom

    issaom Гуру

    При желании можно так накрутить что нихрена не видно будет...
    IMG_20201005_104853.jpg
    @Rmt44 картинки же можно прямо на форум вставлять - нафига давать ссылку на не открываемый ресурс ?
     
    NikitOS и b707 нравится это.
  5. Asper Daffy

    Asper Daffy Иксперд

    В общем, да, наверное.
     
  6. Rmt44

    Rmt44 Нуб

    [​IMG]
     
  7. Rmt44

    Rmt44 Нуб

    Подключаю всё по схеме, а горят только квадратики(не работает даже hello world)
     
  8. Rmt44

    Rmt44 Нуб

    Контрастность крутил уже
     
  9. Ariadna-on-Line

    Ariadna-on-Line Гуру

    1. вот как пить дать - перепутаны линии данных. Младший бит с Ардуины идет на старший бит модуля. Вы в скетче не запутались с названиями битов данных ?
    2. при кручении потенциометра контрастность плавно меняется от черного до невидимого и обратно ? Выставить надо "серединку-наполовинку".
    3. народ имеет привычку потеряться в трех соснАх. Отсюда советы.
     
    Последнее редактирование: 5 окт 2020
  10. Rmt44

    Rmt44 Нуб

    Нет не запутался, я не могу даже hello world запустить
     
  11. issaom

    issaom Гуру

    Строку инициализации со схемой подключения сравнивали ?
    хелоу ворд из примеров входящих в состав Arduino например с такой схемой не запустится, нужно корректировать либо схему, либо код
    Код (C++):
    // initialize the library by associating any needed LCD interface pin
    // with the arduino pin number it is connected to
    const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
    LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
    Нужно проверять каждую линию и вносить изменения в строку инициализации если есть отклонения....
     
    Ariadna-on-Line нравится это.
  12. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Код (C++):
    / * The circuit:
    * LCD RS pin to digital pin 13
    * LCD Enable pin to digital pin 12
    * LCD D4 pin to digital pin 11
    * LCD D5 pin to digital pin 10
    * LCD D6 pin to digital pin 9
    * LCD D7 pin to digital pin 8
    * LCD R/W pin to ground
    * 10K potentiometer:
    * ends to +5V and ground
    * wiper to LCD VO pin (pin 3)
    */

    // include the library code:
    #include <LiquidCrystal.h>
    ...
    // initialize the library with the numbers of the interface pins
    LiquidCrystal lcd(13, 12, 11, 10, 9, 8);
    ...
    void setup {
     
  13. Rmt44

    Rmt44 Нуб

    Ааааааа, переподключил контакты, переделал скетч и абсолютно ничегоо...
     
  14. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Вы уверены что Ардуина вообще работает ? Какой-нибудь blink мигает как надо ?
     
  15. Un_ka

    Un_ka Гуру

    8 проводов и 16 контактов достаточно, чтобы где-нибудь в них не было контакта.
     
  16. Rmt44

    Rmt44 Нуб

    да мигает
     
  17. Dord

    Dord Нуб

    Если верхний ряд белые квадратики а нижний пустой, то надо прописать адрес модуля lcd
    примерно так
    #include <LiquidCrystal_I2C.h>
    LiquidCrystal_I2C lcd(0x27, 16, 2); // set the LCD address to 0x27 for a 16 chars and 2 line display
     
  18. Un_ka

    Un_ka Гуру

    Ку-ку, товарищ подключает дисплей напрямую без i2c расширителя.
     
    issaom нравится это.
  19. Dord

    Dord Нуб

    Ну тогда флаг в руки. Может просто дисплей не рабочий или подключение кривое. Я купил дисплей и расширитель, спаял за 3 минуты, а через 5 все уже работало.
     
  20. Un_ka

    Un_ka Гуру

    Правильно сделали, поступив так. Чем больше проводов на макетке, тем больше проблем.
     
    Dord нравится это.