LED ansteuern

  • VB.NET

Es gibt 58 Antworten in diesem Thema. Der letzte Beitrag () ist von Pilotzi.

    LED ansteuern

    Hallo,

    Ich hab mich hier in diesen Bereich eig. Nie reingetraut weil ich gedacht hab das es eh zu schwer ist.
    Doch heute musste es mal sein.

    Meine Idee:

    Mann muss den Transistor doch jetzt nur mit 0,7 VOlt ansteuernd dann sollte die LED angehen oder nicht ? ^^
    Kann mir einer nen Quelltext geben oder ausschnitte daraus wie ich per Button in VB 2008 an irgenteinen Pin des RS232 Ports ein Signal rausbekomme ?
    (das signal sollte stehen bleiben (I))
    Das wäre echt Super.

    MfG Killer3d (Woar wäre das hammer) Vielen dank schonmal im Vorraus
    Ich hab mal wa sgefunden aber so ganz Funktioniertd as nicht

    Quellcode

    1. Es wurde versucht, eine Datei mit einem falschen Format zu laden. (Ausnahme von HRESULT: 0x8007000B)


    VB.NET-Quellcode

    1. Public Class Form1
    2. Public Declare Function Inp Lib "inpout32.dll" Alias _
    3. "Inp32" (ByVal PortAddress As Integer) As Integer
    4. Public Declare Sub Out Lib "inpout32.dll" Alias "Out32" _
    5. (ByVal PortAddress As Integer, ByVal Value As Integer)
    6. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    7. Out(4, 1)
    8. End Sub
    9. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    10. Out(4, 0)
    11. End Sub
    12. End Class
    ich hab das ganze mim parallelport gemacht.
    is ein bisschen angenehmer, weil man da keinen transitor braucht(solange es nur eine led ist).
    der parallelport hat im high-pegel 5v. den darf man zwar nicht sehr belasten, aber wenn du da nen vorwiderstand vorknallst, passiert da nichts.

    dafür bräuchtest du auch nur bei deinem code, bei out die werte in (888,255) zu ändern

    888-> ist der port
    255-> setzt die data-bit ausgänge auf ein.
    Danke. VB meldet aber den Fehler: SEHException wurde nicht behandelt. Eine externe Komponente hat eine Ausnahme ausgelöst.

    Hier mein Code:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Public Declare Function Inp Lib "inpout32.dll" Alias _
    3. "Inp32" (ByVal PortAddress As Integer) As Integer
    4. Public Declare Sub Out Lib "inpout32.dll" Alias "Out32" _
    5. (ByVal PortAddress As Integer, ByVal Value As Integer)
    6. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    7. End Sub
    8. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    9. Out(888, 255)
    10. End Sub
    11. End Class


    Was stimmt da nicht?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VBnator“ ()

    Du musst noch ein Vorwiderstand in dein Schaltkreis machen, da LEDs immer mit Vorwiderstand betriebn werden müssen, da ansonsten ein zu hoher Strom durch sie fließt und damit kaputt geht.

    R = U / I = 5V / 15mA = 250 Ohm

    15mA ist die Stromstärke mit der die LED betriebn wird.
    Hallo

    ich bin eben durch zufall hier ins forum gekommen und habe gesehen das genau das problem was ich habe hier behandelt wurde^^

    Mein Anliegen war es auch eine oder mehrere LEDs am comport zum leuchten zu bringen.

    Hat nicht jemand zufällig eine seite oder einen artikel wo man erfährt was zu tun ist und wo die vorgänge im code erklärt werden?

    oder hat nicht jemand aus dem forum die fähigkeit uns (ich bin ja nicht der einzige mit dem Anliegen) das mal zu erklären?

    Freue mich auf Antowrten gruß Marius
    Ah ja ok danke für die antwort aber ich bekomm wenn ich dann beim debuggen auf den "an" button klicke eine meldung das er die .dll nicht gefunden hat!?

    "Die DLL inpout32.dll: Das angegebene Modul wurde nicht gefunden. (Ausnahme von HRESULT: 0x8007007E) kann nicht geladen werden."



    muss ich die speziell irgendwo hin kopieren? eine runtergeladen habe ich schon.

    Danke für die mühe gruß Marius
    Hi

    jetzt bin ich einen schritt weiter allerdings kommt jetzt der gleiche fehler wie bei vbnator:



    Fehler: SEHException wurde nicht behandelt. Eine externe Komponente hat eine Ausnahme ausgelöst.

    weiß einer was man da gegen machen kann? der fehler wird in der zeile

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Out(4, 1) <------------------------------HIER

    angezeigt. kann mir einer helfen?

    danke gruß marius
    Dodo hat das falsch erklärt.

    Richtig ist es so:

    VB.NET-Quellcode

    1. Out(Port, Wert)


    Port ist die Adresse des LPT-Ports, normalerweise 888 oder &H378 (beides das selbe nur anders geschrieben :D)

    Wert ist der Wert den du am LPT-Port ausgeben willst.
    Pin 2 = 1
    Pin 3 = 2
    Pin 4 = 4
    Pin 5 = 8
    Pin 6 = 16
    Pin 7 = 32
    Pin 8 = 64
    Pin 9 = 128
    Sorry tut mir echt leid das ich mich so doof anstelle aber ich hab noch nicht so viel ahnung davon und möchte das wirlich gerne lernen.

    habe jetzt folgenden fehler ich glaube es ist wieder der gleich habe mal ein screenshot gemacht








    danke gruß marius
    Nunja ich habe es mir aus anderen Projekten rausgesucht *g*
    Hatte bisher noch nichts mitm LPT gemacht, aber deins leuchtet ein ^^

    Die Pins kann man sich aus als 8Bit Binärcode vorstellen.
    2 3 4 5 6 7 8 9 <- Pins
    0 0 0 0 0 0 0 0 <- Binärcode

    Wenn du jetzt Pin 4 und 6 auf AN setzten möchtest musst du sie im Binärcode auf 1 Setzten

    0 0 1 0 1 0 0 0

    also

    VB.NET-Quellcode

    1. Out(&H378, "0010100")