Прошу помочь с i2c display модулем

lobster
Offline
Зарегистрирован: 05.08.2014

День добрый, использую набор makerduino, пробую подключить eb-l2c lcd модуль и ничего не выходит.

Во первых у экрана не загорается подстветка

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

Один из многочисленных примеров пробуемого кода (сканером выяснил, что дисплей висит по адресу 0x20)

//DFRobot.com
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x20,16,2);  // set the LCD address to 0x27 for a 16 chars and 2 line display

void setup()
{
  lcd.init();                      // initialize the lcd 
 
  // Print a message to the LCD.
  lcd.backlight();
  lcd.print("Hello, world!");
}

void loop()
{
}

Соотвестенно, чтобы я не загружал, на подсветку экрана это никак не повлияло (как собственно и на вывод хоть чего-то на экран). Как думаете, куда стоит копать? Спасибо.

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

Если модуль исправный, то версии библиотеки надо подбирать. Здесь есть тема по этому поводу "i2c партизанит" или как-то так.

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

Да. Скорее всего не сооветвует разводка платы библиотеке.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Прочтите внимательно этот пост: http://arduino.ru/forum/programmirovanie/arduino-pro-mini-lcd-20x4-s-i2c...

Radjah
Offline
Зарегистрирован: 06.08.2014

Вот мои опыты по работе с дисплеем http://blog.radjah.ru/2014/08/arduino.html

Вот отсюда я брал инфу http://devdotnet.org/post/2013/04/24/Podkluchenie-displeya-LCD-2004-po-s...

В статье два варианта настроек, но лучше поищи даташит, чтобы точно пины знать.

Бибилотеку из стандартной поставки заменил на эту https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads

 

lobster
Offline
Зарегистрирован: 05.08.2014

Друзья, спасибо за ваши советы, убил кучу времени, перепробывал все указанные варианты, ничего, все глухо. Подсветка не работает, текст не выводится, делаю вывод, что проблема с китайским экраном :-(

Radjah
Offline
Зарегистрирован: 06.08.2014

lobster пишет:

Друзья, спасибо за ваши советы, убил кучу времени, перепробывал все указанные варианты, ничего, все глухо. Подсветка не работает, текст не выводится, делаю вывод, что проблема с китайским экраном :-(

А ссылку на магазин можно?

Leshiy
Offline
Зарегистрирован: 19.07.2014

Обратитесь к продавцу с просьбой предоставить вам рабочую библиотеку и рабочий скетч. У них, как выяснилось, есть такое.

Bomberboy
Offline
Зарегистрирован: 08.07.2013

lobster пишет:

Друзья, спасибо за ваши советы, убил кучу времени, перепробывал все указанные варианты, ничего, все глухо. Подсветка не работает, текст не выводится, делаю вывод, что проблема с китайским экраном :-(

Может для начала дисп проверить?

Подключить по 4 бит, да и дисплей от дф работает у меня уже не один,

ни олного с браком небыло.

lobster
Offline
Зарегистрирован: 05.08.2014

2Radjah

Собственно сам набор: http://www.aliexpress.com/item/FREE-SHIPPING-Advanced-Starter-Electronic-Bricks-Kits-For-Arduino-UNO-R3-BOARD-MODULE-LED-SENSOR-SHIELD/1622595535.html

2Leshiy

Так и сделал, сутки прошли, пока ответ нет.

2Bomberboy

Если подскажите, как подключить по 4 бит буду признателен. В моем наборе не так много вариантов подключений )

Bomberboy
Offline
Зарегистрирован: 08.07.2013

http://arduino.ru/forum/apparatnye-voprosy/problema-s-vyvodom-lcd-1602

это для начала, распиновка в скетче,иц2 преобразователь не подключать.

А  вааще на какой микре переходник иц2?

Надо продовца трясти, переходник запаян на диспе?

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

А я бы для начала удалил Шильд который судя по фото одет. А потом проводил эксперементы.

А вторым шагом подал на экран питание. Что бы хоия бы подсветка заработала. И только потом смотрел в сторону i2c

Radjah
Offline
Зарегистрирован: 06.08.2014

Ноги у дисплея подписаны, так что можно подобрать конфиг, а вот с включение подсветки только перебор вариантов. На моём ноги подписаны не были.

xorkrus
Offline
Зарегистрирован: 22.09.2013

На пальцах. Берете тестер и прозваниваете P0...P7 микрухи-i2c-расширителя

Вам нужны ножки 4 5 6 7 9 10 11 12 (они в таком порядке являются портами P0...P7). Контакты на дисплее подписаны. Потом составляете строчку:

LiquidCrystal_I2C lcd(ADDR,EN,RW,RS,D4,D5,D6,D7,BACKLIGHT POSITIVE);

Где вместо en,rw... подставляете цифру порта (P0...P7) к которому он подключен. К подсветке подключен транзистор и одна из ног идет к порту расширителя.

У меня есть один модуль готовый китайски и он для вашего дисплея будет выглядеть так:

LiquidCrystal_I2C lcd(0x27,4,5,6,0,1,2,3,7 POSITIVE);

Проверяю этим скетчем :)

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define BACKLIGHT_PIN     7
LiquidCrystal_I2C lcd(0x27,4,5,6,0,1,2,3,7, POSITIVE);
////////////////////////////////////////////////////////
int touch = 0;
int touchl = 0;
int rndt = 0;
void setup(){
  attachInterrupt(0, rpm_fan, CHANGE);
  lcd.home();
  lcd.begin(16,2);
  lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
  lcd.setBacklight(HIGH);
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("Prilaskay menya!");
  lcd.setCursor(1,1);
  lcd.print("Ya vsya tvoya!");
  randomSeed(analogRead(0));
}

void loop(){
  if (touchl < touch) {
    if (rndt <= 5) {
      lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("Nezhnee, nezhnee");
  lcd.setCursor(6,1);
  lcd.print("suchka!");
  touch--;
  delay(2000);
    } else if (rndt >= 6) {
      lcd.clear();
    lcd.setCursor(0,0);
  lcd.print("O, da! Da! DA!!!");
  lcd.setCursor(0,1);
  lcd.print(" Lybly tebya :*");
  touch--;
  delay(2000);
    }  
  } else {
  lcd.setCursor(0,0);
  lcd.print("Prilaskay menya!");
  lcd.setCursor(1,1);
  lcd.print("Ya vsya tvoya!");
  delay(1000);
  }
}

void rpm_fan(){
 touchl=touch;
 touch++;
 rndt = random(10);
}

Адрес, тот что 0x20, можно посмотреть в этом даташите на странице 2, слева сверху. Если не понимаете что там про H и L, то просто подставляейте по очереди вместо 20 цифры из двух правых столбцов. Однажды вам повезет.

Про подсветку. Если дисплей заработал, а подсветка нет - поменяйте слово POSITIVE на NEGATIVE.

Библиотека, после правильного указания строки, работает практически любая. Но чтоб наверняка - вот эту возьмите

 

lobster
Offline
Зарегистрирован: 05.08.2014

Связался с продавцом, он дал корректную версию библиотеки и это помогло, все работает.

https://drive.google.com/?authuser=0#folders/0BzxrU4QvH7jENUdVbWpwYUdYbDQ

Еще раз всем спасибо, продолжу собирать T-1000.