Например TDA7294

Форум РадиоКот • Просмотр темы - Монитор погоды на ESP32 и дисплее Nextion
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Вс ноя 16, 2025 20:13:13

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 1549 ]     ... , , , , 78
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Монитор погоды на ESP32 и дисплее Nextion
СообщениеДобавлено: Пн окт 27, 2025 09:59:14 
Открыл глаза
Аватар пользователя

Карма: -6
Рейтинг сообщений: -1
Зарегистрирован: Ср июн 18, 2025 07:20:55
Сообщений: 64
Рейтинг сообщения: 0
размер шрифта 5*8, можно было бы набирать массив сообщения столбцами, точки и двоеточия до 2х сократить.
но в драйвер отправляеца строка а не столбец. двигать строки на произвольное число бит крайне неприятно.
в адафруктовской бибилиотеке оперируют массивом байтов, но это занадто жырно.

посмотрел как сделано в соседней теме
Код:
        scr1[0 + 24-bufAddr].bit_data.bit0 = scr[7 + bufAddr].bit_data.bit0;   // побитно копируем в ячейки(биты) масива scr1 - биты масива ячейк scr
        scr1[1 + 24-bufAddr].bit_data.bit0 = scr[7 + bufAddr].bit_data.bit1;   // фактически в болке сегмета 8х8 мы делаем поворт на 90* по часовой стрелке
        scr1[2 + 24-bufAddr].bit_data.bit0 = scr[7 + bufAddr].bit_data.bit2;   // и так для всех 4-х сегментов
        scr1[3 + 24-bufAddr].bit_data.bit0 = scr[7 + bufAddr].bit_data.bit3;
        scr1[4 + 24-bufAddr].bit_data.bit0 = scr[7 + bufAddr].bit_data.bit4;
        scr1[5 + 24-bufAddr].bit_data.bit0 = scr[7 + bufAddr].bit_data.bit5;
        scr1[6 + 24-bufAddr].bit_data.bit0 = scr[7 + bufAddr].bit_data.bit6;
        scr1[7 + 24-bufAddr].bit_data.bit0 = scr[7 + bufAddr].bit_data.bit7;


видимо так и буду делать.

_________________
глаза баяца, руки из жопы, но я не здаюсь


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Монитор погоды на ESP32 и дисплее Nextion
СообщениеДобавлено: Пт окт 31, 2025 11:34:13 
Открыл глаза
Аватар пользователя

Карма: -6
Рейтинг сообщений: -1
Зарегистрирован: Ср июн 18, 2025 07:20:55
Сообщений: 64
Рейтинг сообщения: 0
Изображение

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

в fonts.hpp добавил таблицу символов
Код:
uint8_t  font_matrix7219[] = {
    0x7e, 0x81, 0x81, 0x81, 0x7e, //0x00 0
    0x84, 0x82, 0xff, 0x80, 0x80, //0x01 1
    0x82, 0xc1, 0xa1, 0x91, 0x8e, //0x02 2
    0x42, 0x81, 0x89, 0x89, 0x76, //0x03 3
    0x30, 0x28, 0x24, 0x22, 0xff, //0x04 4
    0x4f, 0x89, 0x89, 0x89, 0x71, //0x05 5
    0x7e, 0x89, 0x89, 0x89, 0x72, //0x06 6
    0x01, 0xe1, 0x11, 0x09, 0x07, //0x07 7
    0x76, 0x89, 0x89, 0x89, 0x76, //0x08 8
    0x4e, 0x91, 0x91, 0x91, 0x7e, //0x09 9
    0x06, 0x09, 0x09, 0x06, 0x00, //0x0A °
    0xfc, 0x12, 0x11, 0x12, 0xfc, //0x0B A
    0xff, 0x09, 0x09, 0x09, 0x06, //0x0C P
    0x7e, 0x81, 0x81, 0x81, 0x42, //0x0D C
    0xff, 0x08, 0x08, 0x08, 0xff, //0x0E H
    0x00, 0x00, 0x00, 0x00, 0x00, //0x0F space
    0x08, 0x08, 0x08, 0x08, 0x08, //0x10 -
   0x66, 0x66, 0x00, 0x00, 0x00, //0x11 :
   0x60, 0x60, 0x00, 0x00, 0x00, //0x12 .
   0x80, 0xe0, 0x60, 0x00, 0x00, //0x13 ,
   0x54, 0x14, 0x64, 0x08, 0x70  //0x14 wifi
};


на основе max7219segmentDisplay.hpp сделал вывод на матрицу
1. строка 21 - увеличил выходной массив
Код:
 #define NUMBER_OF_DEVICES 8 //number of led matrix connect in series

        uint8_t _mpixels[NUMBER_OF_DEVICES*8] = {0, };   //kolkasts stalbtsou
        uint8_t _rpixels[NUMBER_OF_DEVICES*8] = {0, };   //kolkasts strok
        uint8_t _mpixelsPrev[NUMBER_OF_DEVICES*8] = {0, };


2. void MAX7219_S::_print()
на каждый символ добавляеца по 5 столбцов изображэния, потом пробел и если нужно двоеточие (3 столбца)
Код:
    for(uint8_t i=0,n=0; i<8; i++) {
    int symvol ;
        if(_dispImg[i] >= 100) symvol = (_dispImg[i] - 100 );
        else                symvol = _dispImg[i];
   
      for(uint8_t j=0; j<5; j++) {
         _mpixels[n++]=font_matrix7219[symvol*5+j];
      };
      
      _mpixels[n++]=font_matrix7219[0x0F*5];      // add space
      
      if(_dispImg[i] >= 100) {               // if :
         for(uint8_t j=0; j<3; j++) {
         _mpixels[n++]=font_matrix7219[0x11*5+j];// add :
         };
      }

        if(_mpixelsPrev[i] != _mpixels[i]) {
            _mpixelsPrev[i] = _mpixels[i];
            updated = true;
        }
    }


3. получиную матрицу надо повернуть, добавил функцыю:
Код:
void  MAX7219_M::rotatematrix()
{
   for(int8_t n=0; n<_dispNum; n++) {
      for(int8_t row=0; row<8; row++) {
         uint8_t rotate=0;
            for(int8_t col=7; col>=0; col--) {
            rotate = rotate<<1;
            rotate |= (1UL&(_mpixels[n*8 + col]>>row));
            };
            _rpixels[n*8 +7 - row]=rotate;
         }
      }
}


4. вывод в матрицу получился такой
Код:
void MAX7219_M::sendALLByte () {
    for(uint8_t row=MAX7219_REG_DIGIT7; row>=MAX7219_REG_DIGIT0; row--) {
      digitalWrite(_load,LOW);
      // now shift out the data
      for(int8_t i=NUMBER_OF_DEVICES; i>=0; i--) {
         SPI.transfer16((row<<8) +_rpixels[i*8 + row-1]);
         }
      digitalWrite(_load, HIGH);
    }
}

_________________
глаза баяца, руки из жопы, но я не здаюсь


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Монитор погоды на ESP32 и дисплее Nextion
СообщениеДобавлено: Вт ноя 04, 2025 07:05:31 
Открыл глаза
Аватар пользователя

Карма: -6
Рейтинг сообщений: -1
Зарегистрирован: Ср июн 18, 2025 07:20:55
Сообщений: 64
Рейтинг сообщения: 0
перенес код в основной проект, эфекты анимацыи отрабатывают, один только глюк - остаёца мусор в последнеи модуле экрана изза того что итоговое изображэние разной длинны, надо пробелом добивать до конца экрана

_________________
глаза баяца, руки из жопы, но я не здаюсь


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Монитор погоды на ESP32 и дисплее Nextion
СообщениеДобавлено: Пт ноя 07, 2025 11:55:55 
Родился

Зарегистрирован: Сб ноя 21, 2015 20:51:31
Сообщений: 18
Рейтинг сообщения: 0
Здравствуйте , давно хотел собрать подобную конструкцию , вот решил , прочитал все 78 страниц , но есть несколько вопросов ответы на которые не нашел или пропустил , подскажите пожалуйста , 1) разъем WS2812 и светодиод WS2812 на плате это для выносного дисплея на светодиодах , и если я его не буду подключать то мне эти компоненты не нужны ? 2) кнопки дисплей 1 , дисплей 2 , аларм для чего нужны , и нужны ли они ? 3)кнопки которые на есп32 нужно выводить наружу корпуса ? и 4) питание датчиков , DFPlayer , нс-12 и часы , 3,3 в подключать к стабилизатору есп32 или отдельно делать ? 5) все устройство питается через разъем есп32 ? дисплей будет ili9341 3.2 с тачем . СПАСИБО !


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Монитор погоды на ESP32 и дисплее Nextion
СообщениеДобавлено: Пт ноя 07, 2025 23:59:42 
Электрический кот
Аватар пользователя

Карма: 17
Рейтинг сообщений: 190
Зарегистрирован: Ср фев 15, 2017 22:37:11
Сообщений: 1059
Рейтинг сообщения: 0
1. Разъем WS2812 и светодиод WS2812 нужны только для выносного дисплея на светодиодах, можете не устанавливать.
2. Эти кнопки включают/выключают дисплеи и будильник, можете не устанавливать.
3. Наружу корпуса выводить кнопки не обязательно, но для удобства пользования все-таки лучше вывести.
4. Все питается от модуля esp32
5. Все питается от модуля esp32

Если посмотреть внимательно схему и вдумчиво прочитать статью, то все эти вопросы там уже отвечены. Там даже написано, что достаточно подключить дисплей к esp32, все остальное необязательно...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Монитор погоды на ESP32 и дисплее Nextion
СообщениеДобавлено: Сб ноя 08, 2025 00:27:34 
Нашел транзистор. Понюхал.

Карма: 2
Рейтинг сообщений: 27
Зарегистрирован: Ср ноя 04, 2009 22:42:45
Сообщений: 188
Рейтинг сообщения: 0
Нежданчик вот такой :)
элементы АААА из вартовской кроны
(внимание на полярность)
Изображение
мой вариант
Изображение Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Монитор погоды на ESP32 и дисплее Nextion
СообщениеДобавлено: Сб ноя 08, 2025 10:36:28 
Родился

Зарегистрирован: Сб ноя 21, 2015 20:51:31
Сообщений: 18
Рейтинг сообщения: 0
1. Разъем WS2812 и светодиод WS2812 нужны только для выносного дисплея на светодиодах, можете не устанавливать.
2. Эти кнопки включают/выключают дисплеи и будильник, можете не устанавливать.
3. Наружу корпуса выводить кнопки не обязательно, но для удобства пользования все-таки лучше вывести.
4. Все питается от модуля esp32
5. Все питается от модуля esp32

Если посмотреть внимательно схему и вдумчиво прочитать статью, то все эти вопросы там уже отвечены. Там даже написано, что достаточно подключить дисплей к esp32, все остальное необязательно...


Спасибо большое , все заказал придет буду собирать .


Вернуться наверх
 
В сети
 Заголовок сообщения: Re: Монитор погоды на ESP32 и дисплее Nextion
СообщениеДобавлено: Сб ноя 15, 2025 07:33:39 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 8
Рейтинг сообщений: 204
Зарегистрирован: Вт фев 21, 2017 18:59:21
Сообщений: 2253
Откуда: Седой Урал
Рейтинг сообщения: 0
himikat123, привет! Нет в планах использование дисплея на базе tft_480_320_ILI9488 ? Спасибо!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Монитор погоды на ESP32 и дисплее Nextion
СообщениеДобавлено: Вс ноя 16, 2025 09:54:36 
Электрический кот
Аватар пользователя

Карма: 17
Рейтинг сообщений: 190
Зарегистрирован: Ср фев 15, 2017 22:37:11
Сообщений: 1059
Рейтинг сообщения: 0
samand587, привет! Нет таких планов. Вообще нет планов добавлять поддержку дисплеев которых у меня нет


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 1549 ]     ... , , , , 78

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 35


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y