Samstag, 22. September 2007

LCD for dummies


LCDs sind billige und einfach zu handhabende ausgabegeräte für nahezu alle bastelprojekte.
hier gibts ein fröhliches sammelsurium an links und erfahrungsberichten zum thema LCDs.

die HT44870 kompatiblen displays besitzen (in der regel) 16 pins.
davon sind die letzten beiden (15 und 16) zur steuerung der hintergrundbeleuchtung (und werden später, wenn samples vorhanden sind, in der beschreibung ergänzt ^^).
pin 7 (D0) bis einschließlich 14 (D7) entsprechen den acht daten bits 0 bis 7.
pin 6 (E) dient zum takten der befehle. (beim schreiben high>low, beim lesen low>high)
pin 5 (R/W) wählt lese (high) oder schreib (low) modus.
pin 4 (RS) bestimmt, ob befehle (low) oder zeichen (high) übertragen werden.
pin 3 (Vee) dient zur kontrast regelung (auf 0V ziehen oder über poti betreiben sollt genügen)
pin 2 (Vdd) ist die versorgungsspannung. (im datanblatt werden zwar 5V angegeben. manchen modulen reichen aber auch schon 3V, wodurch sie sich hervorragend zum betrieb mit batterien eignen)
pin 1 (Vss) ist ground der schaltung.

und mit folgendem script läßt ich die winamp ausgabe umlenken (host software muß ich erst wieder erfragen):

#Header
%Common.SetPriority(100)
#EndHeader

#TextMode
/insert textmode script code here/
#EndTextMode

#GfxMode
%LCD.Gfx_SetRefreshArea(15,0,84,48)
%LCD.Gfx_SetFont('arial narrow',8,1)
%LCD.Gfx_SetOverlayMode()
%CleanUp.ClearVRAM()


/Spektrumanalyzer/
%WinAmp.SpecAnalyzer(FFT,PeakedBars,18,12,40,1,0.5,2,1,2,0)

/Zeitanzeige/
" "
%System.GetDateTime(hh:nn)

/Fortschrittsbalken Track/
%Format.Bar(Horizontal,80,5,100,%WinAmp.TrackLength(),%WinAmp.TrackPos(),1,1,2,13)

/Linien/
/%LCD.Gfx_SetPen(0,0,1)/
/%LCD.Gfx_LineTo(0,48,1)/
/%LCD.Gfx_LineTo(166,48,1)/

/Titel Artist/
%Format.AlignCenter()
%Common.CreateNewLine()
%Param.EnableScrolling(Horizontal,Ticker,0.2,80,1)
%WinAmp.Artist()
%Common.CreateNewLine()
%Param.EnableScrolling(Horizontal,Ticker,0.2,80,1)
%WinAmp.Title()

#EndGfxMode

Keine Kommentare: