Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Schulprojekt

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
lugez



Anmeldungsdatum: 06.04.2010
Beiträge: 6

BeitragVerfasst am: 06.04.2010, 10:04    Titel: Schulprojekt Antworten mit Zitat

Hallo Forumfreunde

ich bin Schüler in einer 10. Klasse einer Realschule in
Baden-Württemberg. Zurzeit führe ich ein Schulprojekt im Profilfach
"Technik" durch.
Dabei geht es darum, eine 7-Segment Anzeige anzusteuern, dabei habe ich
mir überlegt, dass ich dies evtl. mit GW-Basic oder Q-Basic über den seriell Port machen könnte. Leider
kenne ich mich in GW-Basic und Q-Basic nicht besonders gut aus.
Meine Frage an euch wäre, ob ihr mir vielleicht Tipps für die
Programmierung eins Programmes zur Ansteuerung einer 7-Segment anzeige
geben könnten.

Ich danke euch bereits im Voraus

Lukas Schmid
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Stueber



Anmeldungsdatum: 07.07.2008
Beiträge: 202

BeitragVerfasst am: 06.04.2010, 11:46    Titel: Antworten mit Zitat

QBasic oder noch besser FreeBASIC ist eine gute Idee für sowas, aber um dir zu helfen musst du sagen wie die 7-Segement anzeige an den Computer angeschlossen wird. Ist das vorgegeben oder kann man das frei entscheiden?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
lugez



Anmeldungsdatum: 06.04.2010
Beiträge: 6

BeitragVerfasst am: 06.04.2010, 17:51    Titel: Antworten mit Zitat

hallo,

man soll die 7 Segment-Anzeige über einen D-Sub Stecker ansteuern. Die Bauteile etc. habe ich auch schon gekauft und verbaut. Dabei habe ich herausgefunden, dass die Portbelegung vorgeschrieben ist. Wenn ich die den Stecker in die Schnittstelle einstecke, dann leuchten auch alle Segmente.

Gibt es evlt. eine bessere Möglichkeit die 7 Segment-Anzeige anzusteueren?

mfG
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
-schumi-



Anmeldungsdatum: 28.10.2009
Beiträge: 131
Wohnort: Südbayern

BeitragVerfasst am: 06.04.2010, 19:35    Titel: Antworten mit Zitat

Zitat:
QBasic oder noch besser FreeBASIC ist eine gute Idee für sowas

Dem muss ich zustimmen, aber unter Windows würde ich persönlich FreeBASIC bevorzugen



Wünschenswert währen noch genauere Angaben zur Verbindung mit den Port

Falls die 7 Segmente Funktionieren wie 7 Leds die man unabhängig voneinander ansteuern möchte ist es sehr warscheinlich, das jedes Segment den Zustand der Bits 0-6 des Bytes das man an den Port sendet darstellt.

Das Ganze funktioniert folgendermaßen:

Basisadresse rausfinden: Das geht am besten im Bios. Dort sind die Einträge für alle LPT und COM-Ports. Der Pararellport ist ein LPT, also z.B. LPT1 - je nach dem wo du das Teil anschließt. (Bei LPT1 liegt die Adresse meistens bei &H378, also 378hex - aber nicht drauf verlassen!)

Das ganze kann man dann so ansteuern:
OUT [BASISADRESSE] , [BYTE]
Beispiel:

OUT &H378,255
Byte binär: 11111111
setzt alle Bits high, also alle Segmente leuchten

OUT &H378,0
Byte binär: 00000000
setzt alle Bits low, also alle Segmente sind aus

OUT &H378,87
Byte binär: 11101010
alle Segmente außer Nr. 4 und 6 leuchten

Lesen wie die einzellnen Bits gesetzt sind:
aktByte=INP( [BASISADRESSE] )
(aktByte ist irgendeine Variable)

"umdrehen" einzellner Bits:
OUT [BASISADRESSE], INP( [BASISADRESSE] ) XOR [BITNR]
z.B.
OUT &H378, INP(&H378) XOR 2
ACHTUNG!!: Bitnummer=Segmentnummer-1
also: Das 3. Segment geht aus oder geht an

Ich hab das alles von der allerwärmstens zu empfehlenden Website:

http://franksteinberg.de/progss.htm

Da ist wirklich alles in Bezug auf Schnittstellen zu finden!

Grüße aus dem schönen Bayernland + Viel Erfolg zwinkern
-schumi-


Zuletzt bearbeitet von -schumi- am 10.04.2010, 20:11, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
lugez



Anmeldungsdatum: 06.04.2010
Beiträge: 6

BeitragVerfasst am: 07.04.2010, 11:40    Titel: Antworten mit Zitat

hey,

danke für dein Bemühen, die Seite und deine Tipps sind echt klasse!
Leider tue ich mir noch ein bisschen schwer mit der Umsetzung, da es noch nicht so richtig funktioniert. Ich muss mich wohl noch weiter in die Materie hineinknien.

mfG
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
-schumi-



Anmeldungsdatum: 28.10.2009
Beiträge: 131
Wohnort: Südbayern

BeitragVerfasst am: 07.04.2010, 19:07    Titel: Antworten mit Zitat

Zitat:
danke für dein Bemühen

Naja, die Bemühungen hielten sich in Grenzen. Ich beschäftige mich schon lange mit dem Thema, vor allem weil die Ansteuerung (wenn man es einmal überrissen hat) wirklich sehr unkompliziert ist.
Was nicht heißen soll das du dich doof anstellst!!!! ;)

Hast du es denn schon geschafft, dass die Segmente "Ziellos" aus/an gehen?
wenn ja, währe es ratsahm folgendes zu machen:
OUT &H378,2^0 (=1)
notieren welches Segment für Bit 0 leuchtet
OUT &H378,2^1 (=2)
notieren welches Segment für Bit 1 leuchtet
OUT &H378,2^2 (=4)
notieren welches Segment für Bit 2 leuchtet
OUT &H378,2^3 (=8)
notieren welches Segment für Bit 3 leuchtet
OUT &H378,2^4 (=16)
usw.

dann könntest du schon mehrere bestimmte Segmente zum Leuchten bringen, also z.B. Zahlen darstellen
das würde dann so gehen:
z.B.
Segment 2, 4 und 5 leuchten, alle anderen sind aus:
OUT &H378, 2^(2-1) + 2^(4-1) + 2^(5-1)

MFG
-schumi-
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
lugez



Anmeldungsdatum: 06.04.2010
Beiträge: 6

BeitragVerfasst am: 08.04.2010, 18:05    Titel: Antworten mit Zitat

Hallo,

nein leider habe ich es noch nicht geschafft, dass die Segmente ziellos aus und an gehn.
Ich weis noch nicht genau an was es liegt, aber ich werde nun erstmal die Portbelegung kontrollieren und dann weiter schauen.

Oder hast du sonst eine Idee an was es liegen könnte?

mfG
Lukas Schmid
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
-schumi-



Anmeldungsdatum: 28.10.2009
Beiträge: 131
Wohnort: Südbayern

BeitragVerfasst am: 08.04.2010, 18:31    Titel: Antworten mit Zitat

Möglich, aber total-überaus-äußerst unwahrscheinlich: die Anzeige hat einen eigenen Controler, an den man dann einen bestimmten Codestrang senden muss
Aber das glaub ich bei mickrigen 7 Segmenten kaum!

könntest du mal einen Link von einem Schaltplan posten? Das würde die Sache schon deutlich vereinfachen

MFG
-schumi-
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
lugez



Anmeldungsdatum: 06.04.2010
Beiträge: 6

BeitragVerfasst am: 08.04.2010, 21:33    Titel: Antworten mit Zitat

Hallo,

leider habe ich keinen detaillierten Schaltplan

aber im Prinzip müssten diese Links ungefähr dasselbe darstellen. (meine 7 Segmentaneige ist von Kingbright (25mm höhe, bei dieser Anzeige sind pro Segment 2 Dioden in Reihe geschaltet. Gemeinsame Anode) )

http://www.mikrocontroller.net/articles/AVR-Tutorial:_7-Segment-Anzeige

http://lehrerfortbildung-bw.de/kompetenzen/projektkompetenz/teilzeit_bsp_elektro/7_segment_schueler/ergebnis.htm

Danke für deine Bemüungen, die du bereits jetzt getan hast
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
-schumi-



Anmeldungsdatum: 28.10.2009
Beiträge: 131
Wohnort: Südbayern

BeitragVerfasst am: 09.04.2010, 18:07    Titel: Antworten mit Zitat

Zitat aus deinem 2. Link:
Zitat:
...der nun in die 4 Eingänge eines ICs geladen wird. Dieses IC stellt nun die benötigten Segmente a, c, d, f, g fest und gibt das Ergebnis an die 7 Ausgänge weiter


--> also doch ein Controler

d.h. Wenn du z.B. ein 5 auf das Display schreiben willst müssen die 4 Eingänge so geschaltet sein, wie eine 5 binär aussieht: 0101

Wenn die Eingänge des ICs einfach nur mit den Ausgängen des Ports verbunden sind (davon gehe ich jetzt einfach mal aus) müsstest du für eine 5 einfach nur
OUT [BASISADRESSE], 5
eingeben, denn am Port wird die Zahl binär dargestellt, denn die 8 Ausgangspins sind eh so high/low wie die Zahl binär ausschaut. Von den 8 Ausgangspins werden dann nur die ersten oder letzten 4 benutzt

Man könnte also theoretisch zwei solche Displays an einem Port betreiben...

MFG
-schumi-

PS: bist du denn sicher, dass du den richtigen LPT-Port ansteuerst?


Zuletzt bearbeitet von -schumi- am 10.04.2010, 20:12, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 09.04.2010, 21:12    Titel: Antworten mit Zitat

-schumi- hat Folgendes geschrieben:
Ich beschäftige mich schon lange mit dem Thema

Dann sollte dir inzwischen aber doch auffallen, dass du LPT, die Abkürzung für Line Printing Terminal, eigentlich immer verkehrt schreibst. zwinkern
-schumi- hat Folgendes geschrieben:
PS: bist du denn sicher, dass du den richtigen LTP-Port ansteuerst?


Normalerweise sind kleine Rechtschreibfehler in Forenbeiträgen ja kein Problem, aber dadurch, dass du beharrlich "LTP" schreibst, könntest du den Fragesteller vielleicht etwas durcheinander bringen. zwinkern Bei so einer Schnittstellenbezeichnung spielt die Reihenfolge der Buchstaben ja schon eine Rolle, wenn man Infomaterial sucht.
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
funkeld
gesperrt


Anmeldungsdatum: 10.10.2009
Beiträge: 179

BeitragVerfasst am: 10.04.2010, 17:46    Titel: Antworten mit Zitat

Denk dran, das diese Minus-Seitig angesteuert wird mit einem Vorwiderstand nach Plus...sonst LPT hinüber lächeln

Gruss
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
-schumi-



Anmeldungsdatum: 28.10.2009
Beiträge: 131
Wohnort: Südbayern

BeitragVerfasst am: 10.04.2010, 20:38    Titel: Antworten mit Zitat

Zitat:
Dann sollte dir inzwischen aber doch auffallen, dass du LPT, die Abkürzung für Line Printing Terminal, eigentlich immer verkehrt schreibst. zwinkern


Oha, das tut mir wirklich leid.. mit dem Kopf durch die Mauer wollen
Vielen Dank dass du mich drauf hingewiesen hast!!

Werds mir merken (hoffe ich zwinkern)

Hab alles ausgebessert, nicht dass ich doch noch einen in die Irre führe..

@funkheld:
Zitat:
...mit einem Vorwiderstand nach Plus...sonst LPT hinüber...

Gut du es erwähnst!! lächeln
(auch wenn ich eher glaube dass das schon fertige Module sind, sonst währe es ja sehr warscheinlich dass er sich den Schaltplan aus dem i-net runtergeladen hat und nen Link hätte posten können)

MFG
-schumi-
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Skilltronic



Anmeldungsdatum: 10.09.2004
Beiträge: 1148
Wohnort: Köln

BeitragVerfasst am: 11.04.2010, 18:10    Titel: Antworten mit Zitat

Hallo

Wenn du nur Zahlen mit den 7-Segment-Anzeigen darstellen willst und nicht jedes Segment einzeln ansteuern musst, dann würde ich dir raten, 7-Segment-Decoder zu benutzen. Das sind ICs, die z.B. aus einem binären Eingangssignal (für die zehn Zahlen von 0-9 braucht man nur vier Bit = 16 Kombinationsmöglichkeiten) ein Ausgabesignal für die 7 Segmente erzeugen. So kannst du die Zahl der benötigten PC-Ausgänge verringern.

Noch einfacher geht es mit dem CMOS-IC 4026. Das sind Dezimalzähler, die schon 7-Segment-Ausgänge haben. Die zählen eingehende Steuerimpulse, und geben den Zählerstand von 0-9 in Form eines 7-Segmentmusters aus. Beim Überlauf, also wenn der Zähler von 9 auf 0 zurückspringt, gibt der IC ein Übertragsignal aus, das vom nächsten IC wieder als Zählimpuls für die nächste Dezimalstelle verwendet werden kann.

Damit kannst du im Prinzip beliebig viele 7-Segmentanzeigen mit nur zwei PC-Ausgängen steuern. Mit dem einen setzt du alle Zähler gemeinsam auf 0 zurück, mit dem andern sendest du daraufhin die gewünschte Anzahl von Zählimpulsen. Sollen die Anzeigen die Zahl 735 darstellen, sendest du eben 735 Impulse. Das geht so schnell, dass das Auge nichts vom Hochzählen mitbekommt.

Gruß
Skilltronic
_________________
Elektronik und QB? www.skilltronics.de !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
frebas



Anmeldungsdatum: 20.06.2008
Beiträge: 245

BeitragVerfasst am: 12.04.2010, 20:55    Titel: Antworten mit Zitat

Skilltronic hat Folgendes geschrieben:
Hallo

Wenn du nur Zahlen mit den 7-Segment-Anzeigen darstellen willst und nicht jedes Segment einzeln ansteuern musst, dann würde ich dir raten, 7-Segment-Decoder zu benutzen. Das sind ICs, die z.B. aus einem binären Eingangssignal (für die zehn Zahlen von 0-9 braucht man nur vier Bit = 16 Kombinationsmöglichkeiten) ein Ausgabesignal für die 7 Segmente erzeugen. So kannst du die Zahl der benötigten PC-Ausgänge verringern.

Noch einfacher geht es mit dem CMOS-IC 4026. Das sind Dezimalzähler, die schon 7-Segment-Ausgänge haben. Die zählen eingehende Steuerimpulse, und geben den Zählerstand von 0-9 in Form eines 7-Segmentmusters aus. Beim Überlauf, also wenn der Zähler von 9 auf 0 zurückspringt, gibt der IC ein Übertragsignal aus, das vom nächsten IC wieder als Zählimpuls für die nächste Dezimalstelle verwendet werden kann.

Damit kannst du im Prinzip beliebig viele 7-Segmentanzeigen mit nur zwei PC-Ausgängen steuern. Mit dem einen setzt du alle Zähler gemeinsam auf 0 zurück, mit dem andern sendest du daraufhin die gewünschte Anzahl von Zählimpulsen. Sollen die Anzeigen die Zahl 735 darstellen, sendest du eben 735 Impulse. Das geht so schnell, dass das Auge nichts vom Hochzählen mitbekommt.

Gruß
Skilltronic

Er muss sich nur um die Software kümmern die den LPT oder COM Port steuert, die Hardware soll er denke ich mal nicht verändern.

edit: aber den IC werden ich demnächst mit bestellen...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
lugez



Anmeldungsdatum: 06.04.2010
Beiträge: 6

BeitragVerfasst am: 28.09.2010, 21:16    Titel: Ergebnis Antworten mit Zitat

danke an alle die mir geholfen haben, dass schulprojekt hat ne 1- gegeben...

mfG
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Devilkevin
aka Kerstin


Anmeldungsdatum: 11.11.2004
Beiträge: 2532
Wohnort: nähe Mannheim

BeitragVerfasst am: 30.09.2010, 00:46    Titel: Antworten mit Zitat

Darf man fragen an welcher schule das war?
_________________
www.piratenpartei.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 30.09.2010, 16:27    Titel: Antworten mit Zitat

Ich habe mir die Frage ja verkniffe. Aber 10. Klasse und 7ner Anzeigen? Ist das nicht etwas zu schwer? grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Stueber



Anmeldungsdatum: 07.07.2008
Beiträge: 202

BeitragVerfasst am: 30.09.2010, 18:05    Titel: Antworten mit Zitat

Zitat:
Aber 10. Klasse und 7ner Anzeigen? Ist das nicht etwas zu schwer? grinsen

Ähhhh was soll man sonst machen? In der Schule geht man allgemein davon aus, dass der Stoff für alle etwas neues ist, was auch der Wahrheit entspricht, wenn man sich in seiner Freizeit nicht privat damit beschäftigt hat. Soll man jetzt gleich mit der ganzen Klasse irgendwelche MC's programmieren oder wie?

Ich besuche ein Gymnasium in BW und alles was über Wiederstände und LED's hinaus geht wurde nur minimal besprochen im Wahlfach NWT, das weder Pflicht ist, noch einen festen Lehrplan auf Landesebene besitzt.
Wenn sich ein Fach nicht ausschließlich mit Elektronik beschäftigt ist eine 7-Segment-Anzeige ein gutes erstes oder zweites Projekt in der Lehreinheit.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 01.10.2010, 17:29    Titel: Antworten mit Zitat

Naja ok wir haben als mehrwöchiges Projekt Radios und Klatschschalter gebaut XD
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz