______________________________________________________________________________________________________________________________________________________________________________
______________________________________________________________________________________________________________________________________________________________________________

27 grudnia 2025

INTELIGENTNY PUNKT DOST臉POWY (AP)


Inteligentny Punkt Dost臋powy (AP) z interfejsem WWW i obs艂ug膮 kart SD

W 艣wiecie projekt贸w opartych na ESP32 cz臋sto brakuje narz臋dzi, kt贸re s膮 jednocze艣nie pot臋偶ne i proste w codziennej obs艂udze. Dzisiaj chcia艂bym Wam przedstawi膰 m贸j autorski projekt Punktu Dost臋powego (AP), kt贸ry wykracza (troch臋) poza ramy zwyk艂ego routera WiFi. To urz膮dzenie, kt贸re nie tylko zarz膮dza ruchem, ale te偶 w czasie rzeczywistym identyfikuje pod艂膮czone urz膮dzenia i informuje o stanie systemu na dwa sposoby.

Serce systemu: ESP32 i wy艣wietlacz ST7789

G艂贸wnym centrum informacyjnym urz膮dzenia jest kolorowy wy艣wietlacz ST7789 (320x240 px). Pe艂ni on rol臋 "technicznego podgl膮du". Bez wyci膮gania telefonu czy komputera, od razu po spojrzeniu na obudow臋 widzimy:

  • SSID sieci oraz aktualny adres IP,

  • Liczb臋 aktualnie po艂膮czonych klient贸w,

  • Status karty SD.

Interfejs graficzny zosta艂 zaprojektowany tak, aby by艂 czytelny nawet z wi臋kszej odleg艂o艣ci, wykorzystuj膮c eleganckie czcionki GFX i intuicyjne kolory dla ka偶dego parametru.


 


Panel WWW: Moje centrum dowodzenia ;)

Prawdziwa magia dzieje si臋 jednak po wpisaniu adresu IP urz膮dzenia w przegl膮darce. ESP32 serwuje nowoczesn膮, responsywn膮 stron臋 WWW w ciemnym motywie (Dark Mode), kt贸ra automatycznie od艣wie偶a si臋 co 10 sekund.

Co znajdziemy w panelu?

  1. Szczeg贸艂owa lista klient贸w: Program nie wy艣wietla tylko "suchych" adres贸w MAC. Dzi臋ki bazie danych urz膮dze艅, system rozpoznaje, czy pod艂膮czony sprz臋t to ESP-Cam w pokoju, Sterownik w gara偶u czy Laptop. Oczywi艣cie z jego adresem IP. 

  2. Czas po艂膮czenia: Widzimy dok艂adnie, jak d艂ugo ka偶de urz膮dzenie jest aktywne w sieci.

  3. Logowanie zdarze艅: Ka偶de po艂膮czenie i roz艂膮czenie jest odnotowywane w logach na karcie SD (opcja).

    To chwilowo tyle bo projekt si臋 rozwija i z pewno艣ci膮 b臋d膮 zmiany. 


Konfiguracja bez programowania (SD Card Support)

To funkcja, z kt贸rej jestem najbardziej dumny. Wi臋kszo艣膰 projekt贸w Arduino wymaga edycji kodu i ponownego wgrywania programu (flaszowania), aby zmieni膰 nazw臋 sieci (SSID) lub has艂o. Tutaj jest inaczej.

Urz膮dzenie posiada slot na kart臋 SD, kt贸ra pe艂ni rol臋 dysku twardego.

  • Plik config.txt: Tutaj wpisujemy nazw臋 sieci i has艂o.

    Przyk艂ad:

    SSID=TwojaNazwaSieci
    PASSWORD=TwojeHaslo123

  • Plik devices.csv: To baza danych naszych urz膮dze艅. Mo偶emy tam przypisa膰 przyjazn膮 nazw臋 (np. "Termometr-Taras") do konkretnego adresu MAC.

    Przyk艂ad:

    A0:B1:C2,ESP32-Garaz,esp32 

    08:A6:F7,ESP-Cam_Pokoj,cam 

    8C:AA:B5,STM32-Kuchnia,stm32

Dzi臋ki temu, aby doda膰 nowe urz膮dzenie do listy "znanych" lub zmieni膰 has艂o WiFi, wystarczy wyci膮gn膮膰 kart臋 SD, edytowa膰 plik na komputerze i w艂o偶y膰 j膮 z powrotem. 呕adnego kompilowania kodu!

Mo偶emy te偶 podejrze膰 info o karcie SD:


 

Przy braku dost臋pu do karty SD widok strony zmieni si臋:

 

Zmieni si臋 te偶 info o karcie:


 

Podsumowanie i bezpiecze艅stwo

Program zosta艂 zoptymalizowany pod k膮tem stabilno艣ci – monitoruje zu偶ycie pami臋ci RAM i pozwala na zdalny restart systemu jednym klikni臋ciem z poziomu strony WWW. Je艣li karta SD zostanie wyj臋ta, system automatycznie przejdzie w tryb awaryjny, korzystaj膮c z domy艣lnych ustawie艅 zapisanych w pami臋ci sta艂ej.

To urz膮dzenie to idealna baza dla ka偶dego, kto buduje w艂asny ekosystem Smart Home i chce mie膰 nad nim pe艂n膮, lokaln膮 kontrol臋.

Opis po艂膮cze艅 (Pinout)

Aby uk艂ad dzia艂a艂 poprawnie, oba modu艂y (TFT i SD) korzystaj膮 ze wsp贸lnej magistrali SPI. Kluczowe jest poprawne podpi臋cie linii sygna艂owych oraz pin贸w steruj膮cych (CS, DC, RST).

 

Funkcja Pin ESP32 Pin Urz膮dzenia Uwagi
Zasilanie 3.3V / VIN VCC Zale偶nie od wersji modu艂u
Masa GND GND Wsp贸lna masa
SPI SCLK GPIO 18 SCL / SCK Wsp贸lne dla TFT i SD
SPI MOSI GPIO 23 SDA / MOSI Wsp贸lne dla TFT i SD
SPI MISO GPIO 19 MISO / SD_DO Tylko dla karty SD
TFT CS GPIO 15 CS (Display) Chip Select wy艣wietlacza
TFT DC GPIO 2 DC / RS Data/Command
TFT RST GPIO 4 RES / RESET Reset wy艣wietlacza
TFT BL GPIO 5 BL / LED Sterowanie pod艣wietleniem
SD CS GPIO 13 CS (SD Card) Chip Select karty SD

Wskaz贸wka dla buduj膮cych: Pami臋taj, aby przy u偶ywaniu karty SD i wy艣wietlacza jednocze艣nie, stosowa膰 dobrej jako艣ci przewody. Magistrala SPI przy tak wysokim od艣wie偶aniu jak w ST7789 bywa wra偶liwa na zak艂贸cenia.

Karta SD musi by膰 sformatowana na FAT32. To bardzo wa偶ne! 

 

Jeszcze jedna do艣膰 istotna uwaga: Po klikni臋ciu na czerwony przycisk na panelu WWW nast膮pi reset urz膮dzenia. W tym momencie nale偶y zwr贸ci膰 uwag臋, czy przegl膮darka nie dopisa艂a sobie czego艣 do adresu. 

W tym wypadku do adresu naszego AP przegl膮darka dopisa艂a /restart i teraz od艣wie偶enie strony b臋dzie powodowa艂 jej restart. Nale偶y u偶ywa膰 tylko samego adresu http:/192.168.4.1 (lub innego zdefiniowanego dla danej sieci.

Ten punkt dost臋powy powsta艂 na potrzeby mojej sieci domowej kt贸ra z za艂o偶enia nie b臋dzie mia艂a dost臋pu do internetu. To nie jest wada a 艣wiadome za艂o偶enie projektu. 

  

✍️ Autor: Robert HF5WWL
馃搮 Data projektu: Grudzie艅 2025 r.
馃搷 Lokalizacja: Wo艂omin, POLSKA
馃搧 Kod 藕r贸d艂owy: Pytaj poprzez e-mail (hf5wwl@gmail.com).
馃洜️ Poziom trudno艣ci: 艢rednio prosty.

 

17 grudnia 2025

艁ADOWARKA AKUMULATOR脫W Li-Ion Z POMIARAMI

 


Wprowadzenie

Witajcie w kolejnym projekcie z mojej warsztatowej serii! Dzi艣 chcia艂bym zaprezentowa膰 w艂asnor臋cznie zbudowan膮 艂adowark臋 do akumulator贸w Li-Ion, kt贸ra 艂膮czy w sobie bezpiecze艅stwo, precyzj臋 pomiar贸w i estetyczny wygl膮d. Projekt powsta艂 z my艣l膮 o wszystkich, kt贸rzy pracuj膮 z akumulatorami 18650 i innymi ogniwami litowo-jonowymi – od hobbyst贸w elektroniki po u偶ytkownik贸w latarek, powerbank贸w i innych urz膮dze艅. Nie jest to szybka 艂adowarka a raczej 艂adowarka "dok艂adna" nastawiona na ochron臋 akumulatora i poznanie jego parametr贸w.

G艂贸wne cechy projektu

✅ Bezpiecze艅stwo przede wszystkim

  • Monitoring temperatury (DS18B20) z alarmem i automatycznym wy艂膮czeniem

  • Kontrola napi臋cia z ochron膮 przed prze艂adowaniem (>4.21V)

  • Detekcja stanu ogniwa – automatyczne wykrywanie pod艂膮czenia akumulatora

  • Zabezpieczenie przeciwzwarciowe przez uk艂ad MOSFET

✅ Precyzyjne pomiary

  • Napi臋cie: pomiar z dok艂adno艣ci膮 do 0.01V (INA219)

  • Pr膮d: monitoring od 0 do 2000mA (Dla akumulatora ograniczony do 1 A)

  • Pojemno艣膰: akumulacja 艂adunku w mAh w czasie rzeczywistym

  • Moc: obliczanie mocy dostarczanej do akumulatora (opcja dla pracy buforowej akumulatora)

  • Czas: pe艂ny czasomierz 艂adowania

✅ Intuicyjny interfejs

  • Kolorowy wy艣wietlacz TFT 2.8" (320×240)

  • Graficzny wska藕nik na艂adowania z kolorow膮 skal膮

  • Czytelne wy艣wietlanie wszystkich parametr贸w

  • Ekran podsumowania z pe艂nymi wynikami po zako艅czeniu

Parametry techniczne

馃洜️ Hardware:

  • Mikrokontroler: ESP32 (WROOM-32)

  • Wy艣wietlacz: ST7789 SPI TFT (2.8 cala, 320×240)

  • Modu艂 艂adowania: TP4056 z ochron膮

  • Czujnik pr膮du/napi臋cia: INA219 (I²C)

  • Czujnik temperatury: DS18B20 (1-Wire)

  • Sterowanie zasilaniem: MOSFET N-kana艂owy + P-kana艂owy

  • Zasilanie: 5V DC (USB-C) zabezpieczone bezpiecznikiem polimerowym 2A.

  • Brz臋czyk: sygnalizator d藕wi臋kowy (opcjonalnie) 

⚡ Specyfikacja 艂adowania:

  • Napi臋cie 艂adowania: 4.21V ±1%

  • Pr膮d 艂adowania: regulowany przez TP4056 (domy艣lnie 1A)

  • Napi臋cie akumulatora: 2.8V – 4.21V (wykrywanie od 2.0V)

  • Pr贸g zako艅czenia: 4.20V + pr膮d <50mA

  • Temperatura pracy: 5°C – 40°C (alarm poza zakresem)

  • Temperatura krytyczna: >50°C (natychmiastowe wy艂膮czenie)

馃搳 Mo偶liwo艣ci pomiarowe:

  • Rozdzielczo艣膰 napi臋cia: 0.01V

  • Rozdzielczo艣膰 pr膮du: 1mA

  • Rozdzielczo艣膰 temperatury: 0.1°C

  • Pomiar pojemno艣ci: 0-9999mAh

  • Czas 艂adowania: do 99 godzin 59 minut

Zasada dzia艂ania

馃攱 Proces 艁adowania:

  1. Wykrycie akumulatora – sprawdzenie czy ogniwo jest pod艂膮czone (napi臋cie >2.0V)

  2. Test bezpiecze艅stwa – weryfikacja temperatury i stanu ogniwa

  3. Faza CC (Constant Current) – 艂adowanie sta艂ym pr膮dem do osi膮gni臋cia 4.20V

  4. Faza CV (Constant Voltage) – stabilizacja napi臋cia przy malej膮cym pr膮dzie

  5. Zako艅czenie – automatyczne wy艂膮czenie przy pr膮dzie <50mA i napi臋ciu ≥4.20V

馃搱 Monitoring w czasie rzeczywistym:

  • Aktualizacja parametr贸w co 1.5 sekundy na wy艣wietlaczu

  • Obliczanie dostarczonego 艂adunku (ca艂kowanie pr膮du w czasie)

  • Wykrywanie anomalii i automatyczne reakcje

馃毃 System alarmowy:

  • Czerwony alarm – przekroczenie dopuszczalnych parametr贸w

  • Miganie wska藕nik贸w – wizualna informacja o stanie alarmowym

  • Sygna艂 d藕wi臋kowy – przy przekroczeniu temperatur krytycznych

  • Automatyczne wy艂膮czenie – w przypadku zagro偶enia

 

Interfejs u偶ytkownika

馃帹 Przyk艂adowy ekran g艂贸wny podczas 艂adowania:

 


馃弫 Przyk艂adowy ekran ko艅cowy po na艂adowaniu:

Po zako艅czeniu 艂adowania pojawia si臋 ekran podsumowania:

  • Komunikat "艁ADOWANIE ZAKO艃CZONE"

  • Napi臋cie ko艅cowe (np. 4.21V)

  • Ca艂kowity 艂adunek dostarczony (w mAh)

  • Czas trwania 艂adowania

  • Instrukcja "WYJMIJ AKUMULATOR"

     

Zastosowania praktyczne

馃敡 Dla Hobbyst贸w Elektroniki:

  • Testowanie i sortowanie u偶ywanych ogniw 18650

  • Pomiar rzeczywistej pojemno艣ci akumulator贸w

  • Diagnostyka stanu zdrowia ogniw Li-Ion

⚡ Dla U偶ytkownik贸w:

  • Bezpieczne 艂adowanie akumulator贸w do latarek, powerbank贸w

  • Monitoring procesu 艂adowania z pe艂n膮 informacj膮

  • Przechowywanie danych o historii 艂adowania

馃敩 Dla edukacji:

  • Praktyczna demonstracja 艂adowania CC/CV

  • Wizualizacja procesu akumulacji 艂adunku

  • Nauka o bezpiecze艅stwie ogniw Li-Ion

Bezpiecze艅stwo – najwa偶niejszy aspekt

馃И Certyfikowane Komponenty:

  • TP4056 – modu艂 z zabezpieczeniem przed prze艂adowaniem, nadmiernym pr膮dem i zwarcie

  • DS18B20 – precyzyjny pomiar temperatury ogniwa

  • INA219 – dok艂adny pomiar pr膮du i napi臋cia

馃洝️ Wielopoziomowa ochrona:

  1. Warstwa sprz臋towa – zabezpieczenia w module TP4056

  2. Warstwa programowa – monitoring w czasie rzeczywistym

  3. Warstwa u偶ytkownika – czytelne komunikaty i alarmy 

馃洝️ Zaawansowany system zabezpiecze艅 w praktyce: Serce 艂adowarki ESP32

Podczas gdy wi臋kszo艣膰 prostych 艂adowarek polega na podstawowych uk艂adach zabezpieczaj膮cych, ten projekt idzie o krok dalej. 艁膮czy sprz臋tow膮 ochron臋 z inteligentnym, programowym nadzorem w czasie rzeczywistym, tworz膮c wielowarstwowy system bezpiecze艅stwa.

Warstwa 1: Inteligentny nadz贸r mikrokontrolera (m贸zg systemu)

To serce zabezpiecze艅. ESP32 nie tylko wy艣wietla dane, ale aktywnie monitoruje i kontroluje ca艂y proces za pomoc膮 precyzyjnych czujnik贸w:

  • Czujnik INA219: Co 100 milisekund mierzy dok艂adne napi臋cie na akumulatorze (z rozdzielczo艣ci膮 do 0.01V) oraz p艂yn膮cy pr膮d. Dzi臋ki temu algorytm mo偶e precyzyjnie wykry膰 koniec 艂adowania (warunek: napi臋cie ≥4.20V ORAZ pr膮d <50mA), co jest znacznie pewniejsze ni偶 poleganie tylko na module 艂adowania.

  • Bezwzgl臋dne limity programowe: Nawet je艣li inne elementy zawiod膮, oprogramowanie ma zapisane "sztywne" granice. 艁adowanie zostanie natychmiast wstrzymane, je艣li napi臋cie przekroczy 4.42V lub temperatura wyjdzie poza bezpieczny zakres.

Kluczowa innowacja: Pomiar temperatury "z pierwszej r臋ki"
Jednym z filar贸w tego systemu jest unikalne zastosowanie czujnika DS18B20. Nie mierzy on og贸lnej temperatury "w 艂adowarce", lecz jest wbudowany w pojemnik na akumulator i dotyka bezpo艣rednio jego metalowej obudowy. Daje to ogromn膮 przewag臋:

  • Natychmiastowa reakcja: Czuwa na samym 藕r贸dle ciep艂a. Gdy akumulator zaczyna si臋 grza膰 z powodu problem贸w wewn臋trznych, nadmiernego pr膮du lub z艂ego kontaktu, czujnik wykrywa to w ci膮gu sekund.

  • Realne dane: Mierzy rzeczywist膮 temperatur臋 ogniwa, a nie przybli偶on膮 warto艣膰 z otoczenia.

  • Trzystopniowa reakcja: Algorytm reaguje progresywnie:

    1. >40°C: W艂膮cza alarm wizualny (migaj膮ce pole na wy艣wietlaczu) i wstrzymuje 艂adowanie do och艂odzenia.

    2. <5°C: Blokuje start 艂adowania, chroni膮c bateri臋 przed uszkodzeniem.

    3. >50°C (Temperatura Krytyczna): Natychmiast, nieodwracalnie odcina zasilanie (przez MOSFET) i w艂膮cza sygna艂 d藕wi臋kowy. Jest to stan awaryjny.

Warstwa 2: Kontrola zasilania – MOSFET jako stra偶nik

MOSFET w tym projekcie to nie tylko prze艂膮cznik, to fizyczny stra偶nik kontrolowany przez ESP32. Gdy algorytm wykryje jak膮kolwiek nieprawid艂owo艣膰 (przegrzanie, prze艂adowanie, wyj臋cie baterii), wysy艂a sygna艂, kt贸ry fizycznie odcina napi臋cie 艂adowania od modu艂u TP4056. To "twarde" wy艂膮czenie stanowi ostatni膮 lini臋 obrony na poziomie obwodu zasilania. Gdyby jednak co艣 "posz艂o nie tak" mamy jeszcze bezpiecznik polimerowy 2A w linii zasilaj膮cej +5V.

Warstwa 3: Podstawowa ochrona poprzez modu艂 TP4056

Modu艂 艂adowarki TP4056 stanowi bazow膮, niezale偶n膮 warstw臋. Zawiera w艂asny uk艂ad zabezpieczaj膮cy (DW01), kt贸ry chroni przed zwarciem, g艂臋bokim roz艂adowaniem i prze艂adowaniem. Dzia艂a nawet gdyby ESP32 uleg艂 resetowi, dzia艂aj膮c jako sprawdzony fundament bezpiecze艅stwa.

Podsumowanie: Projektowana ochrona

Bezpiecze艅stwo tej 艂adowarki nie jest przypadkowe, lecz zaprojektowane i wielowarstwowe:

  1. Modu艂 TP4056 stanowi podstawow膮, "g艂upi膮" os艂on臋.

  2. ESP32 z czujnikami to "inteligentny nadzorca" analizuj膮cy sytuacj臋 w czasie rzeczywistym.

  3. MOSFET jest "stra偶nikiem", kt贸ry na rozkaz nadzorcy fizycznie roz艂膮cza obw贸d.

  4. Czujnik na obudowie baterii to "zaufany informator", dostarczaj膮cy kluczowych danych o samym ogniwie.

Dzi臋ki temu podej艣ciu projekt nie tylko 艂aduje, ale aktywnie chroni cenny akumulator – i otoczenie – przed skutkiem potencjalnych awarii czy ekstremalnych warunk贸w.

Je偶eli nie s膮 spe艂nione wszystkie warunki bezpiecze艅stwa napi臋cie nie zostanie podane na akumulator. 

 

Dlaczego warto zbudowa膰?

  1. Wiedza – zrozumienie procesu 艂adowania Li-Ion od podszewki

  2. Oszcz臋dno艣膰 – koszt budowy znacznie ni偶szy ni偶 zakup komercyjnego testera

  3. Dok艂adno艣膰 – pomiary lepsze ni偶 w wielu gotowych 艂adowarkach

  4. Satysfakcja – urz膮dzenie wykonane w艂asnor臋cznie, dok艂adnie pod swoje potrzeby

  5. Rozszerzalno艣膰 – mo偶liwo艣膰 dodania nowych funkcji (np. logowanie danych, WiFi)

Podsumowanie

Ta 艂adowarka to wi臋cej ni偶 tylko urz膮dzenie do nape艂niania akumulator贸w – to pe艂noprawny stacja testowa i monitoruj膮ca. Dzi臋ki niej mo偶esz:

  • Bezpiecznie 艂adowa膰 ogniwa Li-Ion

  • Precyzyjnie mierzy膰 ich parametry

  • Diagnozowa膰 stan techniczny akumulator贸w

  • Uczy膰 si臋 o elektronice i technologii baterii

Projekt jest stale rozwijany – aktualna wersja 3.9.3 wprowadza ulepszone algorytmy wykrywania ko艅ca 艂adowania i bardziej intuicyjny interfejs.

 

Na koniec troch臋 techniki. Poni偶ej szkic uk艂adu sterowania ON/OFF zrealizowany na 2 MOSFET-ach:






 Tak wygl膮da艂 prototyp urz膮dzenia:

Sterowanie ON/OFF znajduje si臋 od spodu p艂ytki.

 

馃搶 Tabela Po艂膮cze艅 Pin贸w (Pe艂na)

Poni偶ej znajduje si臋 zestawienie po艂膮cze艅 pomi臋dzy pinami ESP32 a poszczeg贸lnymi modu艂ami:

1. 馃枼️ Wy艣wietlacz TFT (ST7789) – Interfejs SPI

Pin ESP32,  Pin ST7789,   Definicja w Kodzie,  Opis
GPIO 18SCKTFT_SCLKZegar SPI
GPIO 23MOSITFT_MOSIDane SPI
GPIO 15CSTFT_CSWyb贸r chipa
GPIO 2DCTFT_DCWyb贸r danych/komendy
GPIO 4RSTTFT_RSTReset wy艣wietlacza

2. ⚡ Monitoring Pr膮du i Napi臋cia (INA219) – Interfejs I2C

Pin ESP32,    Pin INA219,     Definicja w Kodzie,    Opis
GPIO 21SDAI2C_SDALinia danych I2C
GPIO 22SCLI2C_SCLLinia zegara I2C
GND / +5VGND / VCC
Zasilanie

 

3. 馃尅️ Czujnik Temperatury (DS18B20)

Pin ESP32, Pin DS18B20,   Definicja w Kodzie,     Opis
GPIO 14DQ (Data)ONE_WIRE_BUSLinia danych 1-Wire

 

4. 馃攱 Status Modu艂u 艁adowania (TP4056)

Pin ESP32,  Pin TP4056,       Definicja w Kodzie Opis
GPIO 34CHG (Status)      PIN_CHARGINGOdczyt statusu 艂adowania (wej艣cie PULLUP)
GPIO 35STDBY (lub DONE)  PIN_DONEOdczyt statusu gotowo艣ci (wej艣cie PULLUP)

 

5. 馃攰 Sygnalizacja i Dodatki

Pin ESP32,   Komponent,        Definicja w Kodzie,    Opis
GPIO 33Brz臋czyk (Buzzer)   BUZZER_PINWyj艣cie cyfrowe (HIGH = w艂膮cz)
GPIO 32         MOSFET                 MOSFET_PIN                Sterowanie ON/OFF TP4056



 


✍️ Autor: Robert HF5WWL
馃搮 Data projektu: Grudzie艅 2025 r.
馃搷 Lokalizacja: Wo艂omin, POLSKA
馃搧 Kod 藕r贸d艂owy: Pytaj poprzez e-mail (hf5wwl@gmail.com) lub komentarz.
馃洜️ Poziom trudno艣ci: 艢rednio-zaawansowany


Uwaga: Praca z akumulatorami Li-Ion zawsze wi膮偶e si臋 z pewnym ryzykiem. Zalecana jest ostro偶no艣膰 i znajomo艣膰 zasad bezpiecze艅stwa. Autor nie ponosi odpowiedzialno艣ci za jakiekolwiek szkody wynik艂e z realizacji projektu.


馃挰 Masz pytania? Chcesz podzieli膰 si臋 swoj膮 wersj膮? Zapraszam do komentowania!

 

 

 


 

11 listopada 2025

WY艢WIETLACZ ST7789P3

 


Nietypowy wy艣wietlacz ST7789P3  284×73 pix – test i charakterystyka

 

 

Wprowadzenie

Zakupi艂em ostatnio ciekawy wy艣wietlacz w rozs膮dnej cenie:

 

 

 

W 艣wiecie mikrokontroler贸w i wy艣wietlaczy TFT czasami natrafiamy na pere艂ki, kt贸re wyr贸偶niaj膮 si臋 nietypowymi parametrami. Takim w艂a艣nie egzemplarzem jest wy艣wietlacz ST7789P3 – sterownik znany, ale w zupe艂nie niestandardowym wykonaniu. W tym artykule om贸wi臋 ten ciekawy wy艣wietlacz i poka偶臋, jak go uruchomi膰 z ESP32.

Parametry techniczne



SterownikST7789P3
Rozdzielczo艣膰284 × 73 pikseli
InterfejsSPI
Kolory16-bit (65K kolor贸w)
Wymiary aktywne  ~61.0 × 15.7 mm
Pod艣wietlenieLED, 3.3V
Napi臋cie zasilania3.3V

Uwaga: Rozdzielczo艣膰 284×73 pikseli jest nietypowa dla sterownik贸w ST7789, kt贸re zazwyczaj obs艂uguj膮 standardowe rozdzielczo艣ci jak 240×240 czy 135×240. Ten "w膮ski i szeroki" format sprawia, 偶e wy艣wietlacz idealnie nadaje si臋 do aplikacji wymagaj膮cych pask贸w stanu, wska藕nik贸w czy minimalistycznych interfejs贸w.

Pod艂膮czenie do ESP32

Konfiguracja po艂膮cze艅 z mikrokontrolerem ESP32 przedstawia si臋 nast臋puj膮co:

cpp
#define TFT_CS            15  // Chip Select
#define TFT_RST            4  // Reset
#define TFT_DC              2  // Data/Command
#define TFT_MOSI         23  // MOSI (SDA)
#define TFT_SCLK         18  // Clock (SCK)
#define TFT_BACKLIGHT  5  // Pod艣wietlenie

Schemat po艂膮cze艅:

  • VCC → 3.3V ESP32

  • GND → GND ESP32

  • CS    → GPIO15

  • RST  → GPIO4

  • DC    → GPIO2

  • SDA  → GPIO23

  • SCK  → GPIO18

  • BL     → GPIO5

Kluczowa r贸偶nica: pod艣wietlenie aktywne stanem LOW

UWAGA! To najwa偶niejsza informacja dla os贸b maj膮cych problemy z uruchomieniem tego wy艣wietlacza:

cpp
pinMode(TFT_BACKLIGHT, OUTPUT);
digitalWrite(TFT_BACKLIGHT, LOW);   // AKTYWACJA pod艣wietlenia

W przeciwie艅stwie do wi臋kszo艣ci standardowych wy艣wietlaczy ST7789, gdzie pod艣wietlenie aktywowane jest stanem HIGH, w modelu ST7789P3 pod艣wietlenie wymaga stanu LOW. To cz臋sty pow贸d, dla kt贸rego wiele os贸b s膮dzi, 偶e ma uszkodzony egzemplarz – pod艣wietlenie po prostu nie 艣wieci, mimo poprawnego pod艂膮czenia.

Inicjalizacja w Arduino IDE

Do obs艂ugi wy艣wietlacza wykorzystali艣my bibliotek臋 Adafruit_ST7789 z nast臋puj膮c膮 konfiguracj膮:

cpp
#include <Adafruit_GFX.h>
#include <Adafruit_ST7789.h>

#define TFT_WIDTH 284
#define TFT_HEIGHT 76

Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST);

void setup() {
  pinMode(TFT_BACKLIGHT, OUTPUT);
  digitalWrite(TFT_BACKLIGHT, LOW); // W艂膮cz pod艣wietlenie
  
  tft.init(TFT_HEIGHT, TFT_WIDTH); // Uwaga: wysoko艣膰, szeroko艣膰
  tft.setRotation(1);              // Obr贸t 90°
  tft.fillScreen(ST77XX_BLACK);
}

Wa偶ne: W funkcji init() podajemy najpierw wysoko艣膰 (76), a potem szeroko艣膰 (284), a dopiero setRotation(1) zapewnia prawid艂ow膮 orientacj臋 poziom膮.

Teraz niestety b臋dziemy mieli obraz w negatywie. Musimy zmieni膰 go na pozytyw. To znaczy, w sekcji Viod Setup () musimy doda膰:

  tft.invertDisplay(false);

 

Wyzwania i rozwi膮zania

Podczas konfiguracji napotka艂em kilka wyzwa艅:

  1. Nietypowa rozdzielczo艣膰 - wymaga艂a r臋cznego zdefiniowania wymiar贸w

  2. Orientacja - konieczno艣膰 u偶ycia setRotation(1) dla pozycji poziomej

  3. Pod艣wietlenie - odwrotna polaryzacja ni偶 w standardowych modelach

  4. Optymalizacja animacji - konieczno艣膰 minimalizowania mrugania poprzez cz臋艣ciowe od艣wie偶anie

Przyk艂adowe zastosowania

Dzi臋ki nietypowym proporcjom, wy艣wietlacz idealnie nadaje si臋 do:

  • Pask贸w stanu i wska藕nik贸w progresu 

  • Miniaturowych konsoli do debugowania 

  • Wy艣wietlaczy parametr贸w w projektach audio a szczeg贸lnie jako wy艣wietlacze do zasilaczy

  • Interface'贸w dla czujnik贸w 艣rodowiskowych

  • Projekt贸w wearable tech (ze wzgl臋du na w膮ski format) 

Podsumowanie

ST7789P3 w rozdzielczo艣ci 284×73 to ciekawa alternatywa dla standardowych wy艣wietlaczy TFT. Pomimo pocz膮tkowych wyzwa艅 konfiguracyjnych, oferuje unikalne mo偶liwo艣ci dla niszowych aplikacji. Kluczowe dla sukcesu jest pami臋tanie o odwr贸conej polaryzacji pod艣wietlenia - bez tej wiedzy uruchomienie wy艣wietlacza mo偶e by膰 frustruj膮cym do艣wiadczeniem.

Czy warto? Dla projekt贸w wymagaj膮cych kompaktowego, poziomego wy艣wietlacza - zdecydowanie tak! To dow贸d na to, 偶e nawet znane sterowniki mog膮 kry膰 w sobie nietypowe implementacje wartexploration. Do tego ta cena!

Napisa艂em prosty program demonstruj膮cy podstawowe mo偶liwo艣ci wy艣wietlacza a za razem testuj膮cy go. 

 


W rzeczywisto艣ci kolory s膮 inne. S膮 pi臋knie nasycone i ostre. Niestety, m贸j aparat ma inne zdanie...

Pliki do pobrania: Pe艂ny kod demo dost臋pny jest w repozytorium projektu. Pami臋taj o autorze i wspomnij o nim gdy b臋dziesz rozpowszechnia艂 ten program i projekt :) Dzi臋kuj臋.

Test i demo wy艣wietlacza ST7789P3 -link