-         
Seite 4 von 7 ErsteErste ... 23456 ... LetzteLetzte
Ergebnis 31 bis 40 von 68

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

  1. #31
    Erfahrener Benutzer Robotik Einstein Avatar von HaWe
    Registriert seit
    09.10.2014
    Beiträge
    3.743
    Anzeige

    habe ich auch.

    Im nackten Programm, nur mit der COM-Schnittstelle, läuft es bei 9600 (Ändert Form1->Caption)

    Mit meinem programm aber nicht: zeigt zwar immer connected an (auch wenn fest voreingestellt), aber ändert nicht Caption.
    Er erkennt also nichts in ComPort1RxChar().

    - - - Aktualisiert - - -

    habe nochmal alles von vorn eingegeben:

    Die Read-Funktion und die Sende-Funktion stören sich uU gegenseitig.

    Immerhin ändert er jetzt beim Start die Form1->Caption, und er reagiert jetzt plötzlich auch auf die LED-Stuerung.

    Habe in der Arduino-Loop ein delay(20) eingefügt.
    Reagiert jetzt so wie beschrieben, egal, ob mit 9600 baud oder 115200 baud.

    Habe auch alles neu hochgeladen (115200 baud, mit Arduino-Programm):
    https://github.com/dsyleixa/Borland-...jects/105_test
    (115200 funktioniert sonst auch immer mit dem Due und auch mit allen anderen AVRs oder ARMs.)

    Ebenfalls funktioniert jetzt auch die rcvStr-Lesefunktion:

    Code:
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::ComPort1RxChar(TObject *Sender, int Count)
    {
      Form1->Caption="character detected";
      AnsiString rcvStr;
      ComPort1->ReadStr(rcvStr, 250);
       // Liest die im Eingangspuffer vorhandenen "Count" -Bytes und kopiert sie
    
      Label2->Caption=String(rcvStr);
    }
    
    //---------------------------------------------------------------------------
    (editiert)

    Vielen Dank auch, Siro, für deinen Test, ohne deine Hinweise zu deinem Minimal-Programm hätte ich sicher nicht nochmal alles neu zusammengebaut...
    ·±≠≡≈³αγελΔΣΩ∞ Schachroboter:www.youtube.com/watch?v=Cv-yzuebC7E Rasenmäher-Robot:www.youtube.com/watch?v=z7mqnaU_9A8

  2. #32
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Ort
    Berlin
    Beiträge
    825
    Das freut mich zu hören, dass es nun weitergeht.
    Übrigens liest Du immer 250 Bytes aus dem Puffer und nicht Count,
    das ist sicher vorerst für Testzwecke.

    Ist das serial.prinln im Arduino eigentlich Interrupt gesteuert über einen Transmitt Puffer und kehrt sofort zurück, oder
    kehrt sie erst zurück wenn alle Daten ausgesendet wurden ?

    Siro
    Geändert von Siro (23.01.2019 um 11:56 Uhr)

  3. #33
    Erfahrener Benutzer Robotik Einstein Avatar von HaWe
    Registriert seit
    09.10.2014
    Beiträge
    3.743
    Zitat Zitat von Siro Beitrag anzeigen
    Das freut mich zu hören, dass es nun weitergeht.
    Übrigens liest Du immer 250 Bytes aus dem Puffer und nicht Count,
    das ist sicher vorerst für Testzwecke.

    Ist das serial.prinln im Arduino eigentlich Interrupt gesteuert über einen Transmitt Puffer und kehrt sofort zurück, oder
    kehrt sie erst zurück wenn alle Daten ausgesendet wurden ?

    Siro
    - der Puffer ist jetzt überall 1024 bytes
    - über Serial.println: weiß ich nicht, aber es funktioniert!
    wie man das Lesen auf cnt begrenzen kann, muss ich mal sehen, eigtl wollte ich nur bis \n oder \n\r lesen

    Neue Version 106 wird gleich hochgeladen:

    3 digitale Pins on/off/pwm senden (frei definierbar)
    9 int Variablen empfangen (frei definierbar)
    6 double Variablen empfangen (frei definierbar)

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

Name:	BCB_Arduino_106.jpg
Hits:	8
Größe:	68,1 KB
ID:	33950

    https://github.com/dsyleixa/Borland-...rduinoCOM_RxTx


    to do:
    6 analogRead
    16 digitalRead per Bitmask über 1 int
    6 weitere int
    6 double
    6 pinWrite I/O/pwm
    6 pinWrite I/O (ohne pwm)
    Geändert von HaWe (24.01.2019 um 09:15 Uhr)
    ·±≠≡≈³αγελΔΣΩ∞ Schachroboter:www.youtube.com/watch?v=Cv-yzuebC7E Rasenmäher-Robot:www.youtube.com/watch?v=z7mqnaU_9A8

  4. #34
    Erfahrener Benutzer Robotik Einstein Avatar von HaWe
    Registriert seit
    09.10.2014
    Beiträge
    3.743
    was etwas schade ist: ich habe noch keine senkrechten Slider gefunden, und auch erst recht noch keine virtuellen Joysticks, die man dann per Maus oder Touchscreen steuern könnte, analog zu den horizontalen Gleitreglern...
    ·±≠≡≈³αγελΔΣΩ∞ Schachroboter:www.youtube.com/watch?v=Cv-yzuebC7E Rasenmäher-Robot:www.youtube.com/watch?v=z7mqnaU_9A8

  5. #35
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Ort
    Berlin
    Beiträge
    825
    Hallo HaWe,
    das Programm wächst, sehr schön.

    Klick mal auf deinen Slider und dann im Objectinspector,
    da gibt es die Eigenschaft :
    Kind
    hier kannst Du sbHorizontal oder sbVertikal einstellen.
    ich hab das zwar grad nicht vor mir, aber das war bei Delphi auch so.


    Für den Joystick gabs hier mal was:
    https://www.roboternetz.de/community...ilder-abfragen

    Siro
    Geändert von Siro (24.01.2019 um 12:53 Uhr)

  6. #36
    Erfahrener Benutzer Robotik Einstein Avatar von HaWe
    Registriert seit
    09.10.2014
    Beiträge
    3.743
    jap!
    mann, klar, auf "Kind" bin ich nicht gekommen, hatte was in der Art von "orientation" gesucht...

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

Name:	BCB-Arduino-107.jpg
Hits:	3
Größe:	60,6 KB
ID:	33955


    PS,
    Zitat Zitat von Siro Beitrag anzeigen
    Für den Joystick gabs hier mal was:
    https://www.roboternetz.de/community...ilder-abfragen

    Siro

    das geht da aber um einen "realen" Joystick, keinen virtuellen auf der BCC Form, oder?
    Geändert von HaWe (24.01.2019 um 20:47 Uhr)
    ·±≠≡≈³αγελΔΣΩ∞ Schachroboter:www.youtube.com/watch?v=Cv-yzuebC7E Rasenmäher-Robot:www.youtube.com/watch?v=z7mqnaU_9A8

  7. #37
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Ort
    Berlin
    Beiträge
    825
    Okay, das hab ich falsch verstanden, ich dachte es geht um eine "echte" Joystickabfrage.

    Da gibt es aber sicher auch fertige Komponenten für.

    Auf dieser Seite gibt es diverse Komponenten , die teils für Delphi und oder auch C++Builder geschrieben wurden.
    https://torry.net


    Siro

  8. #38
    Erfahrener Benutzer Robotik Einstein Avatar von HaWe
    Registriert seit
    09.10.2014
    Beiträge
    3.743
    Zitat Zitat von Siro Beitrag anzeigen
    Okay, das hab ich falsch verstanden, ich dachte es geht um eine "echte" Joystickabfrage.

    Da gibt es aber sicher auch fertige Komponenten für.

    Auf dieser Seite gibt es diverse Komponenten , die teils für Delphi und oder auch C++Builder geschrieben wurden.
    https://torry.net


    Siro
    dankeschön, super Link! Mal gucken, was sich dort finden lässt!

    - - - Aktualisiert - - -

    das hier sieht ja schon ganz vielversprechend aus:
    https://torry.net/quicksearchd.php?S...tick&Title=Yes,
    ganz unten: TFlightJoyStick v.1.0

    A-Bär... nur für Pascal, oder?
    ·±≠≡≈³αγελΔΣΩ∞ Schachroboter:www.youtube.com/watch?v=Cv-yzuebC7E Rasenmäher-Robot:www.youtube.com/watch?v=z7mqnaU_9A8

  9. #39
    Erfahrener Benutzer Robotik Einstein Avatar von HaWe
    Registriert seit
    09.10.2014
    Beiträge
    3.743
    aktuell: https://github.com/dsyleixa/Borland-...rduinoCOM_RxTx


    to do (ganz wichtig):

    bei Datenunterbrechung (Kabel gezogen) den Kontakt wieder aufnehmen.
    Momentan blockiert dann leider das BCB Programm komplett...

    (bei Arduino-Arduino oder Arduino-Raspi war das nie ein Problem...)
    ·±≠≡≈³αγελΔΣΩ∞ Schachroboter:www.youtube.com/watch?v=Cv-yzuebC7E Rasenmäher-Robot:www.youtube.com/watch?v=z7mqnaU_9A8

  10. #40
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Ort
    Berlin
    Beiträge
    825
    Ich vermute das Problem liegt bei ComPort1RxChar

    Du versuchst 1024 Bytes aus dem RX Puffer zu lesen,
    wieviele da aber momentan drin sind wird Dir ja in der Variablen Count mitgeteilt,
    das ist auch immer unterschiedlich,
    demnach kannst Du auch nicht mehr Bytes lesen.
    Du musst die Empfangsbytes erstmal solange in einen Puffer ablegen, bis dein Endezeichen erkannt wurde,
    also z.B. das Carriage Return /n
    Erst dann rufst Du deine Auswertefunktion auf, die den Buffer zerlegt.
    Also kommt in die ComPort1RxChar eigentlich nur folgende Pseudocode:

    while (Count--)
    {
    read 1 byte
    if byte is Endezeichen dann Auswerten
    ansonsten in Puffer packen
    }

    Siro

Seite 4 von 7 ErsteErste ... 23456 ... 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, 11:40
  2. Zwei Arduino Entwicklungsumgebungen unter Windows?
    Von Frank im Forum Arduino -Plattform
    Antworten: 5
    Letzter Beitrag: 13.04.2014, 23: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, 08: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, 09:38
  5. Messwerte über ADC im LCD anzeigen
    Von newbie1982 im Forum C - Programmierung (GCC u.a.)
    Antworten: 1
    Letzter Beitrag: 03.07.2008, 08:28

Berechtigungen

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