Ayuda con codigo visual basic (Control de motores a pasos)

Lord Overlord

Bovino Milenario
#1
Un saludo a todos, aca de pregunton, con una duda acerca de un codigo que me dejaron en la escuela.
Se trata de hacer un controlador de motores a pasos con visual, con el que se debe de controlar la velocidad y sentido de giro de un motor a pasos.
La aplicacion ya esta para el sentido de las manecillas del reloj (CW), pero al intentar invertir el giro, simplemente en el programa se trauma en el shape que este pasando.
No gira al reves y como que no se aumenta ni disminuye la velocidad con la scroll bar.

Aca esta el archivo zip para que chequen.
http://www.megaupload.com/?d=JY3NXAS0

Aca pongo el codigo en texto plano, me gustaria que alguien me apoyara.

Private Sub Command1_Click()
If Option1.Value = True Then
Timer1.Enabled = True
Timer2.Enabled = False
Else
Option2.Enabled = True
Timer1.Enabled = False
Timer2.Enabled = True
End If
End Sub
Private Sub Command2_Click()
Timer1.Enabled = False
End Sub
Private Sub Command3_Click()
End
End Sub
Private Sub Timer1_Timer()
Static Num As Integer

Select Case Num
Case 0
Shape1(3).BackColor = &HC0C0C0
Shape1(2).BackColor = &HC0C0C0
Shape1(1).BackColor = &HC0C0C0
Shape1(Num).BackColor = vbRed
Case 1
Shape1((Num - 1) Mod 4).BackColor = &HC0C0C0
Shape1(Num).BackColor = &H80FF&
Case 2
Shape1((Num - 1) Mod 4).BackColor = &HC0C0C0
Shape1(Num).BackColor = vbGreen
Case 3
Shape1((Num - 1) Mod 4).BackColor = &HC0C0C0
Shape1(Num).BackColor = vbBlue
End Select
Num = (Num + 1) Mod 4
Timer1.Interval = 200
Timer1.Enabled = True
End Sub
Private Sub Timer2_Timer()
Static Nom As Integer
Option2.Value = True
Option1.Value = False
Select Case Nom
Case 4
Shape1(0).BackColor = &HC0C0C0
Shape1(1).BackColor = &HC0C0C0
Shape1(2).BackColor = &HC0C0C0
Shape1(3).BackColor = vbRed
Case 5
Shape1((Nom + 1) Mod 4).BackColor = &HC0C0C0
Shape1(Nom).BackColor = &H80FF&
Case 6
Shape1((Nom + 1) Mod 4).BackColor = &HC0C0C0
Shape1(Nom).BackColor = vbGreen
Case 7
Shape1((Nom + 1) Mod 4).BackColor = &HC0C0C0
Shape1(Nom).BackColor = vbBlue
End Select
Nom = (Nom - 1) Mod 4
Timer1.Interval = Recu
Timer1.Enabled = True
End Sub
Private Sub VScroll1_Change()
Dim Recu As Integer
Recu = VScroll1.Value
If Recu >= 1 Then
Timer1.Interval = Recu + 30000
ElseIf Recu <= 1000 Then
Timer1.Interval = Recu + 50
ElseIf Recu <= 2000 Then
Timer1.Interval = Recu + 3

End If
End Sub
En donde:
Command1 = arrancar
Command2 = parar
Command3 = salir
VScroll1 = Scroll bar
Timer1 = timer para el sentido de las manecillas ( CW)
timer2 = timer para el contrasentido de las manecillas (CCW)

Al parecer el timer2 nunca inicia al contrario de las manecillas, sino que solo se va por el mismo lado que el timer1.
Ademas de que no me convence el codigo para la scroll, no se aumenta la secuencia ni disminuye.
Cualquier ayuda sera bien reciibida y posteada en la parte superior.
Hagan sus pruebas, que no podemos quemar nada a nivel software.
Se me ollvidava decirles que solo le falta el codigo para que salga por el puerto paralelo.
Aca esta la interfaz


Aca estare por cualquier duda o sugerencia.:mota:

Aca esta el archivo zip para que chequen.
http://www.megaupload.com/?d=JY3NXAS0
 
Arriba