如何在 arduino uno 上连接 i2c 的情况下调暗 20x4 LCD 显示器的背光

How do I dim the backlight on an 20x4 LCD Display with the i2c connected on an arduino uno

如何在 i2c 连接到 Arduino uno 的情况下调暗 20x4 LCD 显示器的背光?

我使用 LiquidCrystal_I2C.h 库,我可以用 lcd.backlight();lcd.noBacklight();

但我不想完全关闭背光:我想调暗它。

简单的回答:你不能。

复杂答案:您可以使用由 PWM 控制的 BJT 来 change/adapt 亮度。

可能有点晚了,但我想指出的是,当然可以调暗带有 I2C 适配器的 LCD 的背光。就像将 I2C 板的上端引脚(标有 LED 的那个)连接到 Arduino 中的 PWM 引脚一样简单。使用 analogWrite() 将使 LED 亮度从 0(LED 关闭)到 255 不等。

这是一个简单的草图(用于 16 x 2 LCD)来演示这一点:

#include <LiquidCrystal_I2C.h>

#define BRIGHTNESS_PIN      6   // Must be a PWM pin

LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

byte brightness = 0;
bool sense = 1;

void setup()
{
    lcd.begin(16, 2);
    lcd.setCursor(0, 0);
    lcd.print("Here's some text");
}

void loop()
{
    analogWrite(BRIGHTNESS_PIN, brightness);
    delay(10);

    if(sense) {
        if(brightness < 255) {
            brightness++;
        } else {
            sense = 0;
        }
    } else {
        if(brightness > 0) {
            brightness--;
        } else {
            sense = 1;
        }
    }
}

你可以玩 lcd.backlight();lcd.noBacklight();

例子

lcd.backlight(); 延迟(1); lcd.noBacklight(); 延迟(1);

它变暗了!

大多数 LCD 的一侧有 2 个金属插脚,与一个黑色的小东西相连。这是背光源的电源。如果你拉出黑色的东西并在金属插脚之间放置一个电阻器或电位器(电气而不是物理),它会使背光变暗。您可以放置​​电阻器或电位器的另一个地方是暴露在从 PCB 到背光的电线中。