Michael 123
31.12.2005, 11:05
Hallo,
ich habe in den Ferien mir überlegt wie ich meinen Roboter verbessern kann. Da bin ich auf die Idee gekommen ihm einfach die alte Com-Port Maus zur besseren Nafiagtion unter dran zu bauen. Nun habe ich dann doch ein Problem bekommen. Wie zeige ich die Daten auf dem Monitor an? Ok ein kleines Terminal Programm gesucht und gefunden und die Maus mal in alle Himmelsrichtungen bewegt. Da kammen die Daten nur so gelflogen auf den Bildschirm. Hab dan überlegt welche der Daten nur für die eine Richtung sind und welche für die Anderen. Hab das Programm umgeschrieben und getestet. Maus gerade aus bewegt und es zeigete auf den Bildschirm eiene Schräge lineie nach unten an. Also mal die Maus geöffnet. Das Rädchen welches für dei Bewegung nach oben zustäandig ist gedreht. Nur das kein anderes (Kugel ist ausgebaut). Und die Linie ging immernoch nach untern rechts. Na gut umprogrammiert wieder getestet aber es geht nicht. Das ganze in VIsual Basic.
Nun meine Frage:
Hat jemand schon so ein Programm geschriegen welches ich verwenden kann? Oder kann mir jemand tipps geben wie ich es machen muss.
Dim n
Dim Y1, Y2, X1, X2
Private Sub Check1_Click()
If Check1.Value Then DTR 1 Else DTR 0
End Sub
Private Sub Check2_Click()
If Check2.Value Then RTS 1 Else RTS 0
End Sub
Private Sub Command1_Click()
CLOSECOM
OPENCOM Text1.Text
DTR 0
Check1.Value = False
RTS 0
Check2.Value = False
End Sub
Private Sub Command2_Click()
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
End Sub
Private Sub Form_Load()
OPENCOM "COM2:1200,N,8,1"
DTR 0
Check1.Value = False
RTS 0
Check2.Value = False
Y2 = 50
X2 = 50
End Sub
Private Sub Form_Unload(Cancel As Integer)
CLOSECOM
End Sub
Private Sub Text2_Change()
If Text2.Text > "" Then Char = Asc(Right$(Text2.Text, 1))
If Char = 10 Then
Byt$ = (Right$(Text2.Text, 5))
dat = Val(Byt$)
dat = dat And 255
SENDBYTE dat
End If
End Sub
Private Sub Text4_KeyPress(KeyAscii As Integer)
SENDBYTE KeyAscii
End Sub
Private Sub Timer1_Timer()
Y1 = Y2
X1 = X2
Do
dat = READBYTE
If dat > -1 Then
Text3.Text = Text3.Text + Str$(dat) + " "
n = n + 1
If n = 8 Then n = 0: Text3.Text = Text3.Text + Chr(13) + Chr(10)
Text3.Refresh
End If
If Str$(dat) = 204 Then Y2 = Y1 + 1 'Daten der Maus
If Str$(dat) = 192 Then Y2 = Y1 - 1 ' -"-
If Str$(dat) = 192 Then X2 = X1 + 1 ' -"-
If Str$(dat) = 195 Then X2 = X1 - 1 ' -"-
'runter 204 hoch 192 rechts 195 links 192
Picture1.Line (X1, Y1)-(X2, Y2)
If (dat > -1) And (dat <> 13) And (dat <> 19) Then
Text5.Text = Text5.Text + Chr$(dat)
End If
If dat = 13 Then
Text5.Text = Text5.Text + Chr$(13) + Chr$(10)
Text5.Refresh
End If
Loop Until dat = -1
If CTS = 1 Then Check3.Value = 1 Else Check3.Value = 0
If DSR = 1 Then Check4.Value = 1 Else Check4.Value = 0
If DCD = 1 Then Check5.Value = 1 Else Check5.Value = 0
If RI = 1 Then Check6.Value = 1 Else Check6.Value = 0
End Sub
Hier noch das Progamm in Visual Basic.
mfg
Michael
ich habe in den Ferien mir überlegt wie ich meinen Roboter verbessern kann. Da bin ich auf die Idee gekommen ihm einfach die alte Com-Port Maus zur besseren Nafiagtion unter dran zu bauen. Nun habe ich dann doch ein Problem bekommen. Wie zeige ich die Daten auf dem Monitor an? Ok ein kleines Terminal Programm gesucht und gefunden und die Maus mal in alle Himmelsrichtungen bewegt. Da kammen die Daten nur so gelflogen auf den Bildschirm. Hab dan überlegt welche der Daten nur für die eine Richtung sind und welche für die Anderen. Hab das Programm umgeschrieben und getestet. Maus gerade aus bewegt und es zeigete auf den Bildschirm eiene Schräge lineie nach unten an. Also mal die Maus geöffnet. Das Rädchen welches für dei Bewegung nach oben zustäandig ist gedreht. Nur das kein anderes (Kugel ist ausgebaut). Und die Linie ging immernoch nach untern rechts. Na gut umprogrammiert wieder getestet aber es geht nicht. Das ganze in VIsual Basic.
Nun meine Frage:
Hat jemand schon so ein Programm geschriegen welches ich verwenden kann? Oder kann mir jemand tipps geben wie ich es machen muss.
Dim n
Dim Y1, Y2, X1, X2
Private Sub Check1_Click()
If Check1.Value Then DTR 1 Else DTR 0
End Sub
Private Sub Check2_Click()
If Check2.Value Then RTS 1 Else RTS 0
End Sub
Private Sub Command1_Click()
CLOSECOM
OPENCOM Text1.Text
DTR 0
Check1.Value = False
RTS 0
Check2.Value = False
End Sub
Private Sub Command2_Click()
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
End Sub
Private Sub Form_Load()
OPENCOM "COM2:1200,N,8,1"
DTR 0
Check1.Value = False
RTS 0
Check2.Value = False
Y2 = 50
X2 = 50
End Sub
Private Sub Form_Unload(Cancel As Integer)
CLOSECOM
End Sub
Private Sub Text2_Change()
If Text2.Text > "" Then Char = Asc(Right$(Text2.Text, 1))
If Char = 10 Then
Byt$ = (Right$(Text2.Text, 5))
dat = Val(Byt$)
dat = dat And 255
SENDBYTE dat
End If
End Sub
Private Sub Text4_KeyPress(KeyAscii As Integer)
SENDBYTE KeyAscii
End Sub
Private Sub Timer1_Timer()
Y1 = Y2
X1 = X2
Do
dat = READBYTE
If dat > -1 Then
Text3.Text = Text3.Text + Str$(dat) + " "
n = n + 1
If n = 8 Then n = 0: Text3.Text = Text3.Text + Chr(13) + Chr(10)
Text3.Refresh
End If
If Str$(dat) = 204 Then Y2 = Y1 + 1 'Daten der Maus
If Str$(dat) = 192 Then Y2 = Y1 - 1 ' -"-
If Str$(dat) = 192 Then X2 = X1 + 1 ' -"-
If Str$(dat) = 195 Then X2 = X1 - 1 ' -"-
'runter 204 hoch 192 rechts 195 links 192
Picture1.Line (X1, Y1)-(X2, Y2)
If (dat > -1) And (dat <> 13) And (dat <> 19) Then
Text5.Text = Text5.Text + Chr$(dat)
End If
If dat = 13 Then
Text5.Text = Text5.Text + Chr$(13) + Chr$(10)
Text5.Refresh
End If
Loop Until dat = -1
If CTS = 1 Then Check3.Value = 1 Else Check3.Value = 0
If DSR = 1 Then Check4.Value = 1 Else Check4.Value = 0
If DCD = 1 Then Check5.Value = 1 Else Check5.Value = 0
If RI = 1 Then Check6.Value = 1 Else Check6.Value = 0
End Sub
Hier noch das Progamm in Visual Basic.
mfg
Michael