Hitachi HD44780 LCD ekranın parlaklığını değiştirme


11

Bir projeyi bitiriyorum - LED oyun çalar saat. Bunun bir saat olduğunu görünce, gücü korumanın bir yoluna ihtiyacım var, şu anda Uno R3 + cihazım bir politikacı gibi yiyor. Sorum şu: Sadece Hitachi HD44780 16x2 LCD ekranda yazılımı kullanarak ekranı nasıl kapatabilirim veya arka ışığı nasıl kapatabilirim? Veya bir bileşende nasıl uyku modu ayarlayabilirim? Kapatmayı planladığım yol ultrasonik bir menzil bulucusuyla, yakınlaşırsam ekranı açar. Söylediğim bir şey mantıklı değilse, açıklamamı isteyin, biraz acelem var.


Bunun yapıp yapamayacağı tamamen LCD ekranın nasıl bağlandığına bağlıdır. HD44780 komut setinde arka ışık kontrolü için herhangi bir hüküm yoktur. Arka ışığı kontrol etmek için kendi dış mekanizmanızı eklemeniz gerekir.
Connor Wolf

Yanıtlar:


8

LCD pim 16 (arka ışık topraklaması) ve GND arasına 33R dirençli bir transistör seri olarak yerleştirin ve transistörü bir dijital pim ile açın ve kapatın. Bu şekilde arka ışığı açıp kapatabilirsiniz.

Bahsedilen pime bir PWM darbesi koyarsanız, parlaklık üzerinde daha iyi bir kontrole sahip olabilirsiniz. İstediğiniz parlaklığın analogWrite(D3, value)nerede valueolduğunu arayın .

Şemalar aşağıdadır. Bu geliyor Freetronics 16x2 LCD Shield .

LCD Parlaklık kontrolü


Şematik için +1, ancak neden iki direnç (R7 ve R8) olduğundan emin değilim.
Mart'ta Madivad

1
@Madivad - Sanırım dirençlerin alabileceği maksimum harcanan gücü arttırmak. Paralel olarak iki 68R direnç, eşdeğer bir 34R direnç ile sonuçlanır, ancak tek bir direnç yoluyla dağıtılabilecek maksimum gücü iki katına çıkarır. Freetronics tarafından hangi dirençlerin önerildiğini hatırlamıyorum, ancak benim durumumda, iki 1 / 4W 68R direnç kullandım ve kart düzgün çalışıyor. Ayrıca, 68R dirençlerinin daha yaygın olduğunu düşünüyorum. Kutularımda bol miktarda 68R direnç bulunduğundan ve 33R yokken bu kesinlikle benim için geçerli.
Ricardo

Bunun "eski" olduğunu biliyorum, ama umarım birisi bunu fark eder ... Transistörün nasıl bağlandığını (transistörün yukarıdaki simgesine aşina olmadığım gibi) anlamakta sorun yaşıyorum, E, B, C bağlanmak?
warath-kodlayıcı

@wara - Bu bir BJT değil Alan Etkili Transistör (FET). Drenajını, kaynağını ve kapısını bağlamak isteyeceksiniz. Her durumda, ayrı bir soru sorarak, bu soruya bağlantı vererek daha iyi yardım alacaksınız.
Ricardo

5

Arka ışığı doğrudan V + ve GND'ye bağlamak yerine, bir PWM pimine bağlayın (pim yeterli akım sağlayamıyorsa / batıramazsa ayrı bir sürücü kullanmanız gerekebilir). Bu, parlaklığı aracılığıyla kontrol etmenizi sağlar analogWrite().

LiquidCrystal::noDisplay()Aktif olarak kullanılmadığında LCD ekranı kapatın ( ). İçindekiler bellekte kalacak ancak LCD segmentleri sürülmeyecek.

Kullanılmayan PRRçevre birimlerini devre dışı bırakmak için kayıt defterindeki çeşitli bitleri ayarlayın .

Ve çalışması gerekmediğinde CPU'yu uyutmayı unutmayın . Bu ve PRRkayıt hakkında daha fazla bilgi için AVR Libc <avr/sleep.h>belgelerinin yanı sıra veri sayfasının "Güç Yönetimi ve Uyku Modları" bölümüne bakın .


3
MCU'yu uyutmak anlamsızdır, çünkü ortak bir uno'daki parçaların geri kalanı çok fazla güç tüketir, bu da toplam tüketimde anlamlı bir azalma sağlamaz ..
Connor Wolf

2
Gerçekten, düşük güçte bir arduino almak istiyorsanız, bir arduino pro'ya (veya yerleşik usb seri olmayan herhangi bir panoya) ihtiyacınız var ve daha sonra oldukça düşük sakin akım çekmeli bir regülatör koymanız gerekir. üstünde. Biraz karıştı.
Connor Wolf

Kesinlikle. En son enerji bitlerini korumak isteyen biri kendi kartını tasarlayacak ve bileşenlerini buna göre belirleyecektir.
Ignacio Vazquez-Abrams

Evet, ama benim açımdan, çoğu arduino kartında anlamlı bir şekilde ilgili güç tasarrufu elde edemezsiniz, çünkü vreg'leri bile korkunç bir sessiz akıma sahiptir (2 ma +, IIRC). Sonra kapatamayacağınız FTDI / ATmega16U2 var, vb ....
Connor Wolf

@ Mr.Floppy: IOW, başka bir şey seç. Daha az parçalı bir şey.
Ignacio Vazquez-Abrams
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.