помощь в библиотеке HX1230_FB

Ulliss
Offline
Зарегистрирован: 16.09.2019
Есть библиотека HX1230_FB для дисплея. 

https://github.com/cbm80amiga/HX1230_FB

Никак не могу задействовать из нее функцию отключения подсветки и собственно экрана (для экономии энергии)

может кто сталкивался с этим? прошу подсказать.

даже на маленьком примере не срабатывает=(

подключение, как рекомендует автор.

/*
  HX1230 96x68 LCD connections (header on bottom, from left):
  #1 RST - D6 or any digital
  #2 CE  - D7 or any digital
  #3 N/C
  #4 DIN - D11/MOSI 
  #5 CLK - D13/SCK
  #6 VCC - 3V3
  #7 BL  - 3V3 or 8 digital 
  #8 GND - GND
*/

#define LCD_RST 6
#define LCD_CS  7
#define LCD_BL  8

#include <HX1230_FB.h>
#include <SPI.h>
HX1230_FB lcd(LCD_RST, LCD_CS);
#include "chicago_font.h"

void setup() {
pinMode(LCD_BL, OUTPUT);
digitalWrite(LCD_BL, HIGH);
lcd.init();
}

void loop() {  
  lcd.setFont(Chicago21x18);
  lcd.printStr(ALIGN_LEFT, 2, "TEST");
  lcd.display();  
  lcd.cls();
  delay (2000);

//lcd.sleep(HX1230_POWER_OFF); //и так пробовал. тут только изображение пропадает, но подсветка горит
//lcd.sleep(HX1230_DISPLAY_OFF); //и так пробовал. тут только изображение пропадает
lcd.displayOn(HX1230_DISPLAY_OFF); //и так пробовал. вообще ничего не происходит
//lcd.displayOn(HX1230_POWER_OFF); //и так пробовал. вообще ничего не происходит
//lcd.displayMode(HX1230_DISPLAY_OFF);  //и так пробовал. тут только изображение пропадает, но подсветка горит
//lcd.displayMode(HX1230_POWER_OFF); //и так пробовал. в этом варианте только моргает изображение один раз, но подсветка горит
delay (2000);             
}

 

Ulliss
Offline
Зарегистрирован: 16.09.2019

УПС, а куда текст исчез?

еще раз:

Есть библиотека HX_1230_FB для дисплея.

Никак не могу задействовать из нее функцию отключения подсветки и собственно экрана (для экономии энергии)

может кто сталкивался с этим? прошу подсказать.

даже на маленьком примере не срабатывает=(

подключение, как рекомендует автор.

/*
  HX1230 96x68 LCD connections (header on bottom, from left):
  #1 RST - D6 or any digital
  #2 CE  - D7 or any digital
  #3 N/C
  #4 DIN - D11/MOSI 
  #5 CLK - D13/SCK
  #6 VCC - 3V3
  #7 BL  - 3V3 or 8 digital 
  #8 GND - GND
*/

#define LCD_RST 6
#define LCD_CS  7
#define LCD_BL  8

#include <HX1230_FB.h>
#include <SPI.h>
HX1230_FB lcd(LCD_RST, LCD_CS);
#include "chicago_font.h"

void setup() {
pinMode(LCD_BL, OUTPUT);
digitalWrite(LCD_BL, HIGH);
lcd.init();
}

void loop() {  
  lcd.setFont(Chicago21x18);
  lcd.printStr(ALIGN_LEFT, 2, "TEST");
  lcd.display();  
  lcd.cls();
  delay (2000);

//lcd.sleep(HX1230_POWER_OFF); //и так пробовал. тут только изображение пропадает, но подсветка горит
//lcd.sleep(HX1230_DISPLAY_OFF); //и так пробовал. тут только изображение пропадает
lcd.displayOn(HX1230_DISPLAY_OFF); //и так пробовал. вообще ничего не происходит
//lcd.displayOn(HX1230_POWER_OFF); //и так пробовал. вообще ничего не происходит
//lcd.displayMode(HX1230_DISPLAY_OFF);  //и так пробовал. тут только изображение пропадает, но подсветка горит
//lcd.displayMode(HX1230_POWER_OFF); //и так пробовал. в этом варианте только моргает изображение один раз, но подсветка горит
delay (2000);             
}

 

Zummer
Offline
Зарегистрирован: 25.11.2019

Подсветка отдельный вывод  на индикаторе BL,добавьте

digitalWrite(LCD_BL, LOW);

 

sadman41
Offline
Зарегистрирован: 19.10.2016

В демке так же предлагается засадить BL на PWM-пин.

И учтите, что: #7 BL - 3V3 or any digital via resistor

Ulliss
Offline
Зарегистрирован: 16.09.2019

Zummer пишет:

Подсветка отдельный вывод  на индикаторе BL,добавьте

digitalWrite(LCD_BL, LOW);

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

Ulliss
Offline
Зарегистрирован: 16.09.2019

sadman41 пишет:

В демке так же предлагается засадить BL на PWM-пин.

И учтите, что: #7 BL - 3V3 or any digital via resistor

так я и сажаю на 8ой пин.

вот же в 15ой строке

15#define LCD_BL  8

 

23 pinMode(LCD_BL, OUTPUT);
24 digitalWrite(LCD_BL, HIGH);

 

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016
digitalWrite(LCD_BL, LOW);//<-- экран погаснет

 

Ulliss
Offline
Зарегистрирован: 16.09.2019

qwone пишет:

digitalWrite(LCD_BL, LOW);//<-- экран погаснет

 

Но питание то не отключится при этом.=(

Вот же в библиотеке есть команды. Почему-то не срабатывают....

// ----------------------------------------------------------------
void HX1230_FB::displayOn(bool mode)
{
  CS_ACTIVE;
  sendCmd(mode ? HX1230_DISPLAY_ON : HX1230_DISPLAY_OFF);
  CS_IDLE;
}
// ----------------------------------------------------------------
// val=HX1230_POWER_ON, HX1230_POWER_OFF, HX1230_DISPLAY_NORMAL, HX1230_DISPLAY_TEST
//     HX1230_INVERT_OFF, HX1230_INVERT_ON, HX1230_DISPLAY_ON, HX1230_DISPLAY_OFF
void HX1230_FB::displayMode(byte val)
{
  CS_ACTIVE;
  sendCmd(val);
  CS_IDLE;
}

 

sadman41
Offline
Зарегистрирован: 19.10.2016

Ну, ёпрст. Делай displayOff() и следом за ним - гаси пином подсветку.

Zummer
Offline
Зарегистрирован: 25.11.2019

Ulliss пишет:

qwone пишет:

digitalWrite(LCD_BL, LOW);//<-- экран погаснет

 

Но питание то не отключится при этом.=(

Вот же в библиотеке есть команды. Почему-то не срабатывают....

// ----------------------------------------------------------------
void HX1230_FB::displayOn(bool mode)
{
  CS_ACTIVE;
  sendCmd(mode ? HX1230_DISPLAY_ON : HX1230_DISPLAY_OFF);
  CS_IDLE;
}
// ----------------------------------------------------------------
// val=HX1230_POWER_ON, HX1230_POWER_OFF, HX1230_DISPLAY_NORMAL, HX1230_DISPLAY_TEST
//     HX1230_INVERT_OFF, HX1230_INVERT_ON, HX1230_DISPLAY_ON, HX1230_DISPLAY_OFF
void HX1230_FB::displayMode(byte val)
{
  CS_ACTIVE;
  sendCmd(val);
  CS_IDLE;
}

 

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

Чтоб питание отключалось СОВСЕМ ставьте ключ по питанию