LVGL + STM32 + ST7789 Создаем простой проект и подключаем библиотеку. Графический интерфейс.

Sdílet
Vložit
  • čas přidán 21. 04. 2022
  • В видео на простом примере рассказывается о графической библиотеке LVGL. LVGL + STM32 + ST7789 - Графический интерфейс, виджеты и примеры кода.
    Канал в телеграмм - t.me/vladimir_medintsev
    Канал Яндекс.Дзен - zen.yandex.ru/vladimir_medintsev
    Канал на RuTube - rutube.ru/channel/1797552/
    Канал на CZcams - / vladimirmedintsev
    ------------------------------------------
    Если вы хотите поддержать автора канала номер карты Сбер:
    2202-2023-2480-4008
    ------------------------------------------
  • Věda a technologie

Komentáře • 80

  • @VladimirMedintsev
    @VladimirMedintsev  Před 2 lety +7

    Ну и пользуясь случаем может быть кому-то будет нужно декодировать и выводить jpeg на дисплей. Принцип регистрации функций такой же как у lvgl.
    Вот ссылки на библиотеку и описание работы:
    github.com/cbm80amiga/JpgDecoder_STM
    we.easyelectronics.ru/lcd_gfx/biblioteka-dlya-dekodirovaniya-jpeg-na-mk.html
    czcams.com/video/kK9MdP6MZYc/video.html

    • @ajdarseidzade688
      @ajdarseidzade688 Před 2 lety +1

      Спасибо за очень полезные ссылки. А LVGL - точно открытая библиотека? Что-то как-то не верится даже.

  • @Ololoshize
    @Ololoshize Před 2 lety +2

    Рад видеть новые ролики на канале, ставлю вам лайк до просмотра.

  • @norobadalyan6618
    @norobadalyan6618 Před 2 lety +5

    спасибо вам очень интересно

  • @vernnms78
    @vernnms78 Před 2 lety +2

    Красивенько, приятненько! Спасибо Вам за замечательные ролики, которые не только ликбез, но и подают идеи.

  • @RepomanBY
    @RepomanBY Před 2 lety +7

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

    • @NoviSavvy
      @NoviSavvy Před 7 měsíci

      Добрый день! Уже несколько часов пытаюсь её установить. Keil не видит функции lv_disp_flush_ready и lv_tick. И я не могу нигде их найти, уже голову сломал. Не собирается, более 500 ошибок, помогите пожалуйста. Следовал всем инструкциям с их сайта. Половина не очень понятна, куда писать, в какой файл, .c, .h и т.д.

    • @RepomanBY
      @RepomanBY Před 7 měsíci

      должна быть lv_tick_inc. Вы добавили папку lvgl в кейл? Не получается в кейле? Скачайте с официального гитхаба какой-нибудь пример для CubeIDE, посмотрите, как все настроено там

  • @Embedded_Developer
    @Embedded_Developer Před 2 lety +4

    #ЗнанияВмассы.. Спасибо!

  • @user-vx5jq2ts2q
    @user-vx5jq2ts2q Před 2 lety +1

    Великолепно. Давно работал с этой библиотекой (еще с 6 версии), но на esp32 и nrf52. Все никак не найду времени на stm32 с ней поразбираться. И тут прям кстати Ваше видео 🙂 Замотивировался )))

    • @NoviSavvy
      @NoviSavvy Před 7 měsíci

      Доброго времени! У вас получилось?

  • @user-yv3hu3tb2o
    @user-yv3hu3tb2o Před 2 lety +1

    Владимир, спасибо за интересное видео. Пожалуйста снимите видео как при помощи библиотеки LVGL выводить кириллицу.

  • @WorldView777
    @WorldView777 Před 2 lety +1

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

  • @Beatleman91
    @Beatleman91 Před 2 lety +1

    Не убавить не прибавить, хорошее видео для тех, кто ещё не знаком с этой замечательной библиотекой. Единственное - в качестве Input device можно зарегистрировать не только сенсорный экран, но так же энкодер или клавиатуру/кнопки, или любое другое вводное устройство, которое по логике работы схоже с вышеуказанными. Очень удобно, имхо.

    • @anatoliyv5607
      @anatoliyv5607 Před rokem

      а как это сделать в среде Sguare line studio?

  • @MikeNugget
    @MikeNugget Před 2 lety +1

    Было бы очень интересно посмотреть видео на тему обновления версии прошивки на устройстве, в том числе через OTA (over the air).

  • @SevenNightdreemVeryPavlovny

    За пару минут)) с u8g2 разбирался пару дней и то до конца не разобрался) спасибо за информативное видео!

    • @aleksandrgordeev3125
      @aleksandrgordeev3125 Před 2 lety

      Там вообще монстр. Причем, по моему мнению, ооочень тормознутый. Использую только если надо быстро что то сделать и нет требований на скорость работы графики.

    • @SevenNightdreemVeryPavlovny
      @SevenNightdreemVeryPavlovny Před 2 lety

      @@aleksandrgordeev3125 да, прорисовывает в буфер довольно неспешно. Зато потом полноэкранный в DMA и едем дальше )

    • @NoviSavvy
      @NoviSavvy Před 7 měsíci

      @@SevenNightdreemVeryPavlovny У вас получилось запустить??

    • @SevenNightdreemVeryPavlovny
      @SevenNightdreemVeryPavlovny Před 7 měsíci

      @@NoviSavvy либу u8g2? Ну да, ssd1306, uc1608 драйверы норм

    • @NoviSavvy
      @NoviSavvy Před 7 měsíci

      @@SevenNightdreemVeryPavlovny нет, lvgl. У меня больше 2 недель не получается её собрать. Мало что из этого видео соответствует тому, что получается у меня. На данный момент остановился на 8 ошибках, в начале было около 450 ошибок. Не все файлы есть в библиотеке, многие структуры типа lv_disp_drv Кейл просто не понимает, хотя я все пути ко всему указал

  • @projectlotus5815
    @projectlotus5815 Před 2 lety +1

    Владимир спасибо что продолжаете выкладывать видео. В прошлом году бодался с этой библиотекой для esp32 но в итоге ушел на GUIslice. Пользуясь случаем - имеете что-то на примете с примерами работы по wolfssl/wolfssh для stm32?

  • @DART2WADER
    @DART2WADER Před 2 lety +1

    Я на ней ГУЙ под Qt на компе сначала пишу, а затем уже на устройство заливаю. Пишу на С++ и вместо убогих калбаков лямбды по месту написанные в неё закидываю, очень удобно получается.

  • @alexroman6246
    @alexroman6246 Před 2 lety +1

    прикольная либа, использую ее на sbc под линуксами и на стм 32

  • @srmstm1077
    @srmstm1077 Před 2 lety +1

    👍👍👍

  • @user-ly2jt8xm3z
    @user-ly2jt8xm3z Před rokem +2

    Использую в своем проекте. Спасибо🤝

    • @NoviSavvy
      @NoviSavvy Před 7 měsíci

      Доброго времени! Подскажите пожалуйста, как у вас это получилось? Я повторил в точности- больше 100 ошибок, не компилится, очень кривая библиотека как будто

    • @VladimirMedintsev
      @VladimirMedintsev  Před 7 měsíci

      @ViktorSapronov1998 Библиотека которую используют десятки тысяч программистов кривой быть не может. Если большое кол-во ошибок, значит вы пути неправильно в проекте прописали.

    • @NoviSavvy
      @NoviSavvy Před 7 měsíci

      @@VladimirMedintsev я пробовал очень много разных вариантов, в Кейле, начиная каждый раз с нуля. И через их сайт, и даже готовый пример взял. Не компилится никак. Чем больше файлов подключаю, даже если они не используются, тем больше ошибок. Не знаю, что уже делать. И 1 в 1 как на видео, естественно, тоже начав с нуля. Отдельно без lvgl, конечно, всё хорошо, дисплей показывает что ему говорят. Lvgl не компилится. Я не понимаю почему, такого не может быть, я ВСЁ проверил.

    • @VladimirMedintsev
      @VladimirMedintsev  Před 7 měsíci

      @@NoviSavvy ​@ViktorSapronov1998 Ну спорить не буду. У меня компилируется без ошибок.

    • @NoviSavvy
      @NoviSavvy Před 7 měsíci

      @@VladimirMedintsev что я мог сделать не так?

  • @sozdatelEd
    @sozdatelEd Před 2 lety +2

    блин... как же всё красивенько...
    я в своих проекты если добавляю настройки или какие-то меню, то это +BLE модуль на плату управления и +приложение для андроид. Ещё недавно можно было телефон на андроиде с дисплеем 4-5" купить за 1400руб и просто рядом с каждым устройством приклеивать или пользователю давать как пульт управления. За такую цену вряд-ли можно приобрести аналогичный дисплей, а ещё надо добавить нормальный контроллер на котором хватит памяти развернуть GUI для визуализации и управления.
    А вообще классный подход у библиотеки. Я уже не раз встречаю именно такой метод регистрации функций в библиотеках.

    • @kalobyte
      @kalobyte Před 2 lety

      nextion есть

    • @sozdatelEd
      @sozdatelEd Před 2 lety

      @@kalobyte есть такие модули. В таком случае есть несколько вопросов:
      Какая доступность? Какая стоимость? Есть ли законченные решения в корпусе? Какая сложность или совместимость при переносе проекта с одного модели на другую? Какие манипуляции необходимо сделать конечному пользователю при изменении функционала?
      Забегая вперёд - у меня по BLE и обновление прошивки проходит, а apk пользователь получает через любой мессенджер или электронную почту.

    • @kalobyte
      @kalobyte Před 2 lety

      @@sozdatelEd
      это hmi panel
      к ней идет софт для виндовса и там ты рисуеш все контролы и заливаеш в панель, а она работает через модбас
      ну и вроде там еще можно и через юарт через какой-то свой протокол
      корпуса нет, чисто модуль
      но если ты хочеш панель на андроиде, то есть тоже софт российский, только контролы там страшные
      можеш в новых версиях допилили
      забыл только как он называется

    • @sozdatelEd
      @sozdatelEd Před 2 lety

      @@kalobyte я знаю как работает некстион.
      Я Вам задал вопросы ответив на которые вы поймёте, что дешевле использовать сотовый телефон на андроиде, чем городить встраивать дисплей в проект.

    • @kalobyte
      @kalobyte Před 2 lety

      @@sozdatelEd
      смотря для чего и какой телефон
      не везде влезет телефон или пройдет по потреблению
      а так я и говорю, что есть прога под андроид для своих панелей
      есть еще matric для управления компутером и там можно свои кнопки рисовать, есть хттп
      красивые кнопки там есть в наборах от разных пользователей

  • @Noxmyn
    @Noxmyn Před 3 měsíci

    Добрый день. Подскажите, пытаюсь сделать lable с динамическим отображение переменной(которая меняется), в seput всё инициализировано, другие эллементы в виде кнопок работают. А вот сделать изменение текста в lable не получается. Помогите(

  • @mikitashary5552
    @mikitashary5552 Před 2 lety

    Может у кого есть возможность, обьяснить как создать проект на стм32 под OS Zephyr, по документации не понимаю, как и что требуется для этого

  • @erlcuba9960
    @erlcuba9960 Před 2 lety +1

    Здравствуйте, два небольших вопроса по библиотеке: компилируется ли эта красота в MX CubeID? Помнится пробовал компилировать TouchGFX кубом - потратил кучу времени, а результат нулевой. Не хочется повторения. И второй - есть ли здесь возможность сначала накидать нужные кнопки, прогресс бары и все остальное в графическом приложении, например как в том же TouchGFX, а потом скомпилировать? Спасибо.

    • @VladimirMedintsev
      @VladimirMedintsev  Před 2 lety +2

      TouchGFX, точно так же как и LVGL собирается в CubeIDE без каких-либо особых проблем.
      Да, для LVGL есть пара проектов для визуального редактирования экранов.

  • @user-tj2ti9id9j
    @user-tj2ti9id9j Před 2 lety +1

    Здравствуйте. Вопрос про буфер, который необходимо выделить. Насколько я понимаю, необходимо выделить 240х240х2 байт в памяти для данного дисплея. А если всего памяти 128к, например stn32f411. Получается, что кроме библиотеки с буфером больше ничего и не влезет ?

    • @VladimirMedintsev
      @VladimirMedintsev  Před 2 lety +1

      Нет, можно выделить 1/4 или 1/16 памяти.

    • @user-tj2ti9id9j
      @user-tj2ti9id9j Před 2 lety

      @@VladimirMedintsev Пока не понял как это возможно. Надо будет внимательно посмотреть, как это работает. Сначала надо разобраться с Кубом. После перегенерации проекта перестал стартовать stm32f411. До этого все нормально пересоьиралось и работало.

  • @anatoliydad0x078
    @anatoliydad0x078 Před 2 lety

    На отметке 3:47 "Действительно, два раза ДВОЕТОЧИЕ, для того, чтобы подняться на верхний уровень...". Дмитрий, прошу не запутывать ;))

    • @anatoliydad0x078
      @anatoliydad0x078 Před 2 lety +1

      Спасибо Вам за ваш труд! Библиотеки упрощают жизнь. В том плане, что решая основные задачи, не тратишь время на рисование каких нибудь регуляторов громкостей или чекбоксов...

  • @Master_Crypter
    @Master_Crypter Před 2 lety

    Владимир добрый день.
    Есть ли минимальное допустимое разрешение дисплея для этой библиотеки? Потому как я подключил к ней TFT дисплей 160 x 128 на ST7735. Все цвета, формы объектов, их расположение - в порядке, но показывает определенную часть, то что влезает в окно этого дисплея. Остальное как будто за его границами.
    Спасибо.

    • @VladimirMedintsev
      @VladimirMedintsev  Před 2 lety +1

      Разрешение любое. Видимо что-то с буфером у вас.

    • @Master_Crypter
      @Master_Crypter Před 2 lety +1

      @@VladimirMedintsev В файлах lcd_lvgl.c и lcd_lvgl.h ?

  • @anatoliyv5607
    @anatoliyv5607 Před rokem

    у меня почему то эта библиотека блокирует мышь

  • @user-ik1uu7pr1i
    @user-ik1uu7pr1i Před 2 lety

    Хорошо если бы вы Владимир, полностью перешли на стм32кубайди. Это конечно же просто пожелание. Силу привычек никто не отменял.

    • @VladimirMedintsev
      @VladimirMedintsev  Před 2 lety

      Нет абсолютно никакой разницы, какую IDE использовать.

    • @sozdatelEd
      @sozdatelEd Před 2 lety

      @@VladimirMedintsev можно тогда пример как в CodeVisionAVR собрать проект для stm32?🧐

  • @user-ly2jt8xm3z
    @user-ly2jt8xm3z Před rokem

    Столкнулся с переполнением Flash при сборке в Stm32CubeIDE "region `FLASH' overflowed by 52496 bytes". Может кто подскажет что делаю не так?

    • @VladimirMedintsev
      @VladimirMedintsev  Před rokem

      Слишком мало памяти у вас и слишком много функций включено.

    • @user-ly2jt8xm3z
      @user-ly2jt8xm3z Před rokem

      ​@@VladimirMedintsev Может что конкретнее можно отключить в библиотеке LVGL (примерно 100 кб лишних, шрифты все выкинул кроме 1 шт)

    • @user-ly2jt8xm3z
      @user-ly2jt8xm3z Před rokem

      @@VladimirMedintsev я где то в видео услышал про (итого) 2 Килобайта🙂

  • @vladimirivanov4761
    @vladimirivanov4761 Před rokem

    Все бы ничего, но не могу найти бесплатных графических редакторов для LVGL. Есть SquareLineStudio, но с ограничением 5 экранов макс, 50 виджетов макс. Конечно же, быстро уперся в это ограничение по виджетам, дальше только танцы с бубном... Есть еще GuiGuider от NXP, но в сгенерированных файлах написано, что работать будет только с NXP. А у меня STM32F103VET6. TougchGFX не совместима с ним.

  • @bul2012
    @bul2012 Před 2 lety +1

    Стоп стоп стоп, я только сегодня более менее разобрался с touchgfx

    • @sozdatelEd
      @sozdatelEd Před 2 lety

      а заодно просветился как ещё быстрее собирать проекты в LVGL😁

  • @user-rx4rp5yb5j
    @user-rx4rp5yb5j Před 2 lety +2

    Всегда привык разрабатывать собственные библиотеки ибо всегда и во всем чужом очень быстро нахожу косяки: вот в этой либе например - предустановлены шрифты и я так понимаю что локализации у них нет и также выбор одного шрифта для всех контролов. Использовать это в своих проектах, а потом ловить "мелкие" неприятности и думать как их решить - да ну его - разве что поковырять исходный код - иногда что-то бывает интересное можно найти.

    • @Beatleman91
      @Beatleman91 Před 2 lety +1

      RTFM. У них на сайте есть генератор шрифтов, т.е. можете загрузить свой файл шрифтов и получите сишные файлы + поддержка всяких экзотичных языков, где написание справа налево и иероглифы.

    • @user-rx4rp5yb5j
      @user-rx4rp5yb5j Před 2 lety

      @@Beatleman91 из файла шрифтов автоматом более менее нормально получаются программно символы большого размера, автоматом получить символы размером например 8х6 пикселей ну никак не получится.

    • @Beatleman91
      @Beatleman91 Před 2 lety

      @@user-rx4rp5yb5j используйте шрифты, которые в таком мелком формате на экране монитора Можга различить, например Terminus

    • @user-rx4rp5yb5j
      @user-rx4rp5yb5j Před 2 lety

      @@Beatleman91 глупости не говорите - я не теоретик, а практик - программно нельзя создать мелкие шрифты таких размеров - результат будет ужасным. Мелкие шрифты всегда нужно создавать самому. А в Terminus есть только латиница.

    • @Beatleman91
      @Beatleman91 Před 2 lety +3

      @@user-rx4rp5yb5j прагматик, который думал, что в LVGL один фиксированный шрифт. Ну-ну

  • @gt540gfx
    @gt540gfx Před 6 měsíci

    А где сам проект Кейла готовый? Люди собрать неделями не могут 😂

    • @VladimirMedintsev
      @VladimirMedintsev  Před 6 měsíci +1

      Люди собрать не могут по одной простой причине - не знают язык Си. И готовый проект им только навредит.

  • @Nidvoraich
    @Nidvoraich Před 2 lety

    Адафрут пошёл курить в сторону :)

  • @Nikolas0805
    @Nikolas0805 Před rokem

    Будет ли работать на STM32F103C8T6 с дисплеем 320х240? При сборке проекта выдает
    c:/gcc/10 2020-q4-major/bin/../lib/gcc/arm-none-eabi/10.2.1/../../../../arm-none-eabi/bin/ld.exe: build/LESSON_2.elf section `.bss' will not fit in region `RAM'
    c:/gcc/10 2020-q4-major/bin/../lib/gcc/arm-none-eabi/10.2.1/../../../../arm-none-eabi/bin/ld.exe: region `RAM' overflowed by 112440 bytes