Hallo!
Ich hoffe hier einen netten Menschen zu finden, der mir bei meinen "Experimenten" mit LEGO Mindstorms NXT / Visual Basic 2010 Express / Mindstorms helfen kann.
Eine kleine Problembeschreibung vorweg: Vor ein paar Tagen haben mein kleiner Sohn und ich ein bekannte Auktionsplattform durchstöbert, um ein "neues" Spielzeug für Vater und
Sohn zu finden. Es kam wie es kommen musste (Danke noch mal an die macher von Transformers/ Star Wars und wie sie alle heißen mögen), Sohnemann´s Blick wurde von einem Roboter aus Dänemarks Steinen gefesselt. Es war alles das dabei. Papa war auch noch der Höchstbietende. Dem neuen Spielzeug stand als nur noch die Zeit des Versandes im weg.
Auch das war dank der heutigen Lieferzeiten der Paketdienste nicht das böse an der "Geschichte". Das Paket traf ein, Söhnchen und Vati lagen auf dem Wohnzimmerteppich und bauten. Selbst das programmieren war kein Problem.
Allerdings habe ich eine Kleinigkeit Übersehen. (viele Eltern werden jetzt die Hände über dem Kopf zusammen schlagen und die Tragweite meiner Unbedachten Äußerung erkennen)
Ich sagte zu meinem Sohnemann: "Den Roboter kannst du mit DEINEM COMPUTER steuern!" (-Ich höre wie ein raunen durch die Menge der Leser geht ...-)
So viel zur Problembeschreibung, damit ihr die Tragweite und auch tränenreiche Tragweite Meines Problemes erkennt.
Das eigentliche Problem: Ich habe mich vor Jahren mal eine zeitlang mit Visual Basic 6 beschäftigt. Ich habe mich auch schon mit Visual Basic 2010 Express rumgeschlagen. Eine Fernsteuerung des NXT´s von LEGO per PC war nicht das Problem. Vorwärts, Rückwärts, ein bisschen Piepen klappt mit Vati´s Programm super. Allerdings gibt es bei dem Bausatz Touch-Sensoren. Die wollen nicht so, wie Ich (und Sohnemann) es wollen: Während der kleine Robi vor eine Wand fährt, wird einer der Touch-Sensoren gedrückt und Robi soll nicht weiter vor die Wand fahren. Im Anhang finden ihr das, was ich unter VB2010E programmiert habe. Allerdings kommt nicht die Meldung:"Sensor 1 gedrückt!"
Könnt ihr mir da wohl weiter helfen?
----->
Option Strict On
Imports NKH.MindSqualls
Imports WinUsbWrapper
Public Class Form1
Dim NXTBrick1 As NxtBrick = New NxtBrick(NxtCommLinkType.USB, 4) 'NXT Objekt deklarieren, Verbindungsart = Bluetooth, ComPortNr
Dim TS1 As NxtTouchSensor = New NxtTouchSensor() ' Touchsensor Objekt erstellen
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub cmdConnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdConnect.Click
If cmdConnect.Text = "Verbinden" Then
Try
' Verbinden
NXTBrick1.Connect()
If NXTBrick1.IsConnected = True Then
With cmdConnect
.Text = "mit NXT verbunden"
.ForeColor = Color.Green
End With
' Sensoren
NXTBrick1.Sensor1 = TS1
TS1.PollInterval = 50
AddHandler TS1.OnPolled, AddressOf TS1OnPolled
End If
Catch
MsgBox("Fehler: Keine Verbindung zum NXT möglich!")
End Try
Else
' Trennen
NXTBrick1.Disconnect()
With cmdConnect
.Text = "Verbinden"
.ForeColor = Color.Black
End With
End If
End Sub
Private Sub TS1OnPolled(ByVal polledItem As NxtPollable) 'polling für touch sensor
Try
If TS1.IsPressed = True Then
'irgendwas machen wenn der sensor gedrückt ist
MsgBox("Sensor 1 gedrückt!")
Beep()
Else
'irgendwas machen wenn der sensor nicht gedrückt ist
End If
Catch ex As Exception
MsgBox("Fehler:" + ex.Message + " !!!") 'fehler melden
End Try
End Sub
End Class
Lieben Gruß,
Falko
Ich hoffe hier einen netten Menschen zu finden, der mir bei meinen "Experimenten" mit LEGO Mindstorms NXT / Visual Basic 2010 Express / Mindstorms helfen kann.
Eine kleine Problembeschreibung vorweg: Vor ein paar Tagen haben mein kleiner Sohn und ich ein bekannte Auktionsplattform durchstöbert, um ein "neues" Spielzeug für Vater und
Sohn zu finden. Es kam wie es kommen musste (Danke noch mal an die macher von Transformers/ Star Wars und wie sie alle heißen mögen), Sohnemann´s Blick wurde von einem Roboter aus Dänemarks Steinen gefesselt. Es war alles das dabei. Papa war auch noch der Höchstbietende. Dem neuen Spielzeug stand als nur noch die Zeit des Versandes im weg.
Auch das war dank der heutigen Lieferzeiten der Paketdienste nicht das böse an der "Geschichte". Das Paket traf ein, Söhnchen und Vati lagen auf dem Wohnzimmerteppich und bauten. Selbst das programmieren war kein Problem.
Allerdings habe ich eine Kleinigkeit Übersehen. (viele Eltern werden jetzt die Hände über dem Kopf zusammen schlagen und die Tragweite meiner Unbedachten Äußerung erkennen)
Ich sagte zu meinem Sohnemann: "Den Roboter kannst du mit DEINEM COMPUTER steuern!" (-Ich höre wie ein raunen durch die Menge der Leser geht ...-)
So viel zur Problembeschreibung, damit ihr die Tragweite und auch tränenreiche Tragweite Meines Problemes erkennt.
Das eigentliche Problem: Ich habe mich vor Jahren mal eine zeitlang mit Visual Basic 6 beschäftigt. Ich habe mich auch schon mit Visual Basic 2010 Express rumgeschlagen. Eine Fernsteuerung des NXT´s von LEGO per PC war nicht das Problem. Vorwärts, Rückwärts, ein bisschen Piepen klappt mit Vati´s Programm super. Allerdings gibt es bei dem Bausatz Touch-Sensoren. Die wollen nicht so, wie Ich (und Sohnemann) es wollen: Während der kleine Robi vor eine Wand fährt, wird einer der Touch-Sensoren gedrückt und Robi soll nicht weiter vor die Wand fahren. Im Anhang finden ihr das, was ich unter VB2010E programmiert habe. Allerdings kommt nicht die Meldung:"Sensor 1 gedrückt!"
Könnt ihr mir da wohl weiter helfen?
----->
Option Strict On
Imports NKH.MindSqualls
Imports WinUsbWrapper
Public Class Form1
Dim NXTBrick1 As NxtBrick = New NxtBrick(NxtCommLinkType.USB, 4) 'NXT Objekt deklarieren, Verbindungsart = Bluetooth, ComPortNr
Dim TS1 As NxtTouchSensor = New NxtTouchSensor() ' Touchsensor Objekt erstellen
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub cmdConnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdConnect.Click
If cmdConnect.Text = "Verbinden" Then
Try
' Verbinden
NXTBrick1.Connect()
If NXTBrick1.IsConnected = True Then
With cmdConnect
.Text = "mit NXT verbunden"
.ForeColor = Color.Green
End With
' Sensoren
NXTBrick1.Sensor1 = TS1
TS1.PollInterval = 50
AddHandler TS1.OnPolled, AddressOf TS1OnPolled
End If
Catch
MsgBox("Fehler: Keine Verbindung zum NXT möglich!")
End Try
Else
' Trennen
NXTBrick1.Disconnect()
With cmdConnect
.Text = "Verbinden"
.ForeColor = Color.Black
End With
End If
End Sub
Private Sub TS1OnPolled(ByVal polledItem As NxtPollable) 'polling für touch sensor
Try
If TS1.IsPressed = True Then
'irgendwas machen wenn der sensor gedrückt ist
MsgBox("Sensor 1 gedrückt!")
Beep()
Else
'irgendwas machen wenn der sensor nicht gedrückt ist
End If
Catch ex As Exception
MsgBox("Fehler:" + ex.Message + " !!!") 'fehler melden
End Try
End Sub
End Class
Lieben Gruß,
Falko
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Falko77“ ()