- Akku Tests und Balkonkraftwerk Speicher         
Seite 2 von 7 ErsteErste 1234 ... LetzteLetzte
Ergebnis 11 bis 20 von 68

Thema: Arduino am Windows-PC: GUI zur Fernsteuerung und zum Messwerte anzeigen (per USB)

  1. #11
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Anzeige

    Praxistest und DIY Projekte
    Installation hat geklappt, habe die CDs gebrannt. Man muss die IDE aber immer mit Administratorrechten starten.

    Nun fehlt die Komponente CPort.
    Ich habe die "comport411f.zip" runtergeladen, weis nicht ob das richtig ist und auch nicht wie man die dann installiert.

    TThread brauchst Du meiner Meinung nach nicht. Ich wüste zumindest nicht wofür.
    Die serielle Schnittstelle läuft in einem eigenen Thread.

    Du müstet jetzt die Eigenschaft OnRxChar im Objektinspector haben.
    Dort doppelt klicken und dann in die Funktion reinschreiben was passieren soll wenn ein Zeichen empfangen wurde.
    Zum Testen erstmal das Zeichen anzeigen, das mache ich meisten in Form->caption

    Siro
    Geändert von Siro (21.01.2019 um 21:15 Uhr)

  2. #12
    HaWe
    Gast
    hallo,
    ja, den COM Port habe ich hier nach installiert:
    https://github.com/dsyleixa/Borland-...master/sources
    https://github.com/dsyleixa/Borland-...omport411f.zip
    Installation:
    http://perso.wanadoo.es/pictob/tcomport.htm

    In dem Github Ordner stehen auch noch ein paar weitere Infos dazu.

    später sollen dann aber die seriellen Nachrichten vom Arduino nicht nur empfangen, sondern auch ausgewertet werden (Anzeige aller inputs als "Lämpchen", die gesendeten analogen Werte auch in Zahlenform (int/float/double), und ausgerechnete Werte sollen uU auch - allgemein formuliert - z.B. in einem Graphen immer entsprechend frisch simultan aktualisiert werden können. Das Aktualisieren und Weiterverarbeiten kann sehr schnell nötig sein, je nachdem, wie schnell die Werte eintreffen, und die Verarbeitung darf andere Funktionen nicht blockieren, daher plante ich MT mit TThread.

  3. #13
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Hallo HaWe, Danke Dir für die Info,
    ich probier heute Abend nochmal ob ich die RS232 zum Laufen bzw. installiert bekomme.

    Ich glaube um Geschwindigkeit brauchst Du Dir vorerst keine Gedanken machen, das die PC System Resourcen nicht ausreichen.
    Mit 9600 Baud kannst Du garnicht sowviel schicken als dass der PC nicht hinterher kommt.

    Ich arbeite mit 115200 Baud und die Daten sind auch gut "eng" gerückt, da bleibt eigentlich nicht viel Spielraum,
    habe aber trotzdem nur einen Thread, (außer dem seriellen, der ergibt sich von selbst durch die Komponente,)
    Ich hatte aber anfangs auch einige Probleme wie ich das sinnvol organisiere.

    Bei mir laufen ja 1000 Messwerte auf 4 Kanälen gleichzeitig pro Sekunde und die werden auch Kurvenmässig optisch zumindest ohne Verzörung
    dargestellt. Anfangs hatte ich versucht nach jedem Messwert die Kurve neu zu zeichnen, das ist natürlich SEHR aufwändig und gerät ins stocken.
    Nun laufen die Messwerte in einen Puffer.

    Auf dem Formular habe ich einen Timerkomponente (zu finden in der Palette System TTimer) gesetzt, die dann auf 100 Millisekunden gesetzt wird.
    Dies Löst dann lediglich bei OnTimer ein Form.Invalidate aus, was ein Neuzeichnen bewirkt.
    Die eigentliche Zeichnerei der Kurven findet dann nur in Form.OnPaint statt.

    Hier ist meine CPU jetzt aber auch gut ausgelastet. (zumindest ein Kern) Wenn man das Fenster größer oder kleiner macht, während das Program läuft kann man im Taskmanager gut sehen
    wie die Auslastung fällt bei kleinerem Fenster.
    Alles was am meisten Resourcen frist, ist das Paint, bei den anderen Dingen auswerten, rechnen was auch immer, langweilt sich die CPU nur...

    Siro

  4. #14
    HaWe
    Gast
    Danke fürs Mitmachen!
    habe inzwischen baud auf 115200 gesetzt als default (für Arduino Due), mit Mega geht evt auch noch mehr.

  5. #15
    HaWe
    Gast
    hallo,
    ich habe jetzt ein Terminal-Fenster eingebunden, und die vom Arduino gesendeten Strings werden auch automatisch nacheinander angezeigt.

    Der Empfangs-String müsste dann jetzt noch irgendwie zwischengespeichert werden, zur weiteren Auswertung.


    Der Arduino-Sende-Code sieht so aus:

    Code:
    #define MSGLEN 256
    char    cbuf[MSGLEN];  // cstring buffer
    
        int a0, a1, a2, a3;
        a0=analogRead(A0);
        a1=analogRead(A1);
        a2=analogRead(A2);
        a3=analogRead(A3);
    
        sprintf(cbuf, "&a0=%d;&a1=%d;&a2=%d;&a3=%d;", a0,a1,a2,a3);
        Serial.println(cbuf);
        strcpy(cbuf, "");

    Klicke auf die Grafik für eine größere Ansicht

Name:	BCB_Arduino_103.jpg
Hits:	6
Größe:	42,2 KB
ID:	33947

    vollständiger Arduino-Code und alle BCB-Projektdateien hier:
    https://github.com/dsyleixa/Borland-...jects/103_test

    - - - Aktualisiert - - -

    update, vorheriger "Fehler" lag am Arduino-Code.
    Es bleibt nur dies zu tun:
    Der Empfangs-String müsste dann noch irgendwie zwischengespeichert werden, zur weiteren Auswertung.

  6. #16
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Okay, ich bin gescheitert,
    ich bekomme es nicht installiert, da fehlt mir wohl einiges an Hintergrundwissen.

    Siro

  7. #17
    HaWe
    Gast
    Zitat Zitat von Siro Beitrag anzeigen
    Okay, ich bin gescheitert,
    ich bekomme es nicht installiert, da fehlt mir wohl einiges an Hintergrundwissen.

    Siro
    ich habe einfach nur die (spanische) Anleitung Schritt für Schritt befolgt, und danach die paar Patches, wo erst etwas auskommentiert und dann ein paar Dateien umkopiert werden mussten....

  8. #18
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Das ist eine echte Katastrophe die Installation,
    jetzt hab ich zwar die Palette mit der RS232 in der IDE drin,
    aber er findet die
    #include "CPort.h"
    #include "CPortCtl.h"
    Header Dateien nicht, die existieren auch garnicht auf meinem Rechner und auch nicht im Zip File.

    Siro

  9. #19
    HaWe
    Gast
    Zitat Zitat von Siro Beitrag anzeigen
    Das ist eine echte Katastrophe die Installation,
    jetzt hab ich zwar die Palette mit der RS232 in der IDE drin,
    aber er findet die
    #include "CPort.h"
    #include "CPortCtl.h"
    Header Dateien nicht, die existieren auch garnicht auf meinem Rechner und auch nicht im Zip File.

    Siro
    hast du diese Schritte gemacht...?
    Es necesario reubicar los archivos generados en la carpeta "tcomport".

    Copiar los 7 archivos .HPP de "C:\Archivos de Programa\Borland\CBuilder6\Imports\tcomport" a "C:\Archivos de Programa\Borland\CBuilder6\Include\Vcl".
    Copiar los 9 archivos .OBJ de "C:\Archivos de Programa\Borland\CBuilder6\Imports\tcomport" a "C:\Archivos de Programa\Borland\CBuilder6\Lib\Obj".
    Copiar los 3 archivos .DFM de "C:\Archivos de Programa\Borland\CBuilder6\Imports\tcomport" a "C:\Archivos de Programa\Borland\CBuilder6\Lib\Obj".
    Copiar el archivo CPortImg.res de "C:\Program Files\Borland\CBuilder6\Imports\tcomport" a "C:\Archivos de Programa\Borland\CBuilder6\Lib\Obj".
    Archivos de Programa
    ist bei uns C:\Programme(x86),
    also das Installationsverzeichnis

  10. #20
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    es läuft, was für eine Arie

    Ich empfange mein erstes Zeichen.

    Ganz einfach nur mal zum Testen:

    Clicke auf die Komponente ComPort1 und dann im Objektinspector Events "onRxChar"

    Code:
    //---------------------------------------------------------------------------
    void __fastcall TForm1::ComPort1RxChar(TObject *Sender, int Count)
    {
      Form1->Caption="character detected";    // HURRA, ich habe ein Zeichen empfangen...
    }
    //---------------------------------------------------------------------------

    oder dies hier.
    Ich hab keine Ahnung wie man in C mit strings arbeitet, aber das scheint zu funktionieren,
    wenn man stdio.h mit reinpackt....

    Code:
    void __fastcall TForm1::ComPort1RxChar(TObject *Sender, int Count)
    {
      char str[20];
      sprintf(str,"%d",Count);   // Anzahl empfangener Zeichen ausgeben
      Form1->Caption=str;
    }

    Siro
    Geändert von Siro (22.01.2019 um 20:18 Uhr)

Seite 2 von 7 ErsteErste 1234 ... LetzteLetzte

Ähnliche Themen

  1. ISP-Programmer für Arduino, Bascom und AVR-Studio unter Windows 10
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 05.04.2016, 10:40
  2. Zwei Arduino Entwicklungsumgebungen unter Windows?
    Von Frank im Forum Arduino -Plattform
    Antworten: 5
    Letzter Beitrag: 13.04.2014, 22:17
  3. Messwerte als farbige Linien und GPS Koordinaten mit Google Earth anzeigen
    Von wkrug im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 0
    Letzter Beitrag: 17.04.2012, 07:54
  4. Windows-Treiberproblem mit Arduino
    Von wvtee im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 2
    Letzter Beitrag: 28.12.2011, 08:38
  5. Messwerte über ADC im LCD anzeigen
    Von newbie1982 im Forum C - Programmierung (GCC u.a.)
    Antworten: 1
    Letzter Beitrag: 03.07.2008, 07:28

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test