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

Speedort W701V mit AVM Firmware (Fritz!Box)

die T-Com lässt viele ihrer produkte (glücklicherweise ^^) bei AVM produzieren, was vermuten lässt, daß dabei die gleiche hardware wie bei den Fritz!Boxen aus eigenem haus verwendet wird.

und zu unser aller freude ist das auch der fall, was uns zum nächsten punkt bringt: die software der t-com geräte ist unter aller sau, wenn man sich die fritz!box software zum vergleich anschaut. liegt es dann nicht nahe, die software von avm auf die speedports der t-com zu übertragen?

liegt es, und dank eines kleinen scripts ist das sogar auch n00bs vergönnt, denn bis auf ein knoppix (auch live cd) und das script benötigt man (best case) bloß eine kommandozeile einzutippen.
hier findet sich eine sehr präzise anleitung und das dazugehörige script von Spirou.

UPDATE:
da ich nun selbst im besitz eines Speedport W701V bin, hab ich auch mal die möglichkeit, etwas genauer auf die sache einzugehn:
zunächst benötigen wir zwei alte firmware dateien, eine von AVM und eine von T-COM, und zwar:
- fw_Speedport_W_701V.33.04.25.image (T-COM)
- fritz.box_fon_wlan_7141.40.04.25.image (AVM)

beide dateien sind ins Firmware.orig verzeichnis kopiert, welches nach dem entpacken des spirou pakets bereits erstellt wurde.
eigentlich soll das script die dateien selbt nachladen, aber bei mir ging das mit der t-com datei nicht. einfach (!) von der t-com die entaprechende .tar datei herunterladen und wie oben umbenennen.

danach kann das script mit "./sp-to-fritz.sh -tfn -o avm -h speed.box -m 701" gestartet werden. als ergebnis erhaltet ihr im verzeichnis Firmware.new eure frisch gebackene firmware.

um die datei nun auf den speedport zu bekommen, reicht ein update via webui leider nicht aus. stattdessen muß ein kleiner umweg über ftp in kauf genommen werden.

als erstes entpackt ihr die neue firmware ("tar -xvf new_Sp...image"). im neu entstandenen verzeichnis 'var' liegt irgendwo die datei 'kernel.image'. in dem verzeichnis gebt ihr folgendes ohne mit ENTER zu bestätigen ein: 'ftp 192.168.178.1'
eure netzwerkeinstellungen setzt ihr entsprechend auf '192.168.178.10'.
startet den speedport nun neu und pingt in einem anderen fenster '192.168.178.1'. wenn ihr eine antwort bekommt, bestätigt das ftp kommando.
benutzername + passwort: adam2
nun folgende kommandos eingeben (passiv soll auf ON stehn):


ftp>bin
ftp>pas
ftp>quote MEDIA FLSH
ftp>put kernel.image mtd1
ftp>quote SETENV firmware_version avm
ftp>quote REBOOT
ftp>quit



stellt euer netzwerk wieder auf dhcp und verbindet euch mit dem gerät (via 'speed.box' oder '192.168.2.1').

und als schmankerl zum schuß gibts hier noch das script, die orig. firmware und ein von mir kompiliertes image zum rumspielen ^^
achja ... noch was: solltet ihr euer passwort vergessen und den werksreset machen (#991*15901590* mit telephon an der box) ist euer passwort 0000 (ist ja immer noch ein speedport ^^).

serieller IR empfänger

infrarotempfängerschaltung für den serialport (von orgazmo)

- windows und linux mit jeder angelernten fernbedienung fernsteuern

- benötigte hardware:
eine serielle maus und eine IR empfängerdiode für 2€

- benötigte software:
winlirc fungiert quasi als treiber. hier wird auch die fernbediennung angelernt.
IRAssistant steuert verschiedene programme.





hab gelesen, dass sich die reichweite der fernbedienung auf bis zu 15m erhöht, wenn man statt der diode und dem vorwiderstand einen festspannungsregler verwendet. :)

sony psx gamepad -> LPT port

heute balsteln wir uns eines unsrer übrig gebliebenen psx gamepads an den parallelport unsres rechners, damit wir tony hawk auch am pc mit dem geliebten pad spielen können ^^

-benötigte hardware
ein psx gamepad

-benötigte software
den treiber (für windows) gibts (bisher mal noch) hier.
autohotkey um das script zur window steuerung zu starten

hier der schaltplan:




treiber konfiguration:




und so könnte es aussehen:




das skript erlaubt die nutzung des joypads als maus.
gesteuert wird über den linken analogstick.
viereck -> linksklick
x -> rechtsklick
kreis -> mittlere maustaste

First!

hallo zusammen ^^

dies ist das obligatorische "First!" post. grund für die entstehung dieses blogs ist, daß der maintainer von http://opcnet.de seit geraumer zeit verschollen ist und (meiner ansicht nach) die existens der seite ins wanken gerät.
dies wäre sehr schade, und um ein wenig schadensbegrenzung zu betreiben, wird die 'pr0j3ct5' section hier 'gespiegelt' ... zumindest die abgeschlossenen projekte :)

ich wünsch also viel spaß beim rum experimentieren und freue mich auf reges kommentieren (klingt der sarkasmus raus? ^^)