Sida 1 av 1

VFD display till datorn...

Postat: 30 augusti 2003, 13:24:42
av anlamotte
tjenis...

har kopplat en 4*20VFD display till datorn.
displayen styrs av en ATMega16 som får
information från datorn via RS-232...

än så länge visar displayen tid/datum, antal mail
eller information från winamp..

det hela styrs från ett program jag gjort
i VB6..

använde bascom-AVR till ATmega'n

bild:

http://w1.380.telia.com/~u38013869/DSCN0135.JPG

lyckades även få till en lite filmsnutt... (ser lite skum ut...men, men)

http://w1.380.telia.com/~u38013869/DSCN0138.MOV

/andreas

Postat: 30 augusti 2003, 14:40:38
av netbear
Hej

Jag har gjort nått liknande fast med en 2x16 tecken stor LCD. Har försökt skapa rullande text på min men inte lyckats specielt bra. Det hela blir väldigt hackigt... Hur har du löst det?

Lite mer info finns här...
http://www.net-bear.com/el_lcd.php

/Björn

Postat: 31 augusti 2003, 14:57:18
av GeekJoan
Drevs inte dom där VFD displayerna av en 14V AC spänning?
Hur får du ut det via ditt nätagg?

14V ac?

Postat: 1 september 2003, 10:04:39
av anlamotte
Jag använder mig av en VFD-modul, alltså en VFD-display monterad
på ett kretskort tillsammans med drivelektronik och späningsomvandlare,
det hela drivs sedan från vanlig 5v (500mA).

Modulen har samma interface som vanliga LCD-moduler så det
hela blir lätt att styra.

Bild

baksidan:

Bild

tyvärr är dessa moduler rätt så dyra..

Elfa tar t.ex över 1000 spänn för en 4*20. :?

/Andreas

Postat: 1 september 2003, 10:25:57
av anlamotte
netbear skrev:Hej

Jag har gjort nått liknande fast med en 2x16 tecken stor LCD. Har försökt skapa rullande text på min men inte lyckats specielt bra. Det hela blir väldigt hackigt... Hur har du löst det?

Lite mer info finns här...
http://www.net-bear.com/el_lcd.php

/Björn
okeey...

ja först och främst.. använder du någon typ av seriel anslutning till din display..?

jag rekommenderar att använda parallell eftersom den seriella ofta är för långsam om man vill få till snygga scrollningar..

själva scrollningen är inte så avancerad. vet inte vad du programmerar i
men i princip är det väl samma metod för alla...

...du behöver en timer-interupt för att få en jämn och fin hastighet..
...en variabel för att hålla reda på vilken bokstav du ska börja på

i interupten:

* gå till rätt rad på displayen...
* skriv ut 20 tecken från bokstaven du börjar på, om texten är
kortare än 20 tecken - fyll ut med mellanslag
* öka din variabel med 1... nästa gång du kommer till din interupt
skrivs nästa 20 tecken ut.

------

när du har gjort detta "antalet tecken" + 20 så har texten flyttat sig
till vänster sida av displayen...

ger ett exempel i basic...

Kod: Markera allt


Dim strArtist as String
Dim intLngth as Integer
Dim scrollV as Integer
Dim char as Byte

strArtist = "Billy Ocean - Get out of my dreams, get into my car!"
intLngth = LEN(strArtist)

Sub Timer()
  Call VfdWr(&HXX)
  Call VfdWr(&HXX) ' Gå till rätt rad

  scrollV = scrollV + 1
  If scrollV < intLngth + 20 Then
    Dim i as Integer
    For i = scrollV To scrollV + 20
      If i <= intLngth Then 
        char = Mid(strArtist, i, 1)
      Else
        char = 32
      End if  
      Call VfdWr(char) 
    Next i
  Else
    scrollV = 0
  End If
End Sub

Sub VfdWr(Char)
  ------------ kod för att skicka 'char' till VFD
End Sub

Observera att detta bara är för att visa hur det fungerar, denna kod
går inte att använda direkt.. men basic kod brukar vara ganska lätt
att förstå så...

/Andreas[/code]

Postat: 1 september 2003, 10:27:45
av anlamotte
ser att alla mellanslag försvann.. så det ser lite skumt ut.. men, men

Postat: 1 september 2003, 15:44:27
av netbear
Jo det är ungefär så som jag har gjort men du har nog rätt det är för långsamt... funderar på om man skulle kunna ladda över hela meddelandet som skall visas från datorn serielt till pic16f84an som driver lcdn... den skulle sedan kunna betydligt fortare uppdatera displayen... hmmm... vet dock inte riktigt hur jag ska lösa det rent minnesmässigt i picen... men det måste gå men får väl lagra texten i minnesplatser bredvid varandra och sedan stega igenom det... (nån form av simpel pekare)...

Tack iaf
/Björn

Postat: 1 september 2003, 16:41:32
av hebbe
Alfanumeriska LCD stöder instruktioner som shiftar höger/vänster. När RS(register select) sätts låg, och data är: 00011000 scrollas texten på en rad (den cursorn står på) åt vänster.
00011100 scrollar åt höger.

Då skulle man bara behöva skriva dit ett tecken för varje 'scroll interrupt'.

Postat: 1 september 2003, 16:55:08
av hebbe
>pic..

> stega igenom det... (nån form av simpel pekare).

Japp, PIC'en har en egen ram-pekare (indirect adressing).

Adressen lägger du i FSR (04hex), data hittar/skriver du till INDF(00hex).

Då fungerar minnet som ett RAM i en dator... Fast du borde inte deklarera variabler på samma område du tänker använda indirekt. FSR har lite olik bredd beroende på chip. Kolla datablad.

Postat: 1 september 2003, 18:12:38
av netbear
hebbe skrev:Alfanumeriska LCD stöder instruktioner som shiftar höger/vänster. När RS(register select) sätts låg, och data är: 00011000 scrollas texten på en rad (den cursorn står på) åt vänster.
00011100 scrollar åt höger.

Då skulle man bara behöva skriva dit ett tecken för varje 'scroll interrupt'.
Låter mycket intressant har läst något om shifting i databladet men aldrig fått det att fungera... Så jag ska ställa in lcdn på shifting och sen sätta rs låg när jag vill att den ska shifta... Måste undersökas...

/Björn

Postat: 2 september 2003, 00:49:51
av anlamotte
hebbe skrev:Alfanumeriska LCD stöder instruktioner som shiftar höger/vänster. När RS(register select) sätts låg, och data är: 00011000 scrollas texten på en rad (den cursorn står på) åt vänster.
00011100 scrollar åt höger.

Då skulle man bara behöva skriva dit ett tecken för varje 'scroll interrupt'.
jo, men tyvärr ger detta en ganska usel kontroll på det hela...
ofta går det inte att bestämma att en speciell rad ska scrollas, utan
hela displayen scrollas.. det som hamnar "utanför" på rad 2 t.ex
flyttas till rad1 osv...

/Andreas

Postat: 2 september 2003, 04:57:56
av GeekJoan
anlamotte skrev:ser att alla mellanslag försvann.. så det ser lite skumt ut.. men, men
För att få nått i ett forum att bli exakt som man tänkt sej så trycker man in all text mellan [ Code ] TEXT/Kod [ /code ]

EX.
Om jag inte hade code där skulle det bli en sån här :)

Code knappen sitter ovanför rutan som du skriver mess i.

Postat: 2 september 2003, 11:45:32
av anlamotte
aha... okeeey..

Kod: Markera allt

 =)