Zmiana jasności na ekranie LCD Hitachi HD44780


11

Kończę projekt - budzik z grami LED. Ponieważ jest to zegar, muszę mieć sposób na oszczędzanie energii, co teraz mój Uno R3 + zjada jak polityk. Moje pytanie brzmi: jak mogę wyłączyć ekran lub wyłączyć podświetlenie za pomocą oprogramowania tylko na ekranie LCD Hitachi HD44780 16x2? Lub jak ustawić tryb uśpienia na jednym elemencie? Planuję go wyłączyć za pomocą ultradźwiękowego dalmierza, jeśli się zbliży, włącza się ekran. Jeśli cokolwiek, co powiem, nie ma sensu, poproś mnie o wyjaśnienie, jestem w pośpiechu.


To, czy da się to zrobić, zależy całkowicie od sposobu podłączenia ekranu LCD. Zestaw poleceń HD44780 nie ma możliwości sterowania podświetleniem. Trzeba by dodać własny własny mechanizm sterowania podświetleniem.
Connor Wolf,

Odpowiedzi:


8

Umieść tranzystor szeregowo z rezystorem 33R między pinem LCD 16 (masa podświetlenia) a GND i włączaj i wyłączaj tranzystor za pomocą pinu cyfrowego. W ten sposób będziesz mógł włączać i wyłączać podświetlenie.

Możesz mieć lepszą kontrolę nad jasnością, jeśli na wspomniany pin wyślesz impuls PWM. Wystarczy zadzwonić, analogWrite(D3, value)gdzie valuejest pożądana jasność.

Schematy są poniżej. Pochodzi z Freetronics 16x2 LCD SHield .

Kontrola jasności LCD


+1 za schemat, chociaż nie jestem pewien, dlaczego istnieją dwa oporniki (R7 i R8).
Madivad

1
@Madivad - Zgaduję, że ma to na celu zwiększenie maksymalnej mocy rozpraszanej, jaką mogą wytrzymać rezystory. Dwa równoległe rezystory 68R dają równoważną rezystancję 34R, ale podwajają maksymalną moc, którą można rozproszyć przez pojedynczy rezystor. Nie pamiętam, jakie oporniki były zalecane przez Freetronics, ale w moim przypadku użyłem dwóch oporników 1 / 4W 68R i płyta działa poprawnie. Przypuszczam też, że rezystory 68R są bardziej powszechne. Z pewnością jest to prawdą dla mnie, ponieważ mam wiele rezystorów 68R w moich pojemnikach i żadnych 33R.
Ricardo

Wiem, że to „stare”, ale mam nadzieję, że ktoś to zauważy ... Mam problem ze zrozumieniem, jak łączy się tranzystor (ponieważ nie znam powyższej ikony tranzystora), gdzie E, B, C połączyć się z?
koder-warath

@wara - To tranzystor polowy (FET), a nie BJT. Więc będziesz chciał połączyć jego odpływ, źródło i bramę. W każdym razie otrzymasz lepszą pomoc, zadając osobne pytanie, łącząc się z tym.
Ricardo

5

Zamiast przywiązywać podświetlenie bezpośrednio do V + i GND, podłącz je do pinu PWM (może być konieczne użycie osobnego sterownika, jeśli pin nie może uzyskać / rozładować wystarczającej ilości prądu). Umożliwi to sterowanie jasnością za pomocą analogWrite().

Wyłącz wyświetlacz LCD ( LiquidCrystal::noDisplay()), gdy nie jest aktywnie używany. Zawartość pozostanie w pamięci, ale segmenty LCD nie będą sterowane.

Ustaw różne bity w PRRrejestrze, aby wyłączyć nieużywane urządzenia peryferyjne.

I nie zapomnij uśpić procesora, gdy nie trzeba go uruchamiać . Zobacz sekcję „Zarządzanie energią i tryby uśpienia” arkusza danych, aby uzyskać więcej informacji na ten temat i PRRrejestr, a także <avr/sleep.h>dokumentację AVR Libc.


3
Spanie MCU nie ma sensu, ponieważ reszta części wspólnego uno zużywa tyle energii, że nie zapewnia znaczącego zmniejszenia całkowitego zużycia ..
Connor Wolf

2
Naprawdę, jeśli naprawdę chcesz, aby arduino było niskiej mocy, potrzebujesz arduino pro (lub innej płyty bez wbudowanego szeregowego interfejsu USB), a następnie musisz umieścić regulator z dość niskim poborem prądu spoczynkowego na tym. To jest trochę zaangażowane.
Connor Wolf,

Absolutnie. Ktoś, kto chce zaoszczędzić każdą odrobinę energii, zaprojektuje własną płytę i odpowiednio określi swoje komponenty.
Ignacio Vazquez-Abrams

Tak, ale chodzi mi o to, że nie można uzyskać znaczącego oszczędzania energii na większości tablic arduino, ponieważ nawet ich vregi mają straszny prąd spoczynkowy (2 ma +, IIRC). Potem jest FTDI / ATmega16U2, którego nie można wyłączyć itp.…
Connor Wolf

@ Mr.Floppy: IOW, wybierz coś innego. Coś z mniejszą ilością elementów.
Ignacio Vazquez-Abrams
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.