Как сделать ЖК-экран ярче
Я пытаюсь сделать свой ЖК-экран ярче, может кто-нибудь может помочь?
Это код и соединения:
//ЖК-дисплей
#include <LiquidCrystal.h>
int Contrast=75;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
// Светодиод
int LdrPin = A0; // ячейка и выпадающий список 10K подключены к a0
int LdrValue = 0; // аналоговое считывание с разделителя датчика
int LedPin = 10; // подключите красный светодиод к контакту 11 (вывод PWM)
int LedBrightness;
//כתום
int LdrPin2 = A0; // ячейка и выпадающий список 10K подключены к a0
int LdrValue2 = 0; // аналоговое считывание с делителя датчика
int LedPin2 = 9; // подключите красный светодиод к контакту 11 (вывод PWM)
int LedBrightness2;
//צהוב
int LdrPin3 = A0; // ячейка и выпадающий список 10K подключены к a0
int LdrValue3 = 0; // аналоговое считывание с делителя датчика
int LedPin3 = 8; // подключите красный светодиод к контакту 11 (вывод PWM)
int LedBrightness3;
//
char rx_byte = 0;
//случайное
long randNumber;
void setup()
{
//אתחול LCD
analogWrite(6, Contrast);
lcd.begin(16, 2);
//אתחול СВЕТОДИОД
pinMode(LdrPin, INPUT);
pinMode(LedPin, OUTPUT);
Serial.begin(9600);
pinMode(LdrPin2, INPUT);
pinMode(LedPin2, OUTPUT);
Serial.begin(9600);
pinMode(LdrPin3, INPUT);
pinMode(LedPin3, OUTPUT);
Serial.begin(9600);
//последовательный монитор
Serial.begin(9600);
//случайный אתחול
Serial.begin(9600);
randomSeed(analogRead(0));
}
void loop()
{
// жк-дисплей.setCursor(2, 0);
// жк-дисплей.печать ("Доброе утро");
LdrValue = analogRead(LdrPin);
//Serial.print("Чтение LDR = ");
//Serial.println(LdrValue); // печать необработанных аналоговых показаний
LedBrightness = map(LdrValue, 679, 6, 255, 0);
if (Serial.available() > 0) // доступен ли символ?
{
rx_byte = Serial.read(); // получаем символ
}
// проверьте, наступило ли утро, и покажите доброе утро на ЖК-дисплее
if (LdrValue == 679 && rx_byte == '7')
{
lcd.setCursor(2, 0);
lcd.print("Good Morning!");
// случайный 50% порядок освещения
randNumber = random(0, 2);
Serial.print(randNumber);
if (randNumber == 1)
{
//אדום
for (int i=0; i<8; i++)
{
digitalWrite(LedPin, HIGH);
delay(1000);
digitalWrite(LedPin, LOW);
delay(1000);
// светодиод начинает гореть красным
lcd.setCursor(2, 0);
lcd.print("working on");
lcd.setCursor(2, 1);
lcd.print("red");
}
//כתום
for (int i=0; i<4; i++)
{
digitalWrite(LedPin2, HIGH);
delay(1000);
digitalWrite(LedPin2, LOW);
delay(1000);
//светодиод начинает гореть оранжевым цветом
lcd.setCursor(2, 0);
lcd.print("working on");
lcd.setCursor(2, 1);
lcd.print("orange");
}
//צהוב
for (int i=0; i<5; i++)
{
digitalWrite(LedPin3, HIGH);
delay(1000);
digitalWrite(LedPin3, LOW);
delay(1000);
// светодиод начинает гореть желтым цветом
lcd.setCursor(2, 0);
lcd.print("working on");
lcd.setCursor(2, 1);
lcd.print("yellow");
}
} else
{
//צהוב
for (int i=0; i<5; i++)
{
digitalWrite(LedPin3, HIGH);
delay(1000);
digitalWrite(LedPin3, LOW);
delay(1000);
// светодиод начинает гореть желтым цветом
lcd.setCursor(2, 0);
lcd.print("working on");
lcd.setCursor(2, 1);
lcd.print("yellow");
}
//כתום
for (int i=0; i<4; i++)
{
digitalWrite(LedPin2, HIGH);
delay(1000);
digitalWrite(LedPin2, LOW);
delay(1000);
// светодиод начинает гореть оранжевым цветом
lcd.setCursor(2, 0);
lcd.print("working on");
lcd.setCursor(2, 1);
lcd.print("orange");
}
//אדום
for (int i=0; i<8; i++)
{
digitalWrite(LedPin, HIGH);
delay(1000);
digitalWrite(LedPin, LOW);
delay(1000);
// светодиод начинает гореть красным
lcd.setCursor(2, 0);
lcd.print("working on");
lcd.setCursor(2, 1);
lcd.print("red");
}
}
} else
{
lcd.setCursor(2, 0);
lcd.print("Good night!");
}
}
@roy, 👍1
Обсуждение2 ответа
Для полного ответа нам понадобится спецификация ЖК-экрана, но, как правило, ЖК-экраны имеют вывод для подсветки или два, один для плюса и один для земли.
В таблице данных вы можете найти, какое напряжение требуется для подсветки и каково максимальное напряжение, а затем установить его на то, что вы хотите.
Для получения дополнительных очков вы можете подключить подсветку с помощью PWM и настроить яркость от Arduino; если вы это сделаете, убедитесь, что вы не потребляете слишком много тока от вывода Arduino; при необходимости добавьте полевой транзистор.
Для подсветки используйте резистор 220 Ом. Относитесь к нему просто как к светодиоду. Вот что это такое, просто обычный светодиод.
- Печать string and integer LCD
- Отправка значения с одного Arduino на другой
- ЖК-дисплей I2C отображает странные символы
- Экран LCD 16*02 I2C показывает только первый напечатанный символ
- Запрограммируйте Arduino Uno как цифровые часы
- ЖК-дисплей странные символы
- 16*2 1602A LCD дисплей не отображает никаких символов или контрастности, несмотря на правильное подключение
- Считыватель таймкода SMPTE с ЖК-дисплеем, вопрос кодирования
Обеспечьте больше мощности для подсветки задней панели, @Majenko
Используйте резистор с меньшим значением, чем 1 Ком, показанный на схеме. Около 100 Ом, если на вашем ЖК-дисплее используется белый светодиод. Некоторые модули уже имеют резистор на плате, чтобы ограничить ток от светодиода подсветки, но вам нужно будет проверить, работает ли ваш., @Gerben