Показать сообщение отдельно
Старый 04.12.2016, 20:31   #612
oleg707
Гуру
 
Аватар для oleg707
 
Регистрация: 16.04.2014
Возраст: 39
Город: Gdynia
Регион: другой - для добавления сообщить ab
Сообщений: 2,548
oleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond repute
По умолчанию

Цитата:
Сообщение от Furai2014 Посмотреть сообщение
Разобрался, перечитал здесь https://arduino-info.wikispaces.com/LCD-Blue-I2C.
Оказывается некоторые LCD имеют адрес не 0x27 a 0x3F исправил в скетче все заработало.
Но присутствует проблема которую Вы описывали с пропаданием подсветки
Адрес там j1-j3 выставляется.
то есть подсветка не пропадает через 5 сек после выкл зажигания? Можно еще другую библиотеку попробовать, на которой у меня подсветка не гаснет. С скетче раскомментировать и скачать с гитхаба. Старую закомментить. Там вроде в начале и в сетапе только, остальные команды совпадают.


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

первая - такая, как я сейчас использую в блоке питания.
LiquidCrystal_I2C2004V1.zip <<====то есть эта
PHP код:
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
// написал и проверил лично oleg707 для библиотеки LiquidCrystal_I2C2004V1 
LiquidCrystal_I2C lcd(0x27162);// set the LCD address to 0x27 for a 16 chars and 2 line display

void setup()
{
   
lcd.init();      // initialize the lcd занимает почти секунду
  
  
for(int i 03i++) {
    
lcd.backlight(); 
    
delay(250);
    
lcd.noBacklight(); 
    
delay(250);
  }
  
lcd.backlight();
                



 
lcd.backlight();
 
lcd.noBacklight();
 
// Print a message to the LCD.
  
lcd.backlight();
  
lcd.setCursor(3,0);
  
lcd.print("Hello, world!");
  
lcd.setCursor(0,1);
 
lcd.print("TEST backlight");
 
delay(5000);
}


void loop()
{
  
lcd.clear();
  
lcd.setCursor(00);
  
lcd.print("backlight");
   
lcd.backlight();
     
delay(2500);

     
 
lcd.clear();
  
lcd.setCursor(00);
  
lcd.print("noBacklight");
  
lcd.noBacklight();
     
delay(2500);
}


/*
7 нога ( P3 ) 
масса - подсветка вЫключена
напряжение 0,75 В подсветка включена.

Если физически подать на 7 пин массу проводом, то подсветка тухнет.

Подсветка отлично гаснет\включается соответственно скетчу, на старой библиотеке LiquidCrystal_I2C2004V1


прозваниваю pcf8574t на дисплей

нога pcf8574t - нога дисплея
1 (VSS)
3 ---------- 2 (VDD)
---------- 3(VO) КОНТРАСТНОСТЬ
4 ---------- 4 RS
5 ---------- 5 RW
6 ---------- 6 E
7 ---------- подсветка через транзистор на 16
8 GND ---------- 
9 ---------- 11 D4
10 ---------- 12 D5
11 ---------- 13 D6
12 ---------- 14 D7

*/ 


вторая библиотека и проверочный скетч к ней

LiquidCrystal_I2C-master.zip <<====ЭТА ВТОРАЯ
PHP код:
/******************************************************************************/
/*
  PCF8574 chip uses I2C bus to communicate, 2 pins are required to  
  interface.

  Connect PCF8574 to pins :  SDA     SCL
  Uno, Mini, Pro:            A4      A5
  Mega2560, Due:             20      21
  Leonardo:                  2       3
  ATtiny85:                  0(5)    2/A1(7) (TinyWireM   - https://github.com/SpenceKonde/TinyWireM & ATTinyCore - https://github.com/SpenceKonde/ATTinyCore)
  ESP8266 ESP-xx:            ANY     ANY     (ESP8266Core - https://github.com/esp8266/Arduino)
  NodeMCU 1.0:               ANY     ANY     (D1 & D2 by default)
*/
/******************************************************************************/

// написал и проверил лично oleg707 для библиотеки LiquidCrystal_I2C
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(PCF8574_ADDR_A21_A11_A014561611121314POSITIVE);

void setup()
{

  
lcd.begin(162);
  for(
int i 03i++) {
    
lcd.backlight(); 
    
delay(250);
    
lcd.noBacklight(); 
    
delay(250);
  }
  
lcd.backlight();
                



 
lcd.backlight();
 
lcd.noBacklight();
 
// Print a message to the LCD.
  
lcd.backlight();
  
lcd.setCursor(3,0);
  
lcd.print("Hello, world!");
  
lcd.setCursor(0,1);
 
lcd.print("TEST backlight");
 
delay(5000);
}


void loop()
{
    
lcd.clear();
  
lcd.setCursor(00);
  
lcd.print("backlight");
   
lcd.backlight();
     
delay(2500);

     
 
lcd.clear();
  
lcd.setCursor(00);
  
lcd.print("noBacklight");
  
lcd.noBacklight();
     
delay(2500);
}







/*
7 нога ( P3 ) 
масса - подсветка вЫключена
напряжение 0,75 В подсветка включена.

Если физически подать на 7 пин массу проводом, то подсветка тухнет.

Подсветка отлично гаснет\включается соответственно скетчу, на старой библиотеке LiquidCrystal_I2C2004V1


прозваниваю pcf8574t на дисплей

нога pcf8574t - нога дисплея
1 (VSS)
3 ---------- 2 (VDD)
---------- 3(VO) КОНТРАСТНОСТЬ
4 ---------- 4 RS
5 ---------- 5 RW
6 ---------- 6 E
7 ---------- подсветка через транзистор на 16
8 GND ---------- 
9 ---------- 11 D4
10 ---------- 12 D5
11 ---------- 13 D6
12 ---------- 14 D7

*/ 
Но эта библиотека на БП не тушит экран (хотя отдельно скетч нормально отрабатывает, проблема где-то в void LOOP)

Последний раз редактировалось oleg707; 04.12.2016 в 23:30.
oleg707 вне форума   Ответить с цитированием