Обявления

Для полноценной работы рекомендуется пройти регистрацию.

Рекламные сообщения будут удаляться вместе с пользователем. Что есть реклама - буду решать я.

BIGTREETECH BTT Pi TFT50 V2.0 - екран 5 дюймів для RaspberryPi

Раздел посвящённый 3D печати и всему связанному с ней.

BIGTREETECH BTT Pi TFT50 V2.0 - екран 5 дюймів для RaspberryPi

Сообщение hardlock » 19 июл 2022 18:03

До того, як мені вдалося перемогти підключення рідного екранчика MKS TFT35 v1.0 до RaspberryPi, я встиг придбати 5-дюймовий монітор з DSI інтерфейсом для підключення до малини - BIGTREETECH BTT Pi TFT50 V2.0.
З одного боку, рішення не універсальне, як HDMI монітор, з іншого боку компактне підключення всього одним шлейфом до плати малини і все працює "з коробки".

Потім вигадав, як його закріпити замість рідного екрану.

І все б нічого, але BIGTREETECH полінувалися або не знають як зробити керування підсвічуванням (backlight) програмно. Тому підсвічування дисплея горить постійно, навіть коли екран темний (вимкнено програму). Є тільки ручне регулювання яскравості підсвічування змінним резистором на платі...
Майже через цілий рік я вирішив усунути цю недоробку.
Вивчення проблеми.
Подивимося уважно на плату, як керується підсвічування. Змінний резистор змінює напругу від 0 до 3,3 Вольт на вході контролера, а він, у свою чергу, видає на інший свій вихід ШІМ сигнал для регулювання яскравості підсвічування.
Перемикач "DIR" (перевертає картинку на екрані) підключає один із входів контролера або до +3,3 або до землі. Мені перевертати картинку не потрібно, тому можна вхід підтягнути на землю або на плюс постійно. При демонтажі вказаного резистора картинка залишається в потрібному мені положенні - я так і залишив. Ніжки перемикача, які були припаяні до землі, піднімаємо, а центральний вивід підпаюємо до піднятої ноги змінного резистора.

Схематично це виглядає так:
BTT_Pi_TFT50_backlight_upgrade_sch.GIF
BTT_Pi_TFT50_backlight_upgrade_sch.GIF (5.64 КБ) Просмотров: 65

Фото доопрацювання.

Дріт я підключив до GPIO16 (36й пін малини), але можна вибрати будь-який вільний. Після доопрацювання отримуємо наступний алгоритм роботи
1) у верхньому положенні перемикача підсвітка горить весь час, доки надходить живлення на екран (як і було раніше).
2) у нижньому положенні перемикача підсвітка буде включена тільки тоді, коли на дріт надходить 3,3 Вольта. Коли на цьому дроті 0 (земля) або він висить у повітрі - яскравість підсвічування мінімальна (розглянути практично неможливо).
Рівень яскравості в обох варіантах залежить від положення змінного резистора.

Тепер треба оформити програмну частину. Все взято звідси, працює бездоганно.
створюємо файл overlay "backlight-overlay.dts". для цього запускаємо редактор nano
Код: Выделить всё
sudo nano ~/backlight-overlay.dts

копіюємо в нього наступний вміст (для gpio16):
Код: Выделить всё
/dts-v1/;
/plugin/;

/ {
   compatible = "brcm,bcm2835";

   fragment@0 {
      target-path = "/soc";
      __overlay__ {
         backlight: backlight {
            compatible = "gpio-backlight";
            gpios = <&gpio 16 0>; /* GPIO_ACTIVE_HIGH */
            default-on;
         };
      };
   };
};

Зберігаємо (Ctrl+S) та виходимо з редактора nano (Ctrl+X).

в консолі вводимо наступну команду (компілюємо оверлєй):
Код: Выделить всё
sudo dtc -@ -I dts -O dtb -o /boot/overlays/backlight.dtbo ~/backlight-overlay.dts


підключаємо оверлей підсвітки.
Для цього потрібно відредагувати файл /boot/config.txt
Код: Выделить всё
sudo nano /boot/config.txt

додати в кінець 2 рядки:
Код: Выделить всё
# backlight
dtoverlay=backlight


Перезавантажуємось
Код: Выделить всё
sudo reboot


якщо все підключено вірно, то підсвітка дисплею вмикнеться не відразу, а приблизно секунд через 6-8 після старту малини.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3941
Зарегистрирован: 21 янв 2009 15:48
Откуда: Minsk - zp.ua

Вернуться в 3D печать



Кто сейчас на конференции

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

cron