VFD display till datorn...

Berätta om dina pågående projekt.
Användarvisningsbild
anlamotte
Inlägg: 859
Blev medlem: 5 augusti 2003, 15:54:34
Ort: Stockholm
Kontakt:

VFD display till datorn...

Inlägg 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
netbear
Inlägg: 116
Blev medlem: 27 maj 2003, 21:52:29
Ort: Karlskrona
Kontakt:

Inlägg 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
Användarvisningsbild
GeekJoan
Admin
Inlägg: 10642
Blev medlem: 26 maj 2003, 15:59:27
Ort: Solna

Inlägg 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?
Användarvisningsbild
anlamotte
Inlägg: 859
Blev medlem: 5 augusti 2003, 15:54:34
Ort: Stockholm
Kontakt:

14V ac?

Inlägg 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
Användarvisningsbild
anlamotte
Inlägg: 859
Blev medlem: 5 augusti 2003, 15:54:34
Ort: Stockholm
Kontakt:

Inlägg 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]
Senast redigerad av anlamotte 2 september 2003, 11:46:49, redigerad totalt 1 gång.
Användarvisningsbild
anlamotte
Inlägg: 859
Blev medlem: 5 augusti 2003, 15:54:34
Ort: Stockholm
Kontakt:

Inlägg av anlamotte »

ser att alla mellanslag försvann.. så det ser lite skumt ut.. men, men
netbear
Inlägg: 116
Blev medlem: 27 maj 2003, 21:52:29
Ort: Karlskrona
Kontakt:

Inlägg 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
hebbe
Inlägg: 162
Blev medlem: 29 maj 2003, 00:45:20

Inlägg 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'.
hebbe
Inlägg: 162
Blev medlem: 29 maj 2003, 00:45:20

Inlägg 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.
netbear
Inlägg: 116
Blev medlem: 27 maj 2003, 21:52:29
Ort: Karlskrona
Kontakt:

Inlägg 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
Användarvisningsbild
anlamotte
Inlägg: 859
Blev medlem: 5 augusti 2003, 15:54:34
Ort: Stockholm
Kontakt:

Inlägg 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
Användarvisningsbild
GeekJoan
Admin
Inlägg: 10642
Blev medlem: 26 maj 2003, 15:59:27
Ort: Solna

Inlägg 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.
Användarvisningsbild
anlamotte
Inlägg: 859
Blev medlem: 5 augusti 2003, 15:54:34
Ort: Stockholm
Kontakt:

Inlägg av anlamotte »

aha... okeeey..

Kod: Markera allt

 =) 
Skriv svar