Проблема с LCD


Всем привет! Сегодня наконец получил по почте CraftDuino и LCD дисплей.
Подключил все как указано здесь: https://robocraft.ru/page/faq/#q15 (правда вместо потенциометра использовал обычный резистр на 20, 10 и 4.7 кОм).

Программу использовал стандартную из примера библиотеки (код не привожу, он у всех есть, в комментах используемые порты совпадают с портами из рисунка схемы подключения):

  LiquidCrystal Library - Hello World

 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
 * 10K resistor:
 * ends to +5V and ground
 * wiper to LCD VO pin (pin 3)

В итоге дисплей вообще пустой.

Можно ли как то проверить дисплей, работает ли он вообще? Что посоветуете делать?


9 комментариев на «“Проблема с LCD”»

    • повторюсь, я НЕ использовал потенциометр. использовал обычный резистр. пробовал 10, 20 и 4.7 кОм. результат тот же.

    • И именно по этому у вас проблемы=))))
      Обратите внимание на включение потенциометра — между + и -.
      Без него никак, резистор не заменит, если только два — но есть шанс не попасть=)
      Проверить экранчик просто — подключаете питание, подключаете ПОТЕНЦИОМЕТР на контраст, крутите его и наблюдаете «квадратики» на всю верхнюю строчку — тестовый режим в отсутствии сигналов.

    • Спасибо, все получилось! Разобрался и с выводом текста.
      Одно не получилось: выводить текст, используя русскую библиотеку. Там добавляется контакт на 10 пин, который соединяется с выходом R/W дисплея (вместо его заземления).

  1. возникает вопрос: при отсутствии чего либо на подключенном lcd на контраст иже pin 3 дисплея, пусть и через резюк, какая полярность вами подавалась? надо +. через потенциометр не ошибешся. проверить надо 5в на пины 1 и 2 на дисплее. так вот при наличии питания на контактах LCD (pin1- "-" иже GND, pin 2 — "+" иже Vcс, а также "+" на pin3 (можно ещё подать на 15 и 16 напругу тоды подсветка заработает) ) как справедливо заметил тов. Zoltberg при отсутствии сигналов(поданы тока описанные выше напряжения) должен быть заполнен верхний ряд lcd — квадратиками. если не видно покрутить lcd в руках на предмет проблеска надежды (возможно неверное значение напряжения на контрасте)!

    • по поводу русской библиотеки
      подключай так
      pin12 — RS
      pin11 — RW
      pin10 — Enable

      если не катит поменяй 10 и 11 местами
      точно уже не помню как правильно

    • Подключай в любые пины, только опиши при создании обьекта что в какие пины подключено.
      Вот как у меня. Nano V3.0 китайский.

      #include <LiquidCrystalRus.h>
      LiquidCrystalRus lcd(12, 11, 10, 9, 8, 7);

      /*
      нано — Описание
      12 — RS — выбор регистра
      11 — Enable — Строб по спаду
      10 — DB4
      9 — DB5
      8 — DB6
      7 — DB7
      */

    • еще надо убедиться что в знакогенераторе есть русские буковки.
      Для этого вывести на дисплей весь знакогенератор, побуквенно.
      Программа такая.

      #include <LiquidCrystalRus.h>
      LiquidCrystalRus lcd(12, 11, 10, 9, 8, 7);
      
      /*
      нано - Описание 
       12 - RS - выбор регистра - 49
       11 - Enable - Строб по спаду - 48
       10 - DB4 
      9 - DB5 
      8 - DB6 
      7 - DB7 
       */
      
      int i =1;
      void setup() {
      lcd.begin (16,2);
      }
      
      void loop(){
        lcd.setCursor (0,0);
        lcd.print (i);
        lcd.setCursor (0,1);
        lcd.symbol(i); 
        delay (1000);
        i++ ;
      }
      

      Но сразу этот пример не забаботает так как функции lcd.symbol нет в библиотеке.
      Нужно добавить её самостоятельно.
      по пунктам.
      Откроем LiquidCrystalRus.cpp
      добавим

      void LiquidCrystalRus::symbol(uint8_t value) {
       uint8_t out_char=value;
       send(out_char, HIGH);
      

      сохраним.
      Откроем LiquidCrystalRus.h
      Добавим

      void symbol(uint8_t value);
      

      Сохраним.
      Пользуемся.

Добавить комментарий

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Android Arduino Bluetooth CraftDuino DIY IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд юмор

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение