Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Führende Null einblenden
#1
Hallo,

ich hab seit langem mal wieder ne Frage.

und zwar möchte ich im LCD-Hyp folgende Ausgabe erzeugen:

#Header
%Common.SetPriority(1000)
#EndHeader

#TextMode
C%System.CPU(Usage)
%Common.CreateNewLine()
M%System.Memory(MemoryLoad)
#EndTextMode

Die Ausgabe soll nun so Ausschauen:

C003 (Es sollen also Führende Nullen eingeblendet werden)
M034 (Es sollen also Führende Nullen eingeblendet werden)

(Die Ausgabe wird seriell an einen µC weitergeleitet welcher nun eine Analoges Drehspulenmessinstrument ansteuert.)
Also kein Modernes LCD oder GLCD sondern richtig oldschool

Bild ist vom Reichelt und die Skala modifiziert.
Hersteller: Gossen Müller & Weigert
Modell: DQB96
Hab bei Gossen angefragt, die machen mir die % Skala, kosten tut das Instrument dann ca 30 Euro


Attached Files Thumbnail(s)
   
#2
doppelpost?

http://lcdhype.condense.de/index.php?showtopic=5185&hl=
Current stable version of LCDHype: 0.7.6
New plugin: Notepad++ Bookmark Manager
New music: Nordwise - Empire transition
#3
Sorry, stimmt....

hab erst zu spät gesehen, dass es einen seperaten Scripting bereich gibt.

CU Moogman


b.t.w. meine Instrumente sind nun eingetroffen....
Nun gehts ans programmieren vom Atmel AVR tiny-2313.

#4
So software für den AVR Tiny2313 ist fertig....

Ist quick and dirty aber tut....

der AVR gibt über eine PWM ein Signal an das Analoge Anzeigeinstrument.
Technische erklärung:

AVR wartet auf ein "a" oder auf ein "b" alles andere ist ihm egal.
Kommt ein "a" an wird der zähler um 1 erhöht und die folgenden 3 Zahlen in den interenen RAM geschrieben.... eine Routine wandelt die 3 ASCII zeichen in einen HEX wert um ( 0-255 ) .... eine Überpfüng ob der Wert grösser 255 ist findet nicht statt... warum auch CPU Last geht nur bis hundert.
Der PWM-Ausgang arbeitet im 8 Bit Mode, das lang völlig.
Dazu wird der hex-Wert vom Fifo mit sich selber addiert....
d.h. bei einer CPU Last von 100% ergibt das für den PWM Ausgang einen Wert von 200 (da 8 Bit kann er sowieso nur maximal 255).

Am Ausgang hängt ein R von ca 350 Ohm und ein trimmer von 100 Ohm zum einstellen des Endanschlags. Es sind natürlich nach dem 350R und nach dem 100R trimmer noch ca 10µF dran (hatte nix anderes in der Bastelkiste).
Die R Werte sind natürlich vom Azeigeinstrument abhängig.
In meinem Fall ein DQB96 mit 60mv .... nicht über die niedrigen R´s wundern...
das ding frisst ca 10-15mA bei vollausschlag

Das ganze tut und ist sogar ziehmlich genau.

Anbei der Sourcecode für den Tiny.
Macht damit was Ihr wollt.


-------------------------------------------------------------

#Header
%DefVar(Load,Global=0)
%DefVar(Mem,Global=0)
%Common.SetPriority(500)
#EndHeader

#TextMode

%Assign(Load, %System.CPU(Usage))

%If(%Load() < 10)
Then { a00%Load() }
Else { %If(%Load() < 100)
Then { a0%Load() }
Else { a%Load() }
}

%Common.CreateNewLine()

%Assign(Mem, %System.Memory(MemoryLoad))

%If(%Mem() < 10)
Then { b00%Mem() }
Else { %If(%Mem() < 100)
Then { b0%Mem() }
Else { b%Mem() }
}

#EndTextMode

#GfxMode
/ insert gfxmode script code here /
#EndGfxMode


Attached Files
.asm   pwm.asm (Size: 4,39 KB / Downloads: 126)
#5
Projekt abgeschlossen:

http://lcdhype.condense.de/index.php?showtopic=5192


Forum Jump:


Users browsing this thread: 1 Guest(s)