更改Hitachi HD44780 LCD屏幕上的亮度


11

我正在完成一个项目-LED游戏闹钟。看到这是一个时钟,我需要一种节省电量的方法,目前我的Uno R3 +正在像政客一样吃东西。我的问题是,如何仅在Hitachi HD44780 16x2 LCD屏幕上使用软件关闭屏幕或关闭背光灯?或者如何在一个组件上设置睡眠模式?我计划将其关闭的方法是使用超声波测距仪,如果我靠近的话,它将打开屏幕。如果我说的话没有任何意义,请让我澄清一下,我有点着急。


能否做到完全取决于您如何连接LCD屏幕。HD44780命令集没有背光控制规定。您将需要添加一些自己的外部机制来控制背光。
康纳·沃尔夫2014年

Answers:


8

将一个带有33R电阻的晶体管串联在LCD引脚16(背光地)和GND之间,并使用数字引脚接通和关断该晶体管。这样,您就可以打开和关闭背光。

如果在该引脚上放置PWM脉冲,则可以更好地控制亮度。只需拨打analogWrite(D3, value)其中value是所需的亮度。

原理图如下。它来自Freetronics 16x2 LCD SHield

LCD亮度控制


示意图为+1,尽管我不确定为什么有两个电阻(R7和R8)。
Madivad 2014年

1
@Madivad-我猜想这将增加电阻器可以吸收的最大耗散功率。两个68R电阻并联产生等效的34R电阻,但可使通过单个电阻消耗的最大功率增加一倍。我不记得Freetronics建议使用哪种电阻,但就我而言,我使用了两个1 / 4W 68R电阻,电路板工作正常。另外,我认为68R电阻器更为常见。对于我而言,这当然是正确的,因为我的分档中有很多68R电阻,而没有33R电阻。
里卡多

我知道这是“旧的”,但是希望有人会注意到这一点...我在理解晶体管的连接方式时遇到了麻烦(因为我不熟悉上面的晶体管图标),E,B在哪里, C连接到?
warath-coder,2015年

@wara-这是一个场效应晶体管(FET),而不是BJT。因此,您将需要连接其漏极,源极和栅极。无论如何,通过询问一个单独的问题并链接到该问题,您将获得更好的帮助。
里卡多2015年

5

与其直接将背光连接到V +和GND,不如将背光连接到PWM引脚(如果该引脚无法提供/吸收足够的电流,则可能需要使用单独的驱动器)。这将允许您通过控制亮度analogWrite()

LiquidCrystal::noDisplay()不使用时,请关闭液晶显示屏()。内容将保留在内存中,但不会驱动LCD段。

设置PRR寄存器中的各个位可禁用其不使用的任何外设。

并且不要忘记在CPU不需要运行时使其休眠。有关此PRR寄存器和寄存器以及AVR Libc 的<avr/sleep.h>文档,请参见数据表的“电源管理和睡眠模式”部分。


3
睡觉的MCU是没有意义的,因为部分在一个共同的UNO其余消耗这么大的权力不提供整体消费任何有意义的下降..
康纳沃尔夫

2
的确,如果您想使arduino达到低功耗,则需要arduino pro(或任何其他没有板载usb串行接口的板),然后您需要放置一个静态电流消耗低的稳压器在上面。这有点涉及。
康纳·沃尔夫

绝对。希望节省最后一滴能量的人将设计自己的电路板,并相应地确定其组件。
伊格纳西奥·巴斯克斯

是的,但是我的意思是,您甚至无法在大多数arduino板上获得有意义的相关功率节省,因为即使它们的vreg的静态电流也很差(2 ma +,IIRC)。再有就是FTDI / ATmega16U2,你不能关掉,等....
康纳狼

@ Mr.Floppy:哎呀,别的。更少的东西。
伊格纳西奥·巴斯克斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.