VB empfängt Wert über Serial Port und zeigt diesen an

  • C#
  • .NET (FX) 4.5–4.8

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Thisoft.

    VB empfängt Wert über Serial Port und zeigt diesen an

    Hey,
    Ich habe für meinen Adu einen Stromsensor gekauft (ACS712). Jetzt habe ich einen Code gefunden mitdem ich die Werte des Ardu's auf dem Seriellen Monitor der Arduino Software anzeigen kann.

    C-Quellcode

    1. const int analogIn = A0;
    2. int mVperAmp = 185; // use 100 for 20A Module and 66 for 30A Module
    3. int RawValue= 0;
    4. int ACSoffset = 2500;
    5. double Voltage = 0;
    6. double Amps = 0;
    7. void setup(){
    8. Serial.begin(9600);
    9. }
    10. void loop(){
    11. RawValue = analogRead(analogIn);
    12. Voltage = (RawValue / 1024.0) * 5000; // Gets you mV
    13. Amps = ((Voltage - ACSoffset) / mVperAmp);
    14. Serial.print("Raw Value = " ); // shows pre-scaled value
    15. Serial.print(RawValue);
    16. Serial.print("\t mV = "); // shows the voltage measured
    17. Serial.print(Voltage,3); // the '3' after voltage allows you to display 3 digits after decimal point
    18. Serial.print("\t Amps = "); // shows the voltage measured
    19. Serial.println(Amps,3); // the '3' after voltage allows you to display 3 digits after decimal point
    20. delay(400);
    21. }​

    Ich habe auch gelernt wie ich auf dem Ardu z.B. Led's über VB schalten kann. Nun ist aber meine Frage wie ich die Werte die über den Sketch des Ardus in den Serial Port geschrieben werden, in VB 2010 anzeigen kann. Also wie kann ich z.B. Serial.printIn(Amps,3) auf meiner Form anzeigen kann. Und wie zeige ich es an? In einer TextBox? Oder doch in einer ListBox? Danke an alle
    @Sandro2504 Sorry, aber ich bin wiedermal der einzige, der den ACS712 nicht kennt.
    Du nutzt da offensichtlich eine DLL und hast eine Instanz namens Serial von welcher Klasse erstellt?
    Wo kann ich das nachlesen?
    Kommt da eventuell was vor, was Dein Problem löst?
    Also:
    Erst lesen, dann fragen. Zwischendurch auch noch überlegen, welche Minimalinformationen in diesem Fall erforderlich sind.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Guten Morgen,

    @RodFromGermany: Das da oben ist doch der C-Code für den Arduino. Der ACS712 ist ein Hallsensor zur Strommessung der am Arduino angeschlossen ist. Der Code oben wird im Arduino vermutlich auch funktionieren sofern nur Gleichstrom gemessen werden soll und ein Meßfehler von 20% akzeptabel ist ;)

    @Sandro2504: Wenn du jetzt in einem VB-Programm die über die serielle Schnittstelle ausgegebenen Werte des Arduinos auslesen möchtest solltest Du hier im Forum einfach mal nach "Serialport lesen" oder so ähnlich suchen - da kommt schon eine Menge an Beispielen. Ob Du die Werte dann in einer Textbox, Listbox, Tabelle oder sonstwie darstellst ist ja schließlich einzig und allein deinem Geschmack überlassen - und vielleicht dem was du dann weiter mit den Werten machen möchtest.

    Sandro2504 schrieb:

    einen besseren Code
    in welcher Sprache?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Sandro2504 schrieb:

    @Thisoft Hast du evtl. einen besseren Code?


    Ich habe keinen besseren Code, aber ich habe mich vor einiger Zeit mal damit beschäftigt und bei Dr.Google viel besseren Code gefunden. Es kommt aber ganz darauf an, was Du damit messen willst. Wenn du Gleichstrom messen willst und es dir auch in erster Linie nur darauf ankommt zu erkennen ob der Verbraucher ein- oder ausgeschaltet ist dann genügt sicherlich der einfache Code oben. Wenn du aber Wechselstrom messen willst musst du im Arduino-Sketch noch einige Schippen drauflegen ;) wie z.B. mit hoher, zur Netzfrequenz synchroner Abtastrate messen und dann aus einer entsprechenden Zahl von Messungen einen Mittelwert bilden usw. usw. Such mal bei Google z.B. nach "ACS712 Arduino"...