Seite 2 von 3

Verfasst: 05.06.2005 19:56
von bluejoke
Ich hab auchn Taschenrechner mit LED-Display - scheint mir zumindest so.

Verfasst: 06.06.2005 14:39
von walker
Hi,

LED = Light Emitting Display = leuchtet von selbst (wie kleine Leichtdioden)
LCD = Liquid Crystal Display = kein eigenes leuchten

damit solltest Du Deinen Rechner einstufen können.... 8)

cu
Ulf

Verfasst: 06.06.2005 14:58
von Kiffi
walker hat geschrieben: LED = Light Emitting Display = leuchtet von selbst (wie kleine Leichtdioden)
LCD = Liquid Crystal Display = kein eigenes leuchten
<klugscheissermodus>

LED = Light-Emitting Diode

aus diesem Grunde heisst es ja auch: LED-Display und LC-Display ;-)

</klugscheissermodus>

Grüße ... Kiffi

Verfasst: 06.06.2005 16:01
von bluejoke
jup, war mir aber nicht sicher, weil es grün leuchtet

Verfasst: 06.06.2005 16:32
von DarkDragon
Kiffi hat geschrieben:
walker hat geschrieben: LED = Light Emitting Display = leuchtet von selbst (wie kleine Leichtdioden)
LCD = Liquid Crystal Display = kein eigenes leuchten
<klugscheissermodus>

LED = Light-Emitting Diode

aus diesem Grunde heisst es ja auch: LED-Display und LC-Display ;-)

</klugscheissermodus>

Grüße ... Kiffi
Bei LCD's kommt die Helligkeit von der Hintergrundbeleuchtung oder vom Umgebungslicht(transparenter Spiegel hinter dem Display). Beim LCD wird Licht polarisiert, dann wird die schwingungsebene um 90 ° mit den Flüssigkristallmolekülen gedreht und durch den oberen Polarisator hindurchgeleitet. Wenn ein elektrisches Feld an einer Stelle ist, dann bricht die Ordnung der Kristallmolekülen zusammen und es findet keine Doppelbrechung mehr statt(schwarzes feld im display). Dann ist da noch die Ansteuerung mittels Passiv und Aktivmatrix.

[EDIT]
Wollte nur das "kein eigenes leuchten" erklären ;) .

Verfasst: 06.06.2005 17:40
von vonTurnundTaxis
DarkDragon hat geschrieben: Bei LCD's.
[nerv] tztztz [/nerv]

Verfasst: 20.03.2007 03:53
von Thatsanee
Hallo,

hat das vielleicht schon jemand für PB4 umgesetzt ?

Gruß Thatsanee

Verfasst: 20.03.2007 04:39
von ts-soft
Thatsanee hat geschrieben:Hallo,

hat das vielleicht schon jemand für PB4 umgesetzt ?

Gruß Thatsanee
Warum nicht Du?
Hab keine 5 Minuten gebraucht, ohne SourceKonverter :D

Code: Alles auswählen

; PureBasic 3.93
; Idea from Localmotion34

; De préférence utilisez un gadget ayant un rapport de 11 * 13 ex 110 / 130

; angepaßt an PB4 by ts-soft

Structure SevenSegmentLed
  x.l
  y.l
  width.l
  height.l
  Image.l
  Gadget.l
  value.l
  point.l
  color1.l
  color2.l
  BackgroundColor.l
EndStructure

;{ Datasection
DataSection
Led:
; Segment a
Data.l 1,1,1,-1,6,0,1,1,-1,1,-6,0,-1,-1,0,0
; Segment g
Data.l 1,6,1,-1,6,0,1,1,-1,1,-6,0,-1,-1,0,0
; Segment d
Data.l 1,11,1,-1,6,0,1,1,-1,1,-6,0,-1,-1,0,0
; Segment f
Data.l 1,1,1,1,0,3,-1,1,-1,-1,0,-3,1,-1,0,0
; Segment b
Data.l 9,1,1,1,0,3,-1,1,-1,-1,0,-3,1,-1,0,0
; Segment e
Data.l 1,6,1,1,0,3,-1,1,-1,-1,0,-3,1,-1,0,0
; Segment c
Data.l 9,6,1,1,0,3,-1,1,-1,-1,0,-3,1,-1,0,0
; Point
Data.l 10,11,1,1,-1,1,-1,-1,1,-1,0,0
; Fin dessin Leds
Data.l 0,0

SegmentA:
Data.l 5,1
SegmentB:
Data.l 9,3
SegmentC:
Data.l 9,8
SegmentD:
Data.l 5,11
SegmentE:
Data.l 1,9
SegmentF:
Data.l 1,4
SegmentG:
Data.l 5,6
SegmentP:
Data.l 10,12

EndDataSection
;}

ProcedureDLL SevenSegmentLed(x,y,width,height,color1,color2,BackgroundColor)
 
  ; Initialise the LinkedList the first call
  Static Init
  If Init=0
    Global NewList SevenSegmentLedLList.SevenSegmentLed()
  EndIf
  Init=1
 
  ; Fill the Structure
  AddElement(SevenSegmentLedLList())
  SevenSegmentLedLList()\x=x
  SevenSegmentLedLList()\y=y
  SevenSegmentLedLList()\width=width
  SevenSegmentLedLList()\height=height
  SevenSegmentLedLList()\color1=color1
  SevenSegmentLedLList()\color2=color2
  SevenSegmentLedLList()\BackgroundColor=BackgroundColor
  SevenSegmentLedLList()\Image=CreateImage(#PB_Any,width,height)
 
  PWidth.f=SevenSegmentLedLList()\width/11
  PHeight.f=SevenSegmentLedLList()\height/13
 
 
  ;/ Dessine les Leds

  StartDrawing(ImageOutput(SevenSegmentLedLList()\Image))
  Box(0,0,SevenSegmentLedLList()\width,SevenSegmentLedLList()\height,SevenSegmentLedLList()\BackgroundColor)
  Restore  Led
  Repeat
    Read x
    Read y
    If x=0 And y=0 : Break : EndIf
    Repeat
      Read a
      Read b
      If a=0 And b=0 : Break : EndIf
      Line(x*PWidth,y*PHeight,a*PWidth,b*PHeight,color1)
      x=x+a : y=y+b
    ForEver
  ForEver
  StopDrawing()
 
  ; create the gadget & show the image
  SevenSegmentLedLList()\Gadget=ImageGadget(#PB_Any,SevenSegmentLedLList()\x,SevenSegmentLedLList()\y,width,height,ImageID(SevenSegmentLedLList()\Image),#PB_Image_Border)
 
  ; Return the gadget id
  ProcedureReturn ListIndex(SevenSegmentLedLList())
 
EndProcedure

ProcedureDLL SevenSegmentLedSet(id,value)
 
  SelectElement(SevenSegmentLedLList(),id)
 
  SevenSegmentLedLList()\value=value
 
  PWidth.f=SevenSegmentLedLList()\width/11
  PHeight.f=SevenSegmentLedLList()\height/13
 
  ;/ Allume les Segments
  StartDrawing(ImageOutput(SevenSegmentLedLList()\Image))
 
  ; Eteind les segments
  Restore SegmentA
  For n=1 To 8
    Read a
    Read b
    FillArea(a*PWidth,b*PHeight,SevenSegmentLedLList()\color1,SevenSegmentLedLList()\BackgroundColor)
  Next
 
  Select value
    Case 0
      temp.s="abcdef"
    Case 1
      temp="bc"
    Case 2
      temp="abged"
    Case 3
      temp="abgcd"
    Case 4
      temp="fbgc"
    Case 5
      temp="afgcd"
    Case 6
      temp="afedgc"
    Case 7
      temp="abc"
    Case 8
      temp="abcdefg"
    Case 9
      temp="abcdfg"
  EndSelect
 
  ; Gestion du point
  If SevenSegmentLedLList()\point=1
    temp+"p"
  EndIf
 
 
  For n=1 To Len(temp)
    Select Mid(temp,n,1)
      Case "a"
        Restore SegmentA
      Case "b"
        Restore SegmentB
      Case "c"
        Restore SegmentC
      Case "d"
        Restore SegmentD
      Case "e"
        Restore SegmentE
      Case "f"
        Restore SegmentF
      Case "g"
        Restore SegmentG
      Case "p"
        Restore SegmentP
     
    EndSelect
   
   
    Read a
    Read b
   
    FillArea(a*PWidth,b*PHeight,SevenSegmentLedLList()\color1,SevenSegmentLedLList()\color2)
  Next
 
    StopDrawing()
     
  SetGadgetState(SevenSegmentLedLList()\Gadget,ImageID(SevenSegmentLedLList()\Image))
 
EndProcedure

ProcedureDLL SevenSegmentLedGet(id)
  SelectElement(SevenSegmentLedLList(),id)
  ProcedureReturn SevenSegmentLedLList()\value
EndProcedure

Procedure SevenSegmentLedEvent(id)
  SelectElement(SevenSegmentLedLList(),id)
  ProcedureReturn SevenSegmentLedLList()\Gadget
EndProcedure 

Procedure SevenSegmentLedPoint(id,light)
  SelectElement(SevenSegmentLedLList(),id)
  SevenSegmentLedLList()\point=light
EndProcedure



;/ Test
OpenWindow(0,0,0,580,290,"7 Segment Led",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
CreateGadgetList(WindowID(0))
SevenSegmentLed(10,10,220,260,8404992,16776960,10485760)
SevenSegmentLed(250,10,110,130,4227072,65280,4210688)
SevenSegmentLed(400,10,55,65,1118481,255,0)
SevenSegmentLed(455,10,55,65,1118481,255,0)
SevenSegmentLed(510,10,55,65,1118481,255,0)

For n= 0 To 9
  For i=1 To 4
    SevenSegmentLedSet(i,Random(9))
    SevenSegmentLedPoint(i,Random(1))
  Next i
 
  SevenSegmentLedSet(0,n)
 
  Beep_(1000,25)
  Delay(500)
Next n 
Gruß
Thomas

Verfasst: 20.03.2007 15:54
von scholly
ts-soft hat geschrieben: Warum nicht Du?
Hab keine 5 Minuten gebraucht, ohne SourceKonverter :D
Gibt bei mir:
[14:49:13][COMPILER]Line64:Invalid name: same as an external command
:(
FYI:Verdacht bestätigt: liegt an der droopylib :)
Wenn ich SevenSegmentLed durch SevenSegmentLed2 ersetze, klappts auch hier.

Verfasst: 21.03.2007 21:54
von dllfreak2001
Also ein Taschenrechner aus dieser zeit kann auch über ein Display in Gasentladungstechnik verfügen (keine Seltenheit).
Das sind kleine Gasentladungslampen die man durch Hochspannung zum Leuchten bringt.
Das erkennt man an einem kleinen Gitternetz (Falls das MAterial nicht milchig ist) das über die Leuchtsegmente gezogen ist. Teilweise wurde diese Technik bei
Stereoanlagendisplays und Videorecordern bis Ende der Neunziger gemacht oder noch länger/immernoch.
Mein Bruder hat ne neue Anlage von Aiwa und die hat ein eben solches Display.