Słoneczny, majowy dzień jest idealnym momentem na chwilę odpoczynku, ale również na przyjrzenie się dość istotnej i praktycznej kwestii. Dotychczas używaliśmy naszego wyświetlacza jedynie w pomieszczeniu, przy sztucznym świetle lub mocno rozproszonym świetle słonecznym. Są to wręcz idealne warunki, zapewniające dobrą czytelność i brak refleksów na powierzchni panelu LCD.
Pamiętajmy, że warunki panujące w samochodzie są o wiele trudniejsze, a oświetlenie zmienia się dynamicznie. W słoneczny dzień jedynym sposobem na zapewnienie czytelności będzie podniesienie jasności podświetlenia wyświetlacza do maksimum, zaś w nocy będziemy zmuszeni znacznie ją zredukować, aby nie oślepiać kierowcy. Oczywiście można w jakiś sposób zsynchronizować jasność z podświetleniem zestawu wskaźników, jednak nic to nam nie mówi o rzeczywistym poziomie oświetlenia. Ręczna regulacja jest całkowicie niedopuszczalna, ze względu na znaczną uciążliwość.
Potrzebujemy jakiegoś czujnika?
Zdecydowanie tak. Na podstawie odczytu realnego poziomu oświetlenia będziemy mogli skorygować jasność panelu. Najprostszą metodą jest użycie fotorezystora pracującego w układzie dzielnika napięcia. Jest to standardowy obwód wykorzystywany w wielu systemach wbudowanych, które wymagają zgrubnego pomiaru poziomu oświetlenia. Schemat ideowy takiego rozwiązania znajduje się poniżej:
Zasada działania jest niezwykle prosta. Rezystor R1 oraz fotorezystor R2 działają w układzie dzielnika napięcia – jego wartość na wyjściu ADC jest proporcjonalna do poziomu oświetlenia. Kondensator C1 filtruje wszelkie wysokoczęstotliwościowe zakłócenia tak, aby nie przedostawały się na wejście przetwornika analogowo-cyfrowego, który służy do pomiaru napięcia. Długofalowe uśrednianie poziomu jasności jest już realizowane po stronie oprogramowania.
Ok, wiem już jak jasno jest dookoła…. Ale jak to przełożyć na jasność ekranu?
Istnieją dwie metody – pierwsza to sterowanie jasnością diod LED podświetlających panel. Druga, dodatkowa, polega na korekcji kontrastu samej matrycy. Docelowo chciałbym zaimplementować obie – na początek jednak wystarczy sama regulacja jasności. W naszym wypadku wykorzystamy do tego jeden z wbudowanych w chip STM32F407 timerów z kontrolerem PWM.
Tyle teorii na dziś. Jutro praktyka i może jakiś krótki filmik? 😀