Schnittstelle (Arduino) - Datenspeichern und Verarbeiten

  • VB.NET

    Schnittstelle (Arduino) - Datenspeichern und Verarbeiten

    Guten Tag und gleich schon mal ein Lob für dieses tolle Forum :D ,
    ich bin Neu hier im Forum und habe auch schon gleich eine Frage zum Thema Schnittstellenprogrammierung.
    Mein Projekt besteht darin die Spannungswerte am Pin 0 des Arduinos in einem einstellbaren Zeitintervall welches 100 , 500 oder 1000 ms beträgt abzufragen.
    Dies Funktioniert auch gut in dem ich dem Arduino immer ein Char Zeichen (hier 1) Übermittle (mit einem Timertick) und dann den vom Arduino die berechnete Spannung per serial Print übermittelt bekomme.

    Programm Arduino:

    Quellcode

    1. const int Analogeingang = 0;
    2. void setup()
    3. {
    4. Serial.begin(9600);
    5. }
    6. void loop()
    7. {
    8. if(Serial.available())
    9. {
    10. char Zeichen= Serial.read();
    11. if (isDigit(Zeichen))
    12. {
    13. int Volumen = analogRead(Analogeingang);
    14. float Spannung = (Volumen / 1024.0)*5;
    15. Serial.print(Spannung);
    16. }
    17. }
    18. }


    Soweit so gut. Jetzt zu meinem eigentlichen Problem, mir ist es gelungen diese Daten in einem Textfeld auszugeben. Ich wollte aber nun den
    Aktuellen Wert in einer Double Variable speichern und dann als Y Koordinaten in den Chart (Diagramm) übergeben. Wenn jemand Tipps oder eine Lösung
    hätte wäre das sehr Toll.

    VB Code:

    VB.NET-Quellcode

    1. Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
    2. Me.Invoke(Sub() ReceiveText())
    3. End Sub
    4. Private Sub ReceiveText()
    5. Dim ToRead As String = SerialPort1.BytesToRead
    6. If ToRead > 0 Then
    7. 'Neu empfangene Zeichen an die Empfangspuffer anhängen
    8. Dim Buffer(ToRead - 1) As Byte
    9. SerialPort1.Read(Buffer, 0, ToRead)
    10. TextBox1.Text &= System.Text.Encoding.Default.GetString(Buffer)
    11. End If
    12. End Sub


    Über eine Antwort würde ich mich sehr Freuen. :thumbsup: