Auf Arduino Werte zugreifen

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von würzie.

    Auf Arduino Werte zugreifen

    Hallo zusammen.
    Ich habe mir ein Arduino zugelegt.
    Dann habe ich einfach einen Widerstand an einen analogen Eingang angeschlossen.
    Kann mir jemand eine Tipp geben wie man mit VB auf den Wert Pin zugreifen kann?
    Ich habe mich bis jetzt noch nicht mit Schnittstellen beschäftigt.
    Kennt jemand ein gutes Tutorial oder eine Webseite auf der das erklärt wird?

    Hier ist der Arduiono Code dazu.

    Quellcode

    1. const unsigned int PIN = 2;
    2. const unsigned int BAUD_RATE = 9600;
    3. void setup() {
    4. Serial.begin(BAUD_RATE);
    5. }
    6. void loop() {
    7. Serial.println(analogRead(PIN));
    8. Serial.print(" ");
    9. delay(100);
    10. }


    Grüße Würzie

    Dodo schrieb:

    Nun dann den Arduino an den ComPort deines Computer anschließen.
    Der Arduino enthält einen USB-Seriell-Konverter (von FTDI). Also den Arduino muss man nur per USB anschließen.

    Quadsoft schrieb:

    Dodo schrieb:

    Nun dann den Arduino an den ComPort deines Computer anschließen.
    Der Arduino enthält einen USB-Seriell-Konverter (von FTDI). Also den Arduino muss man nur per USB anschließen.


    Wie die Verbindung dazwischen aussieht ist ja erstmal unerheblich. Durch den Code sehe ich das es sich um Seriel handelt und dementsprechend muss man auch die SerielKlasse von VB.NET nutzen. Dass die Daten von Seriel über USB gesendet werden und letztendlich im Computer durch einen virtuellen ComPort wieder in Seriel ist ja letztendlich egal.
    Hallo zusammen.
    Soweit bin ich gekommen.
    Ich denke es fehlt nicht mehr viel.
    Ich komme aber nicht weiter.

    Ich habe eine ListBox (ComList)
    Zwei Button's (buttonStart, ButtonStop)
    Und ein Label (lblWert)

    Beim Starten des Programms werden die COM Anschlüsse in der Liste angezeigt.
    Mit dem Start Button wird der aktuell ausgewählte COM Port verbunden.
    Mit dem Stop Button wird der COM Port geschlossen.

    Wenn ich den COM meines Arduino aus gewählt habe auf Start klicke fängt es an zu blinken.
    Das bedeutet es sendet. Bis hier hin scheint es zu klappen.

    Wie aber kann ich auf einen bestimmten Wert zugreifen.
    Ich möchte mir ständig den aktuellen Wert von "PIN" anzeigen lassen. (lblWert)

    An dieser Stelle komme ich aber nicht weiter.

    Ich habe mein Script erst mal so einfach wie möglich geschrieben.

    Grüße Würzie

    VB.NET-Quellcode

    1. Imports System.IO
    2. Imports System.IO.Ports
    3. Class Window1
    4. Public Event ScanDataReceived(ByVal data As String)
    5. WithEvents comPort As SerialPort
    6. Private Sub Window1_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
    7. 'Ermittelt die angeschlossenen Ports und fügt sie einem Listenfeld hinzu
    8. For i As Integer = 0 To My.Computer.Ports.SerialPortNames.Count - 1
    9. ComList.Items.Add(My.Computer.Ports.SerialPortNames(i))
    10. Next
    11. 'Überprüft ob es in der Liste Einträge gibt und wenn ja dann selectiert den ersten Eintrag
    12. If ComList.Items.Count > 0 Then
    13. ComList.SelectedIndex = 0
    14. End If
    15. End Sub
    16. Public Sub connect()
    17. comPort = My.Computer.Ports.OpenSerialPort(ComList.SelectedItem.ToString, 9600)
    18. End Sub
    19. Private Sub buttonStart_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles buttonStart.Click
    20. connect()
    21. End Sub
    22. Private Sub ButtonStop_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles ButtonStop.Click
    23. comPort.Close()
    24. End Sub
    25. Private Sub comPort_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles comPort.DataReceived
    26. Dim wert As String = ""
    27. If e.EventType = SerialData.Chars Then
    28. ??????????????
    29. lblWert.content= ?????????????????????
    30. End If
    31. End Sub
    32. End Class