Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
crucido
Anmeldungsdatum: 14.01.2006 Beiträge: 16 Wohnort: Mittelhessen
|
Verfasst am: 14.01.2006, 01:07 Titel: Parallelport-Eingänge intern HIGH setzen? |
|
|
Hallo liebe Basicfreunde.
Meine Frage an alle Bastler externer Schaltungen am PP:
Kann man die 5 Eingänge intern High setzen? Meine Problom ist, dass ich, wie bei Frank Steinberg gesehen, die Eingänge auf Masse (low) lege, um sie zu schalten. Beim PC klappts prima, nur mein alter Läppi hat die Eingänge nicht alle intern high. Nur Ackn. Jetzt könnt ich natürlich über Widerstände die 5V vom Strobe oder so auf die Eingänge ziehen. Würde ich aber gern vermeiden. Geht das?
Gruß,
Cruz |
|
Nach oben |
|
|
Skilltronic
Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 14.01.2006, 13:50 Titel: |
|
|
Hallo
Ich denke da kann man nichts machen, das hängt von der Hardware ab. Wahrscheinlich hat der PC TTL-Eingänge (ligen unbeschaltet auf high) während im Laptop energiesparende CMOS-Bausteine verwendet werden. Bei denen musst du die Eingänge mit einem externen pull-up Widerstand auf 5V "hochziehen".
Gruss
Skilltronic _________________ Elektronik und QB? www.skilltronics.de ! |
|
Nach oben |
|
|
crucido
Anmeldungsdatum: 14.01.2006 Beiträge: 16 Wohnort: Mittelhessen
|
Verfasst am: 14.01.2006, 19:00 Titel: |
|
|
Danke für die schnelle Antwort.
Hmmm.
Das hatte ich befürchtet. Pull-Up Widerstände. Ist das so wie hier?:
So hätte ichs jetzt versucht.
Coole Homepage übrigens.... |
|
Nach oben |
|
|
Michael Frey
Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 14.01.2006, 20:44 Titel: |
|
|
Da machen mir die 330 Ohm Widerstände und die Led mehr sorgen ...
http://www.franksteinberg.de/progss.htm hat Folgendes geschrieben: | ...
Ströme:
Ein Warnhinweis vorweg: Die Datenausgänge (Pins 2 - 9) bitte NICHT direkt mit Masse verbinden, die Schnittstelle kann dadurch beschädigt werden. Damit sind wir auch schon bei den Unterschieden zwischen Daten- und Steuerausgängen: Die Steuerausgänge sind hochohmig und können deshalb keine hohen Ströme liefern. Selbst für Geringstverbraucher reichen die entnehmbaren Ströme (ca. 0,5 mA) nicht aus. Die Datenausgänge können dagegen ca. 2 mA liefern, bevor die Spannung auf Werte unter 2,5 V zusammenbricht. Die Datenausgänge können damit eine Low-Current-LED zum Leuchten bringen (Vorwiderstand ca. 2,2 kOhm), bei den Steuerausgängen ist selbst das Illusion. Was können die Steuerausgänge überhaupt? Na, steuern; z.B. die Eingänge von A/D Wandlern oder sonstigen Digitalschaltungen.
Zu allen Werten beim Parallelport gilt: Die Unterschiede sind groß; die Werte können im individuellen Fall nach oben und unten abweichen.
Zurück zum Inhalt
... |
Betrefflich Strobe als "Stromquelle"
Betrefflich LED an D1 bis D7
Beides ist also recht kritisch,
Strobe bringt eventuell den Strom nicht um die Einänge auf High zuziehen,
und D1 bis D7 können aufgrund des hohen Stromes beschädigt werden. _________________ http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight |
|
Nach oben |
|
|
crucido
Anmeldungsdatum: 14.01.2006 Beiträge: 16 Wohnort: Mittelhessen
|
Verfasst am: 14.01.2006, 23:18 Titel: |
|
|
Jo, hab ich gesehen. Und im Tutorial von Klaus Schreiber
(http://www.o-bizz.de/qbtuts/parport/index.htm) steht: "Die Leitungen (D0 bis D7) sind kurzschlussfest". Überhaupt schreibt jeder über diese Leitungen was anderes. Ich kann da nur sagen: Versuch macht kluch! Kurzschließen wollte ich sie zwar nicht, aber 10 mA für ne LED sind kein Problem. Habe ich schon an diversen alten und neuen Lpt´s getestet (und findet man auch oft im www).
Übrigens: Die Lösung der Eingangsfrage war das Verbinden von Pin 16 über 5,6 K Widerstände mit den 5 Eingängen. 100 K war zuviel. Das macht dann bei Verbindung mit Masse einen Strom von 0.9 mA. Bei mir klappts. Keine Garantie
Gruß,
Crucido |
|
Nach oben |
|
|
Michael Frey
Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 15.01.2006, 08:57 Titel: |
|
|
Mensch, ich mach mir das Leben mit diesen Schnittstellen in Zukunft einfach ...
Wenn die Technischen Daten so fest stehen wie ein Blatt im Wind, verwende ich in Zukunft einfach Treiberstuffen mit universallen Eingangswerten und berechenbaren Ausgangs Werten .
Ehrlich gesagt hatte ich noch schlimmere Schaltungen an LPT als die hier Vorgestellten und kaput gegangen ist noch nie was (Glück gehabt). _________________ http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight |
|
Nach oben |
|
|
crucido
Anmeldungsdatum: 14.01.2006 Beiträge: 16 Wohnort: Mittelhessen
|
Verfasst am: 15.01.2006, 12:54 Titel: |
|
|
Siehst du. Alles halb so wild. Wenn man einen Bastel-PC hat, braucht man keine Datenblätter. Ich hab ja parallel zu den LEDs auch noch den ULN 2803 hängen. Das hat den Vorteil, dass das Interface selbst keine Stromversorgung braucht. Das leuchtet auch so. Und größere Lasten kann man an den Open Collector anschließen. Den Vorschlag mit Pin 16 und den Widerständen hatte ich übrigens aus einem Schulbuch!
Jetzt macht mir nur die Programmierung bissi Kopfzerbrechen. Ich sag nur Spaghetti-Code. Die Eingänge frag ich mit CASE...SELECT ab. Jetzt hab ich ganz viele Cases. Sehr unübersichtlich. Wie bekomm ich denn da mal Ordnung rein? Gibts da einen Trick? |
|
Nach oben |
|
|
ytwinky
Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 15.01.2006, 13:04 Titel: |
|
|
crucido hat Folgendes geschrieben: | Jetzt macht mir nur die Programmierung bissi Kopfzerbrechen. Ich sag nur Spaghetti-Code. Die Eingänge frag ich mit CASE...SELECT ab. Jetzt hab ich ganz viele Cases. Sehr unübersichtlich. Wie bekomm ich denn da mal Ordnung rein? | Mit Select Case hast du doch schon eine übersichtliche Form..
Du solltest dir mal den Spaß machen und den ganzen Select Case-Kram in
IF..ELSE..ELSEIF..END IF aufzudröseln, dann noch ein paar ':' an passender Stelle:
DAS ist Spaghetti-Code(und zwar vom Allerfeinsten )
Gruß
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
|
Michael Frey
Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 15.01.2006, 13:32 Titel: |
|
|
Wer Case verwendet, macht keinen Spaghetti Code!
Echter Spaghetti Code entsteht es bei intensiver Verwendung von GOTO/GOSUB im zusammenspiel mit "zu faul zum einrücken".
Zur Ordnung:
Es geht recht einfach:
Mach Subroutinen!
Gib ihnen Sinnvolle Namen und schon sieht's schön übersichtlich aus.
Ganz Nobel wird es wenn man an den Anfang der Subroutine kurz beschreibt was sie wie macht (nicht im Detail nur die Idee dahinter). _________________ http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight |
|
Nach oben |
|
|
crucido
Anmeldungsdatum: 14.01.2006 Beiträge: 16 Wohnort: Mittelhessen
|
Verfasst am: 15.01.2006, 16:55 Titel: |
|
|
AAh! Sieht besser aus. Mit den Subroutinen ist eine klasse Sache. Danke sehr für den Tip.
GOSUB wollte irgendwie nicht klappen. Vielleicht wegen den Cases.
OK, neues Problem: Ich lasse mit dem Programm immer einen Schlitten hin und herfahren. Gibt zwei Endschalter, der eine macht Case 119 und der andere Case 63. Bis der Schlitten den anderen "Case" schaltet, wird der eine mit DO.. UNTIL..LOOP gehalten (ich weiß nicht, darf man sein Programm hier posten?). Klappt jedenfalls prima, immer hin und her. Jetzt will ich aber, dass der Schlitten 3 mal hin und herfährt und dann aufhört. Habs mit ner FOR 1 to 3 NEXT Schleife probiert, ging aber nicht. Any Suggestions?
Gruß,
Der ewig lernende Cruz |
|
Nach oben |
|
|
Michael Frey
Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 15.01.2006, 17:27 Titel: |
|
|
Danke, das du erst fragst und dann Handelst.
Nein, dein Programm scheint zu Gross zu sein, es gilt als Unhöflich grosse Programme hier direkt zu Posten.
Weil wir aber eben Ein Programmierforum sind, gibt es trotzdem eine Lösung:
Poste den Code auf http://fb.exp-soft.de/fbnp/ und Poste dann hier nur den Link zum Quellcode.
By the Way: Welche Programmiersprache benutzt du eigentlich?
(Freebasic/ QBasic/ QuickBasic) _________________ http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight |
|
Nach oben |
|
|
crucido
Anmeldungsdatum: 14.01.2006 Beiträge: 16 Wohnort: Mittelhessen
|
Verfasst am: 15.01.2006, 22:06 Titel: |
|
|
Dachte ich mir schon. Ich fänds auch unhöflich. Benutze Qbasic von der tollen Bootdiskette von Frank Steinberg. An dieser Stelle sei es ihm gedankt. Nur dieser Volkov...
Aber ich schweife ab.
So, hier der Link: http://fb.exp-soft.de/fbnp/index.php?view=158
Wichtig ist eigentlich nur der Teil bis Zeile 30, der Rest sind Zusatzfunktionen. Sieht in diesem Formular viel cooler aus, der Code _________________ "Wer weiß das er nichts weiß, ist klüger als der, der nicht weiß, dass er nichts weiß." |
|
Nach oben |
|
|
Michael Frey
Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
|
Nach oben |
|
|
crucido
Anmeldungsdatum: 14.01.2006 Beiträge: 16 Wohnort: Mittelhessen
|
Verfasst am: 18.01.2006, 01:10 Titel: |
|
|
Coolsen! Vielen Dank, hat auf Anhieb geklappt. Tja, der Trick mit dem I+1... Na ja, bin ja noch neu.
Ich will ja nicht nerven, aber ich wollte jetzt noch eine Abfrage einbauen, ob es von Vorn losgehen soll oder nicht:http://fb.exp-soft.de/fbnp/index.php?view=163.
Nachdem I=3 (Zeile 20) ist soll er zum SUB abfrage (Zeile 76) . Wenn "b" gedrückt wird, soll er beenden, für "f" soll er zur Marke "start" im Hauptprogramm. Dann soll I=3 mit I=0 überschrieben werden und los gehts von Vorn. Klappt aber nicht. Scheinbar kann man aus einem Sub nicht ins Hauptprogramm springen. Habs im Hauptprogramm mit GOTO versucht, ging aber auch nicht. Wenn es nicht zuviel Ungemach bereitet, wär ich für einen weiteren Tip sehr dankbar.
El Cruzo _________________ "Wer weiß das er nichts weiß, ist klüger als der, der nicht weiß, dass er nichts weiß." |
|
Nach oben |
|
|
Michael Frey
Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 18.01.2006, 20:33 Titel: |
|
|
GOTO sollte sowieso nicht verwendet werden.
Als Tipp kann ich dir Folgendes anbieten:
Pack das jetzige Hauptprogramm (also etwa Zeile 9 bis 74) in eine Sub (im späteren Verlauf nen ich sie jetzt HAUPT).
An die Stelle diese Codes kommt nun das hier:
Code: |
CALL HAUPT
do
CLS
LOCATE 14, 20
PRINT "B zum Beenden, F zum Fortsetzen"
b$ = INKEY$
IF b$ = "b" THEN
END
END IF
IF b$ = "f" THEN
CALL HAUPT
END IF
loop
|
Ohne es geprüft zu haben, gehe ich davon aus das es geht.
Denn Namen "HAUPT" kannst du natürlich auch ändern. _________________ http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight |
|
Nach oben |
|
|
ytwinky
Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 18.01.2006, 20:48 Titel: |
|
|
Michael Frey hat Folgendes geschrieben: | GOTO sollte sowieso nicht verwendet werden. | ..ganz meine Meinung, aber ich will diese Diskussion nicht neu anfangen Michael Frey hat Folgendes geschrieben: | Code: | CALL HAUPT
do
CLS
LOCATE 14, 20
PRINT "B zum Beenden, F zum Fortsetzen"
b$ = INKEY$
IF b$ = "b" THEN
END
END IF
IF b$ = "f" THEN
CALL HAUPT
END IF
loop
|
| Wenn ich dem Benutzer anbiete, 'B' bzw. 'F' zu nehmen, muß ich davon ausgehn, daß einer das auch macht
Deshalb sollte imho das Programm diesen Fall auch abfangen. Das ist nun einfach: Code: | b$ = LCase$(INKEY$) | So ist es egal, ob der Benutzer SHIFT drückt oder aus Versehen CAPS LOCK aktiviert hat
Gruß
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
|
crucido
Anmeldungsdatum: 14.01.2006 Beiträge: 16 Wohnort: Mittelhessen
|
Verfasst am: 19.01.2006, 17:25 Titel: |
|
|
Danke für die guten Tips! Werds am WE mal testen. Vorher komm ich leider nicht dazu.
P.S. War heute an der Uni Giessen und hab mir das Basic-Praktikum angesehen: http://www.strz.uni-giessen.de/amp/PCpraktikum.htm. Die schließen auch ihre LEDs über 150 Ohm direkt an die DA´s an und benutzen sogar zusätzlich die Steuerausgänge. Die LEDs sind daran aber ziemlich dunkel.
Gruß, Crucido _________________ "Wer weiß das er nichts weiß, ist klüger als der, der nicht weiß, dass er nichts weiß." |
|
Nach oben |
|
|
Michael Frey
Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 19.01.2006, 19:14 Titel: |
|
|
Meine Meinung zur Info's einer Uni:
Ich kenne Berufschullehre die Elektrotechnik geben und der empfihlt eine Schaltung die Offensichtlich Mist ist ...
(Eine Batterie beinahe Kurzschliessen um die maximale Leistung rauszuhollen)
Ein Studierte Irgendwas in unserem Betrieb läd defekte Akku's mit einer Nennspannung von 8.6 Volt mit rund 10 Volt auf und der hat das Gefühl es sei ein Gute Idee ...
Kurz gesagt: Der Gesunde Menschenverstand hilft oft weiter als irgendein Titel ...
Zudem heisst es auf der Seite "Institut für Atom- und Molekülphysik",
Fach: "Fachbereich Mathematik und Informatik, Physik, Geographie"
Titel: "Messen, Steuern und Regeln mit dem PC"
Einer Universität eines solchen Fachgebiets, traue ich offengesagt nicht das passende Fachwissen für solche Sachen zu. _________________ http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight |
|
Nach oben |
|
|
crucido
Anmeldungsdatum: 14.01.2006 Beiträge: 16 Wohnort: Mittelhessen
|
Verfasst am: 19.01.2006, 19:51 Titel: |
|
|
Nun ja. Stimmt auch wieder. Immerhin waren sie (für Atomphysiker) freundlich und kooperativ. Das mit den Steuerausgängen find ich auch etwas zu rustikal. Dieser ULN 2803 kost ja nicht die Welt.... _________________ "Wer weiß das er nichts weiß, ist klüger als der, der nicht weiß, dass er nichts weiß." |
|
Nach oben |
|
|
|