Berechnete Zahlen und deren Anzeige ausserhalb vom PC
Berechnete Zahlen und deren Anzeige ausserhalb vom PC
Hallole Ihr!
Ich habe eine Frage bezüglich der Zahlendarstellung von berechneten Werten.
Zum Beispiel habe ich berechnete Zahlenwerte ( - 50 .... + 50 ) und möchte diese ausserhalb vom PC auf "Zahlentafeln" oder so etwas - können auch nur Ansteuerungen vom Lampen sein, die dann eben hinter den Zahlen aufleuchten sein.
Hat da jemand eine Idee wie man das ansteuern kann?
Ich habe eine Frage bezüglich der Zahlendarstellung von berechneten Werten.
Zum Beispiel habe ich berechnete Zahlenwerte ( - 50 .... + 50 ) und möchte diese ausserhalb vom PC auf "Zahlentafeln" oder so etwas - können auch nur Ansteuerungen vom Lampen sein, die dann eben hinter den Zahlen aufleuchten sein.
Hat da jemand eine Idee wie man das ansteuern kann?
PB 4.02 (wegen Disphelper), 5.72 (Windows) (x64)
oder noch ne Variante:
da du am COM-Port ja nur 3 ansteuerbare Ausgänge hast, nimmst du einen oder mehrere Expander, die du einfach seriell ansteuerst.
Dann kannst du schon mal ein LCD oder sowas ansteuern (weil die, die schon auf serielle Ansteuerung vorbereitet sind, sind Schweineteuer!!!)
Zum Proggen nimmst du dann z.B. die MVCOM-Lib, ...
da du am COM-Port ja nur 3 ansteuerbare Ausgänge hast, nimmst du einen oder mehrere Expander, die du einfach seriell ansteuerst.
Dann kannst du schon mal ein LCD oder sowas ansteuern (weil die, die schon auf serielle Ansteuerung vorbereitet sind, sind Schweineteuer!!!)
Zum Proggen nimmst du dann z.B. die MVCOM-Lib, ...
v6.00
Danke schon mal - gibt es diesbezüglich auch eine Internetadresse wo man sich die Sachen anschauen kann? Das Ansteuern wird dann wohl einfach sein denke ich mal - habe noch nie so etwas gemacht - wenn ich dann noch Fragen habe melde ich mich einfach nochmal - oder gibt es einen Beispielkode hier?
Tschüssle
Tschüssle
PB 4.02 (wegen Disphelper), 5.72 (Windows) (x64)
- Falko
- Admin
- Beiträge: 3531
- Registriert: 29.08.2004 11:27
- Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit) - Kontaktdaten:
Hallole und Danke erst mal für die Beiträge.
Aber mit dem Bild vom Schieberegister bin ich nicht schlau geworden. Die Werte können ja eine Reihenfolge von z.B. 3-4-5-4-3-4-5-6-7-8-9-10 ( je nach berechnetem Wert ) haben.
Was den Expanter angeht habe ich auch nicht verstanden. Habe früher mal selbst Radios gebastelt - aber das waren wohl noch andere Zeiten.
In Qbasic gab es ja mal den Befehl OUT - das gibt es wohl bei PureBasic nicht mehr?!
Ich dachte eben an so etwas:
Ich steuere den COM oder Paralellausgang ( oder noch besser USB Ausgang ) über PureBasic an, und die berechnete Zahl wird im 3 ( wegen der Minusanzeige ) stelligem 7 Segment-Display angezeigt. Klang so einfach wie es Laurin geschrieben hat. Da es ja bei 2 stelligen Anzeigen nur Werte von - 99 bis 99 gibt hätte ich das "Bitmuster" für jede mögliche Zahl mit Kopieren und Einfügen gemacht. Ohne dazwischen mit Mikroprozessoren noch programmieren zu müssen.
Aber so etwas gibt es wohl nicht.
Aber mit dem Bild vom Schieberegister bin ich nicht schlau geworden. Die Werte können ja eine Reihenfolge von z.B. 3-4-5-4-3-4-5-6-7-8-9-10 ( je nach berechnetem Wert ) haben.
Was den Expanter angeht habe ich auch nicht verstanden. Habe früher mal selbst Radios gebastelt - aber das waren wohl noch andere Zeiten.
In Qbasic gab es ja mal den Befehl OUT - das gibt es wohl bei PureBasic nicht mehr?!
Ich dachte eben an so etwas:
Ich steuere den COM oder Paralellausgang ( oder noch besser USB Ausgang ) über PureBasic an, und die berechnete Zahl wird im 3 ( wegen der Minusanzeige ) stelligem 7 Segment-Display angezeigt. Klang so einfach wie es Laurin geschrieben hat. Da es ja bei 2 stelligen Anzeigen nur Werte von - 99 bis 99 gibt hätte ich das "Bitmuster" für jede mögliche Zahl mit Kopieren und Einfügen gemacht. Ohne dazwischen mit Mikroprozessoren noch programmieren zu müssen.
Aber so etwas gibt es wohl nicht.
PB 4.02 (wegen Disphelper), 5.72 (Windows) (x64)
- Falko
- Admin
- Beiträge: 3531
- Registriert: 29.08.2004 11:27
- Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit) - Kontaktdaten:
Naja, so kompliziert braucht man nun nicht denken. Wenn man z.B.
USB nutzen will gibt es schöne USB2Seriell-Adapter, welche prima
für die serielle Ansteuerung in PB genutzt werden können.
Wegen LPT ist die Inpout32.DLL sehr praktisch, was dein Out oder Inp unter
PB wiederbelebt
Das mit den Schieberegistern ist einfach und günstig. Du hast acht Bits, die du
je nach Zahl, die gewünscht wird, setzen kannst. Mittels BCD-Treiber-ICS
werden nur über vier Bits eine Siebensegmentanzeige angesteuert. Über die
anderen vier Bits die Zweite. Ich habe mit meinem Simulator mal ein
Beispiel gemacht, wo man sehr schön sehen kann, wie diese
BCD-Codierung arbeitet.
Anstelle der zwei HEXeingabeelemente benutzt du dann über deinen Rechner
dann eben dieses Schieberegister. Programmieren musst du aber selbst in PB.
Die Schaltung sieht für das folgende Testprogramm so aus:
Hier die lauffähige Schalttafel. Leider kann ich die Schaltung dabei nicht
sichtbar machen. Aber im I-Net gibt es genug Beschreibungen über die
BCD-Codierung der vier Bits wie hier:
http://de.wikipedia.org/wiki/BCD-Code
www.falko-pure.de/Tests/Digital/BCD_Steuerung.zip
Über Reichelt.de bekommst du diese Sachen sehr günstig und man braucht
dazu nicht viel. Den einen Schaltplan für das Schieberegisteric 4094
hast du ja schon auf meiner HP gesehen.
Ein Beispielprogramm ist auch unter Purebasicprogramme
vorhanden, wie man mit der Seriellen Schnittstelle in PB das nutzen kann.
Musst eben nur noch das BCD im Schieberegister über zweimal vier Bits
verwalten, was eigentlich auch nicht so schwer sein sollte.
Damit kannst du dann für das Schieberegister die erforderlichen acht Bits
erzeugen, die dann im Dekoder die richtigen Werte übermitteln.
Gruß Falko
USB nutzen will gibt es schöne USB2Seriell-Adapter, welche prima
für die serielle Ansteuerung in PB genutzt werden können.
Wegen LPT ist die Inpout32.DLL sehr praktisch, was dein Out oder Inp unter
PB wiederbelebt
Das mit den Schieberegistern ist einfach und günstig. Du hast acht Bits, die du
je nach Zahl, die gewünscht wird, setzen kannst. Mittels BCD-Treiber-ICS
werden nur über vier Bits eine Siebensegmentanzeige angesteuert. Über die
anderen vier Bits die Zweite. Ich habe mit meinem Simulator mal ein
Beispiel gemacht, wo man sehr schön sehen kann, wie diese
BCD-Codierung arbeitet.
Anstelle der zwei HEXeingabeelemente benutzt du dann über deinen Rechner
dann eben dieses Schieberegister. Programmieren musst du aber selbst in PB.
Die Schaltung sieht für das folgende Testprogramm so aus:
Hier die lauffähige Schalttafel. Leider kann ich die Schaltung dabei nicht
sichtbar machen. Aber im I-Net gibt es genug Beschreibungen über die
BCD-Codierung der vier Bits wie hier:
http://de.wikipedia.org/wiki/BCD-Code
www.falko-pure.de/Tests/Digital/BCD_Steuerung.zip
Über Reichelt.de bekommst du diese Sachen sehr günstig und man braucht
dazu nicht viel. Den einen Schaltplan für das Schieberegisteric 4094
hast du ja schon auf meiner HP gesehen.
Ein Beispielprogramm ist auch unter Purebasicprogramme
vorhanden, wie man mit der Seriellen Schnittstelle in PB das nutzen kann.
Musst eben nur noch das BCD im Schieberegister über zweimal vier Bits
verwalten, was eigentlich auch nicht so schwer sein sollte.
[Edit] Das Verständnis für BCD-Zahlensysteme hier nochmal als PB-Source.Falko über Reichelt.de hat geschrieben:74HC4543 Sieben Segment/Dekoder/Treiber (4-Bit BCD-Code)
SA 56-11 GN Sieben Segment-Anzeige
MOS 4094 8-Bit Schieberegister
3 x Z-Diode ZD4,7 (4,7V) und 3 Schutzwiderstände min. 1KOhm um eine 5V-Spannung von Seriell an die IC-Logik zu nutzen.
Um an USB das ganze zu nutzen nimmt man einfach einen USB2Seriell-Adapter. Das ist alles.
Damit kannst du dann für das Schieberegister die erforderlichen acht Bits
erzeugen, die dann im Dekoder die richtigen Werte übermitteln.
Code: Alles auswählen
;Das BCD-System in ein Byte für zwei Ziffern
;4Bit - Werte einzelner Ziffern
Debug %0000 ;0
Debug %0001 ;1
Debug %0010 ;2
Debug %0011 ;3
Debug %0100 ;4
Debug %0101 ;5
Debug %0110 ;6
Debug %0111 ;7
Debug %1000 ;8
Debug %1001 ;9
Ausgabe.l = 19 ; Deine Zahl gleich 19, die nun in einzelne Zahlen aufgesplittet wird
BinVar.l=Val(Left(Str(Ausgabe),1)) ;Erste Zahl für Zehner
BinVar1.l=Val(Right(Str(Ausgabe),1));Zweite Zahl für Einer
;Binvar << 4 ; Schiebt erste Zahl auf Zehnerposition
;BinVar | BinVar1 ; Schreibt zweite Zahl auf Einerposition
BinVar << 4 | BinVar1 ; Abgekürzt sieht das ganze dann so aus
Debug RSet(Bin(Binvar),8,"0") ; hier wird nur die 0 auch auf dem 8. Bit angezeigt
;Fertig ist der Wert fürs Schieberegister in Verbindung mit dem 7SegDecoder :)
Gruß Falko
- Falko
- Admin
- Beiträge: 3531
- Registriert: 29.08.2004 11:27
- Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit) - Kontaktdaten:
Ich weiß nun nicht, ob du noch Interesse hast. Aus Spass habe ich
mir mal folgende Schaltungen aufgebaut um eine zweistellige
Zahl von 0-99 plus Minuszeichen anzuzeigen. Ein einfaches Testprogramm
für das Lesen und Schreiben von USB2RS232 bzw. nur RS232 hatte ich
schon programmiert. Wenn du nun lust hast kannst du es ja selbst
löten und testen. Die BCD-Codebeschreibung hatte ich ja schon gepostet.
Ich werde dann mal ein kleines Progrämmchen schreiben um die Zahlen
direkt darzustellen. Nun habe ich ja die passende Hardware dazu
Wichtig. Bei dieser Schaltung brauchst du eine 7-Segment-Anzeige mit
gemeinsamer Kathode. Ansonsten müsste Pin 6 mit 5V verbunden werden.
Hier einige Bilder von der erstellten Hardware als Lochmaster-Bild. Ich habe
erstmal die Bilder der Vorderseite mit Durchsicht dargestellt.
Die Schaltung zum Steuern
Die Schaltung für die Digitalanzeige (Um es genauer zeigen zu können,
habe ich die 2 vorderen 7-Seg_Anzeigen, sowie das IC 74HC4543 weg gelassen).
Und hier ein kleines Programm zum lesen und setzen der 8Bits der beiden
IC's
www.falko-pure.de/Programme/ReadWrite_USB_RS232.exe
Die Bauteile hierzu erhältst du z.B. günstig bei www.Reichelt.de
Grüße, Falko
mir mal folgende Schaltungen aufgebaut um eine zweistellige
Zahl von 0-99 plus Minuszeichen anzuzeigen. Ein einfaches Testprogramm
für das Lesen und Schreiben von USB2RS232 bzw. nur RS232 hatte ich
schon programmiert. Wenn du nun lust hast kannst du es ja selbst
löten und testen. Die BCD-Codebeschreibung hatte ich ja schon gepostet.
Ich werde dann mal ein kleines Progrämmchen schreiben um die Zahlen
direkt darzustellen. Nun habe ich ja die passende Hardware dazu
Wichtig. Bei dieser Schaltung brauchst du eine 7-Segment-Anzeige mit
gemeinsamer Kathode. Ansonsten müsste Pin 6 mit 5V verbunden werden.
Hier einige Bilder von der erstellten Hardware als Lochmaster-Bild. Ich habe
erstmal die Bilder der Vorderseite mit Durchsicht dargestellt.
Die Schaltung zum Steuern
Die Schaltung für die Digitalanzeige (Um es genauer zeigen zu können,
habe ich die 2 vorderen 7-Seg_Anzeigen, sowie das IC 74HC4543 weg gelassen).
Und hier ein kleines Programm zum lesen und setzen der 8Bits der beiden
IC's
www.falko-pure.de/Programme/ReadWrite_USB_RS232.exe
Die Bauteile hierzu erhältst du z.B. günstig bei www.Reichelt.de
Grüße, Falko
Zuletzt geändert von Falko am 28.05.2009 23:38, insgesamt 2-mal geändert.