6 Taster / 3 x An|Aus

  • VB.NET

Es gibt 166 Antworten in diesem Thema. Der letzte Beitrag () ist von fraju.

    6 Taster / 3 x An|Aus

    Hallo,

    ich wollte gerne via Paralelport per Schalter 3 Timer steuern. Anfänglich dachte ich dabei an 6 Taster, wobei 3 für das Starten und 3 für das Anhalten des Timers vorgesehen waren. Alternativ hatte ich auch an 3 Kippschalter ( An / Aus ) gedacht.
    Das Problem ist aber -zumindest bei der ersten Variante-, dass ich nur 5 Inputs am Paralelport habe. Könnte ich z.B. auch mit einem Schalter 2 Eingänge auf Low setzen, und das dann abfragen, um eine eindeutige Kombination zu haben oder geht das mit 6 Tastern am Paralelport einfach nicht ?

    MfG. VB.Ghost

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VB.Ghost“ ()

    Ich versuche das gleich nochmal um sicher zu gehen am LTP Port nachzuzeichnen ^^

    Ähhm gibts hier schon einen code für um diese 3 Bits abzufragen ? *Sorry, habe noch nicht viel mit VB in Verbindung mit Hardware gemacht wie man sicher merkt...*

    MfG. VB.Ghost

    // Edit: Hat der Parallelport nicht einen Pin an dem immer 5V anliegen ?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „VB.Ghost“ ()

    Aber ich könnte bevor ich die Schalter benutze also am Anfang des Programms z.B. Pin 2 auf High setzen und die 5 V von da nehmen oder ?

    Ich habe mal versucht das ganze in Paint für den LPT Port zu zeichnen ( img245.imageshack.us/img245/6377/lptdioden.png ). Selbst wenn das so richtig ist bleiben mir aber noch 3 Fragen:

    1. Welche Widerstandswerte ? ( Irgend was im Kiloohmbereich ? )
    2. Welche Dioden und was bewirken die Dioden an der Stelle eigentlich ?
    3. Leider weiß ich immernoch nicht wie ich abfrage, ob einer der Schalter betätigt wird oder nicht ( Taster ).

    MfG. VB.Ghost

    VB.Ghost schrieb:

    1. Welche Widerstandswerte ? ( Irgend was im Kiloohmbereich ? )
    2. Welche Dioden und was bewirken die Dioden an der Stelle eigentlich ?
    3. Leider weiß ich immernoch nicht wie ich abfrage, ob einer der Schalter betätigt wird oder nicht ( Taster ).


    Teste erst einmal ohne Widerstände.
    Pin nur mit Taster gegen Masse.
    Du könntest am Port Pull UP-R haben.

    Dafür benutzt du das

    [VB.NET] inpout32.dll anwenden
    oder du vereinfachst es.
    Wenn die Taster schließen ,kannst du es im Programm sehen.

    "Der Weg ist das Ziel"

    Gruß
    tststs. Bloss nicht ohne Widerstände testen. Das ist dann ein satter Kurzschluß...
    Die Widerstände sollen nur einen Pegel aufrechthalten. Ab 4,7 Kiloohm aufwärts ist ok, da fließt dann etwa 1 mA. Ich nehme meist 33Kiloohm, da ich da mal günstig ran kam...
    Gruß
    Peterfido

    Keine Unterstützung per PN!
    Eine Anleitung hast du nicht zufällig für das Programm geschrieben oder ? ^^ Leider kommen meine bei Reichelt bestellten Teile erst morgen, deswegen kann ich das jetzt im moment nicht ausprobieren ...

    Aber so rein optisch werde ich auch dem Programm noch nicht schlau :pinch:

    MfG. VB.Ghost
    Wenn ich bei dem Schaltplan da oben ohne Widerstände einen Taster schließe ist das für mich ein Kurzschluß. Pull-Ups sind nicht vorhanden. Strobe, autofed, init und select sind Ausgänge und können über Dioden die Schaltung versorgen.
    Gruß
    Peterfido

    Keine Unterstützung per PN!
    Wenn ich bei dem Schaltplan da oben ohne Widerstände einen Taster schließe ist das für mich ein Kurzschluß.
    Warum? Wenn du die Pull-ups weglässt, dann sind die Pins im offenen Zustand floating und im geschlossenen Zustand auf GND. Da gibts nirgendwo nen Kurzschluss?! Wenn der Controller intern Pullups hat (was nicht soo unüblich ist), dann kannst du dir die externen Pullups sparen.
    Ja, dann bau das doch einfach mal nach. Nimm aber zur Sicherheit nicht die 5V vom PC-Netzteil... Der Controller ist in diesem Fall der Chipsatz des Mainboards. Pull-Ups habe ich in der IEEE 1284 nicht gefunden. Und mein Mainboard hat keine (aktivierten) drin.
    Gruß
    Peterfido

    Keine Unterstützung per PN!
    Also anscheinend mache ich aber mit Widerständen auch nichts falsch oder ?

    Welche Dioden soll ich denn da nehmen, ich habe hier ziemlich viele von einer Sorte rumliegen... das steht 1N4 drauf.

    Würde das denn funktionieren mit der von mir gezeichneten Schaltung mit dem Paralelport ( img245.imageshack.us/img245/6377/lptdioden.png ) ?

    MfG. VB.Ghost

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VB.Ghost“ ()

    Ok, Dioden habe ich, Widerstände habe ich und den Plan habe ich auch... Leider kam die Bestellung heute doch noch nicht, also muss ich mich mit dem Basteln / Ausprobieren noch bis morgen gedulden.

    Nun zum Programmiertechnischen: Gibt es da für die Geschichte mit den Dioden schon Quellcodes irgend wo ? Im Forum habe ich leider nichts dazu gefunden...

    Zudem habe ich keine Ahnung was du hiermit meinst, bzw. wie man das umsetzt:
    Du mußt immer nur 3Bits abfragen.
    Jede Taste hat ein Bitmuster .
    MfG. VB.Ghost
    Wenn du mit 1N4 die 1N400X (wobei x = 1...7) meinst, dann sind die die ideal, weil sie einfach nix kosten. Wald- und Wiesendiode hald :D

    Ein digitaler Eingang sieht "von außen" wie folgt aus:

    Wobei die Widerstände hier beispielhafte Größen haben. IdR. sind 100k, 1M, 10M so die Richtgrößen, die man annimmt. Die Widerstände sind keine echten Widerstände, sondern "Leckströme". Wenn ein Eingang einen eingebauten Pullup- oder -downwiderstand hat, dann wird ein echter Widerstand, der bspw. ca. 1/10 der größe der "Leckwiderstände" hat, wodurch bei einem offenen Pin kein "zufälliger" Status besteht (also weder Low noch High), sondern ein bestimmter.

    Parallele Schnittstellen haben (außerhalb des PC-Bereichs) oft auch noch Serienwiderstände oder Strombegrenzungen:

    Die sind meistens gerade so groß, dass der Treiber dahinter bei einem Kurzschluss nicht abbrennt.

    Welche Features in einem/deinem PC vorhanden sind, musst Du rausfinden ;)
    Jedenfalls kann man an digitale Eingänge (wenn sie denn wirklich Eingänge sind!) sowohl VCC (-> Portspezifikation) alsauch GND hängen, ohne irgendwelche weiteren Komponenten. Das wird dann idR. als logische 1 bzw. logische 0 erkannt.