Не удается запустить дисплей

Marky
Offline
Зарегистрирован: 31.08.2016

Дисплей - https://www.aliexpress.com/item/1pcs-LCD-Board-2004-20-4-LCD-20X4-5V-yellow-green-screen-LCD2004-display-LCD-module/32346783013.html?spm=2114.13010608.0.97.SLapUD

Переходник - https://www.aliexpress.com/item/IIC-I2C-Interface-LCD1602-2004-LCD-Adapter-Plate-for-Arduino-LCD-1602/32340990581.html?spm=2114.13010608.0.86.SLapUD

Припаял переходник к дисплею, подключаю к ардуине. В итоге - подсветка включается и работает, но на экране не появляется никаких символов. Адрес проверял через ic2_scan, он верный.

Помогите пожалуйста

Скетч: 

/* YourDuino.com Example Software Sketch
20 character 4 line I2C Display
ANOTHER NEW TYPE Marked "LCM1602 IIC  A0 A1 A2"
A0-A1-A2 are grounded so I2C Address is 0x20  
terry@yourduino.com */
/*-----( Import needed libraries )-----*/ 
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>  // F Malpartida's NewLiquidCrystal library
//Download: https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads
// Move original LiquidCrystal library elsewhere, copy this in it's place

/*-----( Declare Constants )-----*/
#define I2C_ADDR    0x27  // Define I2C Address for the PCF8574T 
//---(Following are the PCF8574 pin assignments to LCD connections )----
// This are different than earlier/different I2C LCD displays
#define BACKLIGHT_PIN  3
#define En_pin  2
#define Rw_pin  1
#define Rs_pin  0
#define D4_pin  4
#define D5_pin  5
#define D6_pin  6
#define D7_pin  7

#define  LED_OFF  1
#define  LED_ON  0

/*-----( Declare objects )-----*/  
LiquidCrystal_I2C  lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);

void setup()   /*----( SETUP: RUNS ONCE )----*/
{
 lcd.begin (20,4);  // initialize the lcd 
// Switch on the backlight
 lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
 lcd.setBacklight(LED_ON);
}// END Setup

void loop()   /*----( LOOP: RUNS OVER AND OVER AGAIN )----*/
{

// Reset the display  
 lcd.clear();
 delay(1000);
 lcd.home();
 
// Print our characters on the LCD
 lcd.backlight();  //Backlight ON if under program control
 lcd.setCursor(3,0); //Start at character 3 on line 0
 lcd.print("Hello, world!");
 delay(1000);
 lcd.setCursor(2,1);
 lcd.print("From YourDuino");
 delay(1000);  
 lcd.setCursor(0,2);
 lcd.print("20 by 4 Line Display");
 lcd.setCursor(0,3);
 delay(2000);   
 lcd.print("http://YourDuino.com");
 delay(8000);
} // END Loop

 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Контрастность подсветки крутили?

Marky
Offline
Зарегистрирован: 31.08.2016

В оба направления до конца прокрутил - не менялось ничего

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Про проблему с LiquidCrystal_I2C  читали? На форуме обсасывалось неоднократно, в том числе и я отвечал, что надо поменять в библиотеке, чтобы она заработала.

Marky
Offline
Зарегистрирован: 31.08.2016

К сожалению, нет. Можно ссылку?

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Ищите, есть на форуме. Реально много раз обсуждалось, поиск - в правом верхнем углу.

Marky
Offline
Зарегистрирован: 31.08.2016

Гугл поиск по сайту гавна, если честно.

Искал проблема LiquidCrystal_I2C, в итоге нашел конфликты с другими библиотеками, и другие случаи которые заключаются только в одном показываемом символе, или лишних.

В итоге что бы перестраховаться поменял пару библиотек, результата никакого.

Но я не нашел конкретно где и что менять, помогите пожалуйста

Joiner
Offline
Зарегистрирован: 04.09.2014
JasKo
Offline
Зарегистрирован: 21.11.2015

Могу конечно ошибаться, но может все дело в использованных для подключения пинах? 0 и 1 вызывают подозрение.

Marky
Offline
Зарегистрирован: 31.08.2016

Joiner пишет:

Здесь вроде про это http://arduino.ru/forum/programmirovanie/arduino-pro-mini-lcd-20x4-s-i2c-interfeisom

Решил начать с малого и попробовал местную библиотеку. При билде ошибка:

Arduino: 1.6.11 (Windows 10), Board: "Arduino Nano, ATmega328"

disp:30: error: no matching function for call to 'LiquidCrystal_I2C::LiquidCrystal_I2C(int, int, int, int, int, int, int, int)'

 LiquidCrystal_I2C  lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);

                                                                                

Скетч тот же

JasKo пишет:

Могу конечно ошибаться, но может все дело в использованных для подключения пинах? 0 и 1 вызывают подозрение.

Пины при декларилованнии сверял с инфой что дана на странице продукта на али.

JasKo
Offline
Зарегистрирован: 21.11.2015

Упс. Что то я не внимательно смотрел - у вас же i2c. 

 

Marky
Offline
Зарегистрирован: 31.08.2016

В целях эксперимента решил попробовать скетч с той же темы. Результат тот же что и с прошлым. Экран светится, раз моргнул и опять светится

JasKo
Offline
Зарегистрирован: 21.11.2015

Я использую вот эту библиотеку https://github.com/marcoschwartz/LiquidCrystal_I2C

работает нормально.

Еще рекомендовал бы проверить дисплей в работе без адаптера и адаптер отдельно от дисплея с помощью светодиодов проверить в работе.

ВН
Offline
Зарегистрирован: 25.02.2016

 

Arduino Nano  I2C: A4 (SDA) и A5 (SCL). 

LiquidCrystal_I2C  lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin); ????

JasKo
Offline
Зарегистрирован: 21.11.2015

ВН пишет:

 

Arduino Nano  I2C: A4 (SDA) и A5 (SCL). 

LiquidCrystal_I2C  lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin); ????

Это у него какая то странная библа требующая прописки пинов pcf8574.

ВН
Offline
Зарегистрирован: 25.02.2016

странные пины упоминаются + странная библиотека .... че тогда удивляться, если и дальше,  "Все страньше и страньше!" 

nik182
Offline
Зарегистрирован: 04.05.2015

Все пляски с I2c надо начинать с i2cscan. На какой адрес откликнется - тот и использовать. У меня разные диспеи откликаются на 0х27,0х30,0х3F. Крутить контрастность можно и без подключения. При сбросе или включении дисплей сам заполняет первый ряд квадратами. Покрутив контрастность нужно добиться,чтобы первый и второй ряд заметно различались. Здесь либа, которая работает даже с тинькой: http://playground.arduino.cc/uploads/Code/LiquidCrystal_I2C_85V1.zip

Marky
Offline
Зарегистрирован: 31.08.2016

Для перестраховки начал делать все сначала

Провел ic2_scan - адрес тот же - 27

Взял новую либу

JasKo пишет:

Я использую вот эту библиотеку https://github.com/marcoschwartz/LiquidCrystal_I2C

работает нормально.

Еще рекомендовал бы проверить дисплей в работе без адаптера и адаптер отдельно от дисплея с помощью светодиодов проверить в работе.

Новый скетч

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,20,4);   /* Задаем адрес и размерность дисплея. 
При использовании LCD I2C модуля с дисплеем 20х04 ничего в коде изменять не требуется, cледует только задать правильную размерность */

void setup()
{
  lcd.init();                            // Инициализация lcd             
  lcd.backlight();                       // Включаем подсветку
  // Курсор находится в начале 1 строки
  lcd.print("Hello, world!");            // Выводим текст
  lcd.setCursor(0, 1);                   // Устанавливаем курсор в начало 2 строки
  lcd.print("zelectro.cc");              // Выводим текст
}

void loop()
{
}

Результат - отсутсвие результата.

Решил потом добавить дефайны сверишись с данными на странице продукта

#define BACKLIGHT_PIN  3
#define En_pin  2
#define Rw_pin  1
#define Rs_pin  0
#define D4_pin  4
#define D5_pin  5
#define D6_pin  6
#define D7_pin  7

#define  LED_OFF  1
#define  LED_ON  0

Результат аналогичный

Меняю библиотеку

nik182 пишет:

Здесь либа, которая работает даже с тинькой:http://playground.arduino.cc/uploads/Code/LiquidCrystal_I2C_85V1.zip

Результат тот же.

На дисплее во время работы нет вообще никакого намека на рядки, квадраты итд(экран полностью пустой), может это имеет какое то значение?

enjoyneering
enjoyneering аватар
Offline
Зарегистрирован: 05.09.2016

Попробуте вот эту библиотеку. Писал около месяца, только вчера закончил тестировать выложил на Github. По моему скромному мнению это самая лучшая либа в сети для работы с  PCF8575/HD44780U и его клонами.

Будут вопросы пишите.

Marky
Offline
Зарегистрирован: 31.08.2016

enjoyneering пишет:

Попробуте вот эту библиотеку. Писал около месяца, только вчера закончил тестировать выложил на Github. По моему скромному мнению это самая лучшая либа в сети для работы с  PCF8575/HD44780U и его клонами.

Будут вопросы пишите.

Естественно, грех было не попробовать и вашу библиотеку. С начала без дефайнов, потом с ними, одиноково вообще ничего не работает.

Меня вообще реально смущает отсутствие любых признаков жизни на дисплее кроме подсветки. Думаю все таки стоит попробовать без i2c переходника подключить, хотя думаю это вряд ли изменит фронт событий. Единственное почему я этого все еще не сделал, только потому что меня отталкивает перспектива паяния 16 проводков, если я могу присобачить 4

AlexZZZ
Offline
Зарегистрирован: 22.07.2016

зачем 16.? 

2 - питание (из них прямо на плате организуем контраст);

2 - управление (EN & RS) RW=GND;

4 - биты данных;

0 - подсветка при проверке в данном случае и не нужна.

итого 8 проводов - всего лишь чуть больше чем 4 :)

ВН
Offline
Зарегистрирован: 25.02.2016

Marky пишет:
На дисплее во время работы нет вообще никакого намека на рядки, квадраты итд(экран полностью пустой), может это имеет какое то значение? 

регулировку контрастности на модуле крутили и ни каких прямоугольничков, т.е. совсем?

см. тему "Не выводятся символы на дисплей " и картинку в первом посте

 

 

enjoyneering
enjoyneering аватар
Offline
Зарегистрирован: 05.09.2016

Marky пишет:

Естественно, грех было не попробовать и вашу библиотеку. С начала без дефайнов, потом с ними, одиноково вообще ничего не работает.

Меня вообще реально смущает отсутствие любых признаков жизни на дисплее кроме подсветки.

библиотека 100% рабочая. сегодня писал о ней на arduino.cc Народ ставил, все работает. проверте контраст и напряжение питания. Бывает от USB не хватает. Запитайте от внешнего и сточника и опять покрутите контраст.

slider
Offline
Зарегистрирован: 17.06.2014

enjoyneering пишет:

Marky пишет:

Естественно, грех было не попробовать и вашу библиотеку. С начала без дефайнов, потом с ними, одиноково вообще ничего не работает.

Меня вообще реально смущает отсутствие любых признаков жизни на дисплее кроме подсветки.

библиотека 100% рабочая. сегодня писал о ней на arduino.cc Народ ставил, все работает. проверте контраст и напряжение питания. Бывает от USB не хватает. Запитайте от внешнего и сточника и опять покрутите контраст.

да скорее дисп или переходник неисправен. такое крайне редко, но бывает. Т.С. ещё ниразу не выложил фото, подсвечиваются ли вообще знакоместа на индикаторе, при крайнем положении резистора контрастности.

ВН пишет:

странные пины упоминаются + странная библиотека .... че тогда удивляться, если и дальше,  "Все страньше и страньше!" 

это комуто попались переходники с перепутанными ножками  http://arduino.ru/forum/programmirovanie/arduino-pro-mini-lcd-20x4-s-i2c-interfeisom#comment-75578

enjoyneering
enjoyneering аватар
Offline
Зарегистрирован: 05.09.2016

моя библиотека работает с нестандартными переходниками (перепутанными ножками).

LiquidCrystal_I2C lcd(PCF8574_ADDR_A21_A11_A01, 4, 5, 6, 16, 11, 12, 13, 14, POSITIVE);

где 4 пин LCD поключен к P0 порту (4 ноге) PCF8574, 5 пин LCD поключен к P1 порту (5 ноге) PCF8574, пин LCD поключен к P2 порту (6 ноге) PCF857416 пин LCD поключен к P3 порту (7 ноге) PCF8574 и тд.

вам надо "прозвонить" и узнать каим портам подключены пины LCD и записать их в последовательности

LiquidCrystal_I2C lcd(PCF8574_ADDR_A21_A11_A01, P0, P1, P2, P3, P4, P5, P6, P7, POSITIVE);

 

вот тут подробнее расписал

Marky
Offline
Зарегистрирован: 31.08.2016

ВН пишет:

регулировку контрастности на модуле крутили и ни каких прямоугольничков, т.е. совсем?

см. тему "Не выводятся символы на дисплей " и картинку в первом посте

slider пишет:

да скорее дисп или переходник неисправен. такое крайне редко, но бывает. Т.С. ещё ниразу не выложил фото, подсвечиваются ли вообще знакоместа на индикаторе, при крайнем положении резистора контрастности.

В том то и дело что никаких и намёков на знакоместа нет(фото http://goo.gl/yb55jg). Так потому я думаю, что и прозванивать смысла нет

ptr
Offline
Зарегистрирован: 28.05.2016

enjoyneering пишет:

это самая лучшая либа в сети

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

Так что да здравствуют много либ, хороших и разных )

 

ВН
Offline
Зарегистрирован: 25.02.2016

ээээ...., Marky, посмотри что там делается на управлении контрастом, если потребуется  отруби контраст модуля и прицепи внешний, там вроде 1 подстроечник всего и есть. 

Marky
Offline
Зарегистрирован: 31.08.2016

ВН пишет:

ээээ...., Marky, посмотри что там делается на управлении контрастом, если потребуется  отруби контраст модуля и прицепи внешний, там вроде 1 подстроечник всего и есть. 

Что конкретно я должен увидеть на нем?

P.S.

Нету лишнего потенциометра, можно его напрямую подключить?

ВН
Offline
Зарегистрирован: 25.02.2016

пин V0, когда крутишь резистор подстройки, смотри как меняется на нем напряжение.

Если меняется, то дорожку по возможности на целостность проверить от пина к дисплею  

enjoyneering
enjoyneering аватар
Offline
Зарегистрирован: 05.09.2016

Marky пишет:

Так потому я думаю, что и прозванивать смысла нет

с таким подходом, к поиску проблемы вы далеко не продвинитесь

Marky
Offline
Зарегистрирован: 31.08.2016

ВН пишет:

пин V0, когда крутишь резистор подстройки, смотри как меняется на нем напряжение.

Если меняется, то дорожку по возможности на целостность проверить от пина к дисплею  

Нашел наконец мультиметр. Во всех позициях потенциометра было 2.6 В. Снаружи дорожки выглядят адекватно с видимой стороны

Marky
Offline
Зарегистрирован: 31.08.2016

enjoyneering пишет:

с таким подходом, к поиску проблемы вы далеко не продвинитесь

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

ВН
Offline
Зарегистрирован: 25.02.2016

Marky пишет:
Нашел наконец мультиметр. Во всех позициях потенциометра было 2.6 В. Снаружи дорожки выглядят адекватно с видимой стороны

т.е. или потенциометр бракованый, или какие-то другие проблемы со схемой. Возможно плата И2С слишком прижата к основной плате дисплея и куда-то там коротит. 

включил у себя аналогичный дисплей ( только питание), на V0 около 1В, квадратики четко видны в двух строках.

Дальше. Проверить зазор между платами, засунуть туда изолирующую прокладку. Проверить.

Если ничего не поменялось, то или менять потенциометр, или ствить делитель, или менять модуль(и).

 

Marky
Offline
Зарегистрирован: 31.08.2016

ВН пишет:

т.е. или потенциометр бракованый, или какие-то другие проблемы со схемой. Возможно плата И2С слишком прижата к основной плате дисплея и куда-то там коротит. 

включил у себя аналогичный дисплей ( только питание), на V0 около 1В, квадратики четко видны в двух строках.

Дальше. Проверить зазор между платами, засунуть туда изолирующую прокладку. Проверить.

Если ничего не поменялось, то или менять потенциометр, или ствить делитель, или менять модуль(и).

Решил начать с потенциометра. Пока пытался его отпаять он расплавился нафиг и я его оторвал. Под ним три контакта, думаю заменить его резистором перед этим подобрав нужный. Но у резистора то два контакта, помогите со схемой подключения пожалуйста

ВН
Offline
Зарегистрирован: 25.02.2016

надо 2 резистора,  первый резистор   на "землю" и V0 может быть от  200 Ом до 4 кОм, а второй на +5 и V0,  должен быть примерно  в четыре раза больше первого

Marky
Offline
Зарегистрирован: 31.08.2016

ВН пишет:

надо 2 резистора,  первый резистор   на "землю" и V0 может быть от  200 Ом до 4 кОм, а второй на +5 и V0,  должен быть примерно  в четыре раза больше первого

Знать бы еще какой пин куда ведет http://goo.gl/O5sVT3

Joiner
Offline
Зарегистрирован: 04.09.2014

Marky пишет:

ВН пишет:

надо 2 резистора,  первый резистор   на "землю" и V0 может быть от  200 Ом до 4 кОм, а второй на +5 и V0,  должен быть примерно  в четыре раза больше первого

Знать бы еще какой пин куда ведет http://goo.gl/O5sVT3

Посмотрите вот это, может поможет...по крайней мере работоспособность можно проверить

https://www.youtube.com/watch?v=jgesIr0MFoY

Marky
Offline
Зарегистрирован: 31.08.2016

Господа, я пал жертвой какого-то массового сговора против меня)
Перед тем как была выявлена проблема с поценциометром я заказал другой i2c адаптер на ебее http://www.ebay.com/itm/130748113121?_trksid=p2060353.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT

Сегодня он пришел, и я тут же кинулся проверять... абсолютно та же фигня, на пинах при подстройке потенциометра стабильно 3.6В.

Так же, в новой шине потенциометр вообще не имеет ни одного предела кручения(в любую сторону можно крутить бесконечно)

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

сколько оборотов ты делаешь при герулировке

Marky
Offline
Зарегистрирован: 31.08.2016

Сделал штук 10 и туда и обратно для подстраховки

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

Marky пишет:

Сделал штук 10 и туда и обратно для подстраховки

мультиметр купить не пробовал?

Marky
Offline
Зарегистрирован: 31.08.2016

Я по твоему на пальцах точные значения отмеряю?

Marky
Offline
Зарегистрирован: 31.08.2016

Такссс, приехали потенциометры. Печально то, что тот что был я где то потерял. Может кто подсказать какой мне поставить? Номиналы есть 500 Ом, 1, 2, 5, 10, 20, 50, 100, 200 кОм, 1 МОм.

JasKo
Offline
Зарегистрирован: 21.11.2015

10 ком

 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

История - леденящая душу!

...

А если не ерничать, то скорее всего просто плохая пайка. Проверьте свой дисплей без I2C, Вам уже это советовали.