Alterando o brilho em uma tela LCD Hitachi HD44780


11

Estou terminando um projeto - um despertador de jogo LED. Visto que este é um relógio, preciso ter uma maneira de economizar energia, que agora o meu Uno R3 + está comendo como um político. Minha pergunta é: como desligo a tela ou desligo a luz de fundo usando o software somente em uma tela LCD Hitachi HD44780 16x2? Ou como defino um modo de suspensão em um componente? O modo como planejo desligá-lo é com um telêmetro ultrassônico; se eu chegar perto, ele aparece na tela. Se qualquer coisa que eu disser não fizer sentido, peça que eu esclareça que estou com pressa.


Se isso pode ser feito depende totalmente de como você tem a tela LCD conectada. O conjunto de comandos do HD44780 não possui provisões para o controle da luz de fundo. Você precisaria adicionar algum mecanismo externo próprio para controlar a luz de fundo.
Connor Lobo

Respostas:


8

Coloque um transistor em série com um resistor 33R entre o pino do LCD 16 (terra da luz de fundo) e o GND e ligue e desligue o transistor com um pino digital. Dessa forma, você poderá ativar e desativar a luz de fundo.

Você pode ter um controle mais refinado do brilho se colocar um pulso PWM no referido pino. Basta ligar para analogWrite(D3, value)onde valueestá o brilho desejado.

Os esquemas estão abaixo. É da Freetronics 16x2 LCD SHield .

Controle de brilho do LCD


+1 para o esquema, embora eu não tenha certeza do porquê existem dois resistores (R7 e R8).
Madivad 28/03

1
@ Madivad - Acho que é para aumentar a potência dissipada máxima que os resistores podem suportar. Os dois resistores 68R em paralelo resultam em uma resistência 34R equivalente, mas duplica a potência máxima que pode ser dissipada através de um único resistor. Não lembro quais resistores foram recomendados pela Freetronics, mas no meu caso, usei dois resistores 1 / 4W 68R e a placa está funcionando bem. Além disso, suponho que os resistores 68R sejam mais comuns. Isso certamente é válido para mim, pois tenho muitos resistores 68R nas caixas e nenhum 33R.
Ricardo

Eu sei que isso é "antigo", mas espero que alguém perceba isso ... Estou tendo problemas para entender como o transistor se conecta (como eu não estou familiarizado com o ícone acima do transistor), onde E, B, C conectar a?
warath-coder

@wara - Esse é um transistor de efeito de campo (FET), não um BJT. Então, você procurará conectar seu dreno, fonte e portão. De qualquer forma, você obterá melhor ajuda fazendo uma pergunta separada, vinculando a esta.
Ricardo

5

Em vez de vincular a luz de fundo diretamente ao V + e ao GND, conecte-a a um pino PWM (pode ser necessário usar um driver separado se o pino não conseguir gerar / consumir corrente suficiente). Isso permitirá que você controle o brilho via analogWrite().

Desligue a tela LCD ( LiquidCrystal::noDisplay()) quando não estiver em uso. O conteúdo permanecerá na memória, mas os segmentos do LCD não serão acionados.

Defina os vários bits no PRRregistro para desativar os periféricos que ele não usa.

E não se esqueça de adormecer a CPU quando ela não precisar ser executada . Consulte a seção "Gerenciamento de energia e modos de suspensão" da folha de dados para obter mais informações sobre isso e o PRRregistro, bem como a <avr/sleep.h>documentação do AVR Libc.


3
Dormir o MCU é inútil, já que o resto das partes em um uno comum consomem tanta energia que não fornece qualquer redução significativa no consumo global ..
Connor Lobo

2
Realmente, se você realmente deseja que um arduino seja de baixa potência, é necessário um arduino pro (ou qualquer outra placa sem USB-serial onboard) e, em seguida, seria necessário colocar um regulador com um consumo de corrente inativo decentemente baixo nele. Está um pouco envolvido.
Connor Lobo

Absolutamente. Alguém que queira economizar todo o resto de energia projetará sua própria placa e especificará seus componentes de acordo.
Ignacio Vazquez-Abrams

Sim, mas o que quero dizer é que você não pode obter uma conservação de energia significativamente relevante na maioria das placas de arduino, já que até seus vregs têm uma horrível corrente de repouso (2 ma +, IIRC). Depois, há o FTDI / ATmega16U2, que você não pode desligar, etc ... #
Connor Wolf

@ Mr.Floppy: IOW, escolha outra coisa. Algo com menos peças.
Ignacio Vazquez-Abrams
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.