LCD Keypad Shield LCD1602 отображает некорректные символы

Тема в разделе "Arduino & Shields", создана пользователем markk, 23 авг 2017.

  1. markk

    markk Нерд

    LCD Keypad Shield LCD1602 отображает некорректные символы, при любом скетче.
    [​IMG]
    [​IMG]
    Строку заменил LiquidCrystal lcd(8, 9, 4, 5, 6, 7); Подобной темы в интернете мне не попадалось, зашел к продавцу почитать отзывы, а товар больше не продается. Может быть я что то не правильно делаю или шилд не работает? Ардуино уно проверял скетчем из примеров где он лампочкой моргает на плате. Драйвера менял, на другом компе с ХР пробовал загружать такая же ерунда. Что делать, как быть подскжите, пожалуйста!
     
  2. AlexU

    AlexU Гуру

    В аппаратной части проблем нет. И дисплей исправен, и Ардуино, и дело не в драйверах.
    Проблема в кодировке символов. Так понимаю хотите отображать русский текст? Дисплей кириллицу поддерживает?
    Если же такая проблема с ангийским текстом, то это может означать, что библиотека 'LiquidCrystal' не совсем подходит для этого дисплея, либо подключение дисплея не правильное -- '(8, 9, 4, 5, 6, 7)' уверены, что дисплей подключен именно к этим пинам и в таком порядке?
     
  3. markk

    markk Нерд

    Задача ардуины даже не текст выводить, а просто циферки - показания с темп. датчика и управление реле по ним. Он выводит но в таком виде, хоть текст (англ) хоть цифры.
    Пины проверял мультиметром, вроде все верно rs,e,d4,d5,d6,d7.
    Какую другую библиотеку можно подключить?
     
  4. AlexU

    AlexU Гуру

    Прежде, чем выбирать библиотеку, нужно определится, что за дисплей, на каком чипе он основан.
    Правильность подключения мультметром не проверишь. Опять же нужно знать, что за модель дисплея. Как у этого дисплея выведены выводы? Как они подключены к Ардуино?

    Если Вы утверждаете, что пытаетесь вывести на дисплей цифры, а получаете "кракозябры", то скорее всего Вы допустили ошибку в подключении дисплея.

    И самое главное, фраза "LCD Keypad Shield LCD1602" ни чего не говорит о том, что за дисплей у Вас. Китайцы лепят разные дисплеи пачками под одним названием. А работают они по разному.
     
  5. markk

    markk Нерд

    Дисплей припаян контактами к кейпад шилду, мультиметром проверял контакты дисплея и выход с шилда в ардуину.
    Одевается сверху на ардуину, тут как бы, его не правильно просто не подключить.
    Где найти информацию о чипе дисплея?
    [​IMG]
     
  6. AlexU

    AlexU Гуру

    Согласен, что раз шилд, то подключается определённым образом и больше ни как. Надо узнать какие пины использует дисплей и правильно его инициализировать. Вот в этой строке:
    Код (C++):
    LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
    должны быть правильные циферки в правильных местах. А мне кажется, что Вы эти циферки "от балды" берёте.
    У продавца. Но так понимаю продавец удалил страницу с описанием товара. Тогда остаётся надеяться только на то, что чип распространённый и поддерживается библиотекой 'LiquidCrystal'.
     
  7. Slaiterx

    Slaiterx Гик

    а где код который загружаете
     
  8. markk

    markk Нерд

    Код самый простой из примеров ардуины "Хеллоу ворлд"
    Написал продавцу, пока молчит.
     
  9. markk

    markk Нерд

    Проверил еще раз, вроде все так же:
    [​IMG]
     
  10. vector99

    vector99 Гик

    Попробуй Arduino IDE 1.6.3 поставить! Или ещё ниже.
     
  11. AlexU

    AlexU Гуру

    Подключение правильное, тогда надо на код скетча посмотреть повнимательней.
     
  12. Airbus

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

    У меня такой же шилд есть.Но код из примеров не катит там другие пины а так даже кириллицу можно втюхать правда всего 8 символов остальные из англ.Пины 8,9,4,5,6,7 в таком порядке AlexU правильно написал в начале.
     
    Последнее редактирование: 28 авг 2017
  13. markk

    markk Нерд

    Из примеров хеллоу ворлд!
    Код (C++):
    /*
      LiquidCrystal Library - Hello World

    Demonstrates the use a 16x2 LCD display.  The LiquidCrystal
    library works with all LCD displays that are compatible with the
    Hitachi HD44780 driver. There are many of them out there, and you
    can usually tell them by the 16-pin interface.

    This sketch prints "Hello World!" to the LCD
    and shows the time.

      The circuit:
    * LCD RS pin to digital pin 12
    * LCD Enable pin to digital pin 11
    * LCD D4 pin to digital pin 5
    * LCD D5 pin to digital pin 4
    * LCD D6 pin to digital pin 3
    * LCD D7 pin to digital pin 2
    * LCD R/W pin to ground
    * LCD VSS pin to ground
    * LCD VCC pin to 5V
    * 10K resistor:
    * ends to +5V and ground
    * wiper to LCD VO pin (pin 3)

    Library originally added 18 Apr 2008
    by David A. Mellis
    library modified 5 Jul 2009
    by Limor Fried (http://www.ladyada.net)
    example added 9 Jul 2009
    by Tom Igoe
    modified 22 Nov 2010
    by Tom Igoe
    modified 7 Nov 2016
    by Arturo Guadalupi

    This example code is in the public domain.

    http://www.arduino.cc/en/Tutorial/LiquidCrystalHelloWorld

    */


    // include the library code:
    #include <LiquidCrystal.h>

    // initialize the library by associating any needed LCD interface pin
    // with the arduino pin number it is connected to
    const int rs = 8, en = 9, d4 = 4, d5 = 5, d6 = 6, d7 = 7;
    LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

    void setup() {
      // set up the LCD's number of columns and rows:
      lcd.begin(16, 2);
      // Print a message to the LCD.
      lcd.print("hello, world!");
    }

    void loop() {
      // set the cursor to column 0, line 1
      // (note: line 1 is the second row, since counting begins with 0):
      lcd.setCursor(0, 1);
      // print the number of seconds since reset:
      lcd.print(millis() / 1000);
    }
     
    В первом сообщении написал:
     
  14. Airbus

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

    Простите не заметил сразу.Попробуйте закоментить строку над LiquidCrystal lcd(8,9,4,5,6,7) у меня ее в коде нет и работает без нее. IDE1.5.5
     
  15. markk

    markk Нерд

    По всякому уже пробовал, открыл спор, требую возврат. Планирую отделить лсд от шилда и подключить напрямую.
     
  16. Airbus

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

    Видимо косячный шилд.Напишите как будет работать LCD сам по себе стало интересно.
     
  17. Slaiterx

    Slaiterx Гик

    Код (C++):
    LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
    попробуй так
     
  18. markk

    markk Нерд

    См выше нарисовал куда выходят пины с лсд-шилд-ардуино.
    Да и поздно уже, т.к. лсд отделен от шилда))
     
  19. Airbus

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

    Ну и?
     
  20. markk

    markk Нерд

    [​IMG]
    Попробую через пины в шилде подключить, результат напишу))