Hitachi HD44780 LCD 화면에서 밝기 변경


11

LED 게임 알람 시계 프로젝트를 마무리하고 있습니다. 이것이 시계이기 때문에, 나는 힘을 절약 할 수있는 방법이 필요합니다. 제 질문은 Hitachi HD44780 16x2 LCD 화면에서만 소프트웨어를 사용하여 화면을 끄거나 백라이트를 끄는 방법입니다. 또는 한 구성 요소에서 절전 모드를 어떻게 설정합니까? 내가 그것을 끄는 계획은 초음파 거리 측정기를 사용하는 것입니다. 가까워지면 화면이 켜집니다. 내가 말한 내용이 이해가되지 않는 경우 설명을 요청하십시오. 조금 서두르고 있습니다.


이 작업을 수행 할 수 있는지 여부는 전적으로 LCD 화면 연결 방법에 따라 다릅니다. HD44780 명령 세트에는 백라이트 제어 기능이 없습니다. 백라이트를 제어하려면 자체 외부 메커니즘을 추가해야합니다.
코너 울프

답변:


8

LCD 핀 16 (백라이트 접지)과 GND 사이에 33R 저항과 트랜지스터를 직렬로 놓고 디지털 핀으로 트랜지스터를 켜고 끕니다. 그렇게하면 백라이트를 켜거나 끌 수 있습니다.

해당 핀에 PWM 펄스를 넣으면 밝기를보다 세밀하게 제어 할 수 있습니다. 원하는 밝기가 analogWrite(D3, value)어디에 있는지 전화 value하십시오.

회로도는 다음과 같습니다. Freetronics 16x2 LCD SHield 의 제품입니다 .

LCD 밝기 제어


왜 두 개의 저항 (R7 및 R8)이 있는지 확실하지 않지만 회로도에서 +1입니다.
Madivad

1
@Madivad-저항이 취할 수있는 최대 소비 전력을 증가시키는 것으로 추측됩니다. 두 개의 68R 저항은 병렬로 34R 저항은 동일하지만 단일 저항을 통해 소비 될 수있는 최대 전력은 두 배가됩니다. Freetronics에서 권장 한 저항은 기억 나지 않지만 제 경우에는 두 개의 1 / 4W 68R 저항을 사용했으며 보드는 정상적으로 작동합니다. 또한 68R 저항이 더 일반적이라고 가정합니다. 내 빈에 많은 68R 저항이 있고 33R 저항이 없기 때문에 확실히 나에게 해당됩니다.
Ricardo

나는 이것이 "오래된"것을 알고 있지만 누군가가 이것을 알기를 바랍니다 ... 트랜지스터가 어떻게 연결되는지 이해하는 데 어려움을 겪고 있습니다 (트랜지스터의 위 아이콘에 익숙하지 않기 때문에). C에 연결?
warath-coder 2016

@wara-BJT가 아닌 FET (Field Effect Transistor)입니다. 따라서 드레인, 소스 및 게이트를 연결하려고합니다. 어쨌든 별도의 질문을하여 질문에 연결하면 더 나은 도움을받을 수 있습니다.
Ricardo

5

백라이트를 V + 및 GND에 직접 연결하는 대신 PWM 핀에 연결하십시오 (핀이 충분한 전류를 소싱 / 싱킹 할 수없는 경우 별도의 드라이버를 사용해야 할 수 있음). 이를 통해를 통해 밝기를 제어 할 수 있습니다 analogWrite().

LiquidCrystal::noDisplay()적극적으로 사용하지 않을 때는 LCD 디스플레이를 끕니다 ( ). 내용은 메모리에 남아 있지만 LCD 세그먼트는 구동되지 않습니다.

PRR레지스터 에서 다양한 비트를 설정하여 사용하지 않는 주변 장치를 비활성화합니다.

그리고 CPU를 실행할 필요가 없을 때 CPU를 잠자 게하는 것을 잊지 마십시오 . 이 및 PRR레지스터 에 대한 자세한 내용과 AVR Libc <avr/sleep.h>설명서 는 데이터 시트의 "전원 관리 및 절전 모드"섹션을 참조하십시오 .


3
MCU를자는 것은 의미가 없다. 공통적 인 uno에있는 나머지 부분들은 너무 많은 전력을 소비하기 때문에 전체 소비에서 의미있는 감소를 제공하지 않는다.
Connor Wolf

2
실제로 Arduino를 실제로 저전력으로 사용하려면 Arduino Pro (또는 온보드 USB 직렬이없는 다른 보드)가 필요하며 대기 전류가 상당히 낮은 레귤레이터를 배치해야합니다 그 위에. 조금 복잡합니다.
코너 울프

물론. 모든 마지막 에너지를 보존하려는 사람은 자체 보드를 설계하고 그에 따라 구성 요소를 지정합니다.
Ignacio Vazquez-Abrams

그러나 내 요점은 대부분의 arduino 보드에서 의미있는 관련 전력 보존을 얻을 수 없다는 것입니다 .vreg조차도 끔찍한 대기 전류 (2ma +, IIRC)를 가지고 있기 때문입니다. 그런 다음 FTDI / ATmega16U2가 있습니다. 끌 수 없습니다 ....
Connor Wolf

@ Mr.Floppy : IOW, 다른 것을 골라보세요. 조각이 적은 것.
Ignacio Vazquez-Abrams
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.