LPT1 Pin2 geht nicht aus....

  • VB.NET

Es gibt 37 Antworten in diesem Thema. Der letzte Beitrag () ist von Dodo.

    xD danke ^^

    Hab glaube ich auch ein Video von dir gefunden ?
    Mit den LEDs steuern?

    Da hast du ja auch ein Programm laufen - da kommst du mir jetzt gerade gelegen :)

    Habe für den Autopiloten (wenn man keinelust hat das ding zu steuern) eine Schleife geschrieben:

    VB.NET-Quellcode

    1. Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
    2. ' ***** AUTOPILOT PROGRAMM:
    3. ' Rückmeldung geben:
    4. Label15.Visible = True
    5. ' Für While auf 1 setzenm
    6. apilot = 1
    7. ' die schleife, damits immer wieder von vorne losgeht:
    8. Do While apilot = 1
    9. L1 = 1
    10. Out(&H378, L1 + L2 + L3 + L4 + L5 + L6 + L7)
    11. Wait(3000)
    12. L1 = 0
    13. L2 = 2
    14. Out(&H378, L1 + L2 + L3 + L4 + L5 + L6 + L7)
    15. Wait(3000)
    16. L2 = 0
    17. L3 = 4
    18. Out(&H378, L1 + L2 + L3 + L4 + L5 + L6 + L7)
    19. Wait(3000)
    20. L2 = 0
    21. L3 = 0
    22. Out(&H378, L1 + L2 + L3 + L4 + L5 + L6 + L7)
    23. Wait(3000)
    24. Loop
    25. End Sub


    Zum ausschalten habe ich einen anderen Button mit dieser Funktion belegt:

    VB.NET-Quellcode

    1. Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
    2. 'autopilot stoppen, nimmt diese Variable für die If/else beim apilot starten
    3. apilot = 0
    4. Label15.Visible = False
    5. End Sub


    Problem nur: die Schleife geht nur "mit glück aus" oder einfach gar nicht.
    Jetzt blinken die LEDs hier und sie gehen nicht mehr aus..aaaaaaaaahhh ^^

    Wie hast Du das gelöst ?

    Grüße,
    Wolf
    hmm.. das ist ja -zumindest für diese Funktion*- eher suboptimal.
    Ich müsste ja die Zeit stoppen (Stoppuhr), bis das Programm durchgelaufen ist und dann im Timer einstellen, das er alle X sekunden tickt, um dann wieder das Scanner-Programm auszulösen.

    * Die Funktion werde ich aber gleich in das Farbrad und den Shutter einbauen ^^
    Dann kann man da als 2. Option sagen "Farbe alle X Sekunden wechseln/ alle X sekunden blinken.
    Aloa hey...

    hat sich erledigt ^^ Habe die Timer Funktion erst jetzt kapiert :)
    Inzwischen hat sich wieder so einiges getan:

    beim Shutter bau ich zur Zeit die Halbautomatik:
    man kann immernoch Hoch,Runter (<= TILT)/Links,Rechts(<= PAN) bewegen, allerdings braucht man sich zukünftig nicht mehr ums Farbrad, Shutter und das Relais kümmern.

    Diese können im Halbautomatik Modus alle X Sekunden automatisch aktiviert werden.
    Da einige Funktionen hinzu gekommen sind, im Anhang ein screenie vom neuen Aufbau.


    EDIT

    Ich habe nun auf Version 0.10 aufgerundet :)
    Ich habe meinen Quellcode etwas aufgeräumt und die Halbautomatiken fertig gestellt.
    Was noch kommt sind Überprüfungen ob die Textfelder nicht unter 1 sind, ansonsten sollen die Timer gar nicht erst ausgeführt werden (hängen sich sonst weg).

    Außerdem hinzu gekommen sind Funktionen der Halbautomatiken das die Kontrollen "Steht" und "Läuft" wechseln wenn die Halbautomatik durchschaltet.

    Ein wenig klicki-bunti habe ich auch eingefügt:
    ein Splash Screen mit ein bisschen Werbung ^^


    ToDo:

    Hilfe-Menü / Info-Menü mit allen möglichen erwähnungen, sowie Danksagungen (speziell auch an Jogi!).

    Autopilot.

    Zum automatischen Programmablauf mit Loop habe ich noch eine Frage:
    wie kann ich denn nun eine Schleife so lange laufen lassen, bis ich einen Wert wieder auf 0 setze und diese sich auch zuverlässig beenden lässt?

    Wie Jogi sagte mit dem Timer geht das NICHT. Da der Timer nach einem bestimmten Intervall wieder anfängt.
    Wenn z.B. das Programm nach 7 Sekunden zu ende ist, der Timer aber nur 3 Sekunden läuft, wird die Schleife (also das Programm) ja abgebrochen.

    Oder ist es so das die schleife (egal wie lange) durchläuft dann die z.B. 3 Sekunden PAUSE kommen, und dann wieder von vorne los geht ?

    Ich gehe jetzt schlafe... logisch denken ist heute bei mir nicht mehr xD
    Bilder
    • lptv10.JPG

      62,33 kB, 856×715, 104 mal angesehen

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

    Der Timer macht 3 Sekunden (oder was auch immer du eingestellt hast) PAUSE, dann "tickt" er er einmal und löst somit das Timer_Tick Ereignis aus.
    Wegen der Schleife: Ich würd das mit nem If machen:

    VB.NET-Quellcode

    1. Private Sub Timer1_Tick(...) Handles Timer1.Tick
    2. If L1 = 1 Then
    3. L1 = 0
    4. L2 = 2
    5. Else
    6. If L2 = 2 Then
    7. L2 = 0
    8. L3 = 4
    9. 'und so weiter...
    10. End If
    11. End If
    12. Out(&H378, L1 + L2 + L3 + L4 + L5 + L6 + L7)
    13. End Sub

    Dann brauchst du kein Wait mehr. Jedes mal wenn der Timer tickt, wird das If ausgeführt.


    PS: Ich heiße JogL mit nem L ^^
    JogL , sorry :)
    Inna Diy Community heißt einer JogI daher die verwechslung..

    egal - ich erwähne dich trozdem ^^

    ich werde den Code gleich mal umsetzen.
    Grüße

    //EDIT:
    Da die Autopilot Funktion, die Erweiterten Einstellungen und die Hilfe etwas größer werden habe ich Tabs eingebaut.
    Bilder
    • lptscanner012.JPG

      61,66 kB, 855×655, 98 mal angesehen

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

    moin moin ^^

    ich habe jetzt alles fein säuberlich verkabelt und angeschlossen.
    Komischer weise funkioniert nun auch das PRogramm von Philipp Kolb (.> philipp-kolb.net/philipp_kolb_RC_servo_control.html)

    Der Scannerkopf arbeitet jetzt also.
    Ich kann ihn über den Computer aus nach Links / Rechts und nach Oben/Unten drehen.

    JIHHA !!

    Leider ist das Programm von Philipp K. nicht optimal für mich.
    Ich habe nämlich noch den Shutter und das Farbrad zu betreiben.
    Das Progg von Philipp K. hat leider nur eine Relais Funktion.


    Könnte mir jemand erklären,
    wie er warscheinlich das PWM mit dem Programm erzeugt ?

    Bzw.: könnte für mich jemand einmal mit einem Otzy die Signale auswerten ?
    Ich habe das gefühl, das ich einfach das Prinzip eines PWMs nicht verstanden habe.


    Was ich bereits gemerkt habe: wenn ich eine LED ans LPT Kabel halte, blinkt sie unterschiedlich schnell ^^

    Danke für eure mithilfe :)
    Also, das PWM erzeuge ich jetzt über eine Do-Loop until schleife.

    Merkwürdig finde ich jedoch:
    Das PWM nach links dreht den servo schneller, als nach rechts.

    Jemand eine idee warum ?


    Hier der PWM Quellcode für links:

    VB.NET-Quellcode

    1.   Aus = 0
    2.   Ausz = 1
    3.   Do
    4.   L1 = 1
    5.   Out(&H378, L1 + L2 + L3 + L4 + L5 + L6 + L7)
    6.   Wait(0.5)
    7.   L1 = 0
    8.   Out(&H378, L1 + L2 + L3 + L4 + L5 + L6 + L7)
    9.   Wait(0.9)
    10.   Loop Until Aus = 1


    nach rechts:

    VB.NET-Quellcode

    1. Aus = 1
    2.   Auslz = 0
    3.   Do
    4.   L1 = 1
    5.   Out(&H378, L1 + L2 + L3 + L4 + L5 + L6 + L7)
    6.   Wait(0.6)
    7.   L1 = 0
    8.   Out(&H378, L1 + L2 + L3 + L4 + L5 + L6 + L7)
    9.   Wait(0.51)
    10.   Loop Until Ausrz = 1
    moin,
    sry hatte ich vergessen: die Wait werte hatte ich schon ausprobiert...
    Unter anderem:
    - 2.Wait gleich
    - 2. Wait variabel um auf 20ms zu kommen: 20ms-Wait
    - 2. Wait weg gelassen
    die Resultate daraus: entweder hat sich das Prog weg gehängt (und der Motor ist nach ganz links gefahren)
    oder aber de Motor ist ganz langsam nach rechts gezuckelt.
    Also leider keine positiven Ergebnisse :(
    moin,
    damit hat es leider auch nichts zutun.
    Das Problem liegt an der Schwelle von 0.5 ms und 0.6 ms...
    Bei 0.5ms dreht er sehr schnell nach links, bei 0.6 dreht er langsam nach rechts.
    Wenn ich mit der Zahl höher gehe (z.b. 0.9 oder 1.0ms) dann zuckelt er nur nach rechts... (also sehr langsam, sodas sman die impulse sieht)...
    haha sehr geil, auchn Bastler ^^ ich habe mir früher auch immer so kleine Spielerein gebaut.
    Was hast du denn für Motoren? Normale Gleichstrom oder Schrittmotoren? Ich würde ja für Schrittmotoren plädieren, hat man eine professionellere Positionierung der Spigel.

    Ach bei dem Anblick, würde ich auch mal gerne wieder Basteln, leider schon lange keine Zeit und auch nicht mehr das Material bzw. Werkzeug dafür!

    Edit: Ups habe die 2te Seite nicht gesehen, da steht ja das Servos hast!
    Aufjedenfall sehr geiles Projekt. Ich habe bei mir nen kleinen Laser rumstehen, der keine sonderlich tolle DMX Steuerung hat, bzw. keine Programme die man abrufen kann. Mal sehen vielleicht kann ich ihn ja mitm PC ansteuern, bzw. mir ein Interface dafür bauen.

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