ARDUINO Вопрос по библиотеке для Nokia 5110

EandV

★★★✩✩✩✩
4 Авг 2018
270
131
Всем привет!

Для экрана Nokia 5110 использую библиотеки:

#include <Adafruit_GFX_rus.h>
#include <Adafruit_PCD8544_rus.h>

Есть там команда display.begin() - инициализация дисплея

Существует ли команда, чтобы программно выключить дисплей? Обратная display.begin().

Вопрос связан с энергосбережением. Когда экран просто подключен и код еще не отработал команду display.begin() - энергопотребление экрана практически нулевое. Как только экран инициализировался потребляемый ток увеличился на 20-25мА.

Хочу с помощью кода включать и выключать дисплей в нужные моменты для энергосбережения.
 
Последнее редактирование:
Всем привет!

Для экрана Nokia 5110 использую библиотеки:

#include <Adafruit_GFX_rus.h>
#include <Adafruit_PCD8544_rus.h>

Есть там команда display.begin() - инициализация дисплея

Существует ли команда, чтобы программно выключить дисплей? Обратная display.begin().

Вопрос связан с энергосбережением. Когда экран просто подключен и код еще не отработал команду display.begin() - энергопотребление экрана практически нулевое. Как только экран инициализировался потребляемый ток увеличился на 20-25мА.

Хочу с помощью кода включать и выключать дисплей в нужные моменты для энергосбережения.
Может быть можно подать сигнал на Reset Экрана. С экраном таким не работал
 
  • Лойс +1
Реакции: EandV

Wan-Derer

★★★★✩✩✩
Команда форума
31 Июл 2018
1,440
281
Москва
wan-derer.ru
@EandV, где-то в недрах библиотеки, скорее всего, в файле .h должны быть представлены все её вызовы. Ищи по названию известных тебе функций и далее по аналогии.
 
  • Лойс +1
Реакции: Aquatic_Ivan и EandV

EandV

★★★✩✩✩✩
4 Авг 2018
270
131
@Aquatic_Ivan, @Wan-Derer, Вы оба в чем-то оказались правы. Благодаря этому смог найти решение, спасибо!

Залез в библиотеку, отдельной команды на отключение не нашел, но понял, что display.begin() по сути прописывает pinMode и подает LOW и HIGH на пины дисплея. Пробовал подавать LOW на RST при этом изображение исчезает, но дисплей почему-то жрет 5 мА. В итоге подал на все пины LOW и всё норм, даже ток на пине VCC исчез. Повторно можно включить повторив команду display.begin().
Теперь мое устройство будет потреблять в режиме ожидания 5мА вместо 30мА !!
 
  • Лойс +1
Реакции: Wan-Derer и Aquatic_Ivan

IgnatiyOS

✩✩✩✩✩✩✩
2 Апр 2019
6
0
enableSleep() - переводит экран в спящий режим;
disableSleep() - выводит экран из спящего режима;
попробуй использовать эти возможности библиотеки
 

EandV

★★★✩✩✩✩
4 Авг 2018
270
131
@IgnatiyOS, Недавно аналогичный вопрос возник вот по такому дисплею:

OLED.JPG

Библиотека OLED L2C

Случайно не знаете, как перевести в спящий режим и вывести обратно?

Пока просто тупо отключаю минус через Мосфет, а потом заново инициализирую.
 

IgnatiyOS

✩✩✩✩✩✩✩
2 Апр 2019
6
0
@IgnatiyOS, Недавно аналогичный вопрос возник вот по такому дисплею:

Посмотреть вложение 2993

Библиотека OLED L2C

Случайно не знаете, как перевести в спящий режим и вывести обратно?

Пока просто тупо отключаю минус через Мосфет, а потом заново инициализирую.

можно юзать вот эти параметры:)

oledCommand(0xAE); - выключение дисплея
oledCommand(0xAF); - включение

я давно еще делал на таком дисплее проект небольшой.. делал таймер на выключение и при выводе информации на дисплей пробуждение
 

EandV

★★★✩✩✩✩
4 Авг 2018
270
131
можно юзать вот эти параметры:)

oledCommand(0xAE); - выключение дисплея
oledCommand(0xAF); - включение

я давно еще делал на таком дисплее проект небольшой.. делал таймер на выключение и при выводе информации на дисплей пробуждение
А можно пример скетча и библиотеки? когда в свой код вставлю, команда не распознается

C++:
#include <iarduino_OLED_txt.h>                             // Подключаем библиотеку iarduino_OLED_txt.
iarduino_OLED_txt myOLED(0x3C);
extern uint8_t MediumFontRus[]; // Подключаем шрифт MediumFontRus.
                          //
void setup(){                                              //
      
}                                                          //
void loop(){
  myOLED.begin();                                        // Инициируем работу с дисплеем.
    myOLED.setFont(MediumFontRus);                          // Указываем шрифт который требуется использовать для вывода цифр и текста.
                                        
    myOLED.print("Всем", OLED_C, 2);       
                                    
    myOLED.print("Привет!", OLED_C, 5);
   oledCommand(0xAF);
delay(3000);
     oledCommand(0xAF);
myOLED.print("Привет!", OLED_C, 5);
    
  }
 

IgnatiyOS

✩✩✩✩✩✩✩
2 Апр 2019
6
0
работать будет с Wire.h или OLED_I2C.h , выключение и включение делал на таймер, еще когда учился, проект затерялся уже давным давно:) учили пользоваться даташитами, так что можно сказать эти команды из даташита) когда напрямую обращаешься к адресу в память контроллера дисплея
 

EandV

★★★✩✩✩✩
4 Авг 2018
270
131
работать будет с Wire.h или OLED_I2C.h , выключение и включение делал на таймер, еще когда учился, проект затерялся уже давным давно:) учили пользоваться даташитами, так что можно сказать эти команды из даташита) когда напрямую обращаешься к адресу в память контроллера дисплея
Понял, у меня походу вообще другая библиотека: iarduino_OLED_txt.h