Seite 1 von 34 12311 ... LetzteLetzte
Ergebnis 1 bis 10 von 332

Thema: RP6 Remotrol 1.3: Die Opensource RP6-Fernsteuerung

  1. #1
    RN-Premium User Roboter-Spezialist
    Registriert seit
    21.04.2009
    Beiträge
    522

    RP6 Remotrol 1.3: Die Opensource RP6-Fernsteuerung

    Hallo,
    ich möchte euch mein neues Programm vorstellen: RP6 Remotrol.

    Diese Fernsteuerung besteht aus einem Programm für den RP6 (bzw für die M32 und die M128 ) und einem Programm für den PC, welches in C# geschrieben ist und das .NET-Framework 4 benötigt.

    Der RP6 und der PC werden über das RP6-USB-Interface verbunden (das geht selbstverständlich auch per Funk).

    Features der Fernsteuerung:
    • Läuft auf RP6, M32 und M128 und jeder Kombination daraus (Auch M32 + M128 ohne RP6)
    • Anzeige der Geschwindigkeit L/R
    • Anzeige der Leistung L/R
    • Anzeige der Lichtsensoren L/R
    • Anzeige des Batteriestandes
    • Anzeige des Mikrofonsensors (M32)
    • Anzeige der Temperatur (M128 )
    • Anzeige der Messwerte zweier SRF02
    • Anzeige vieler Messwerte auch als Graphen zur Verlaufsanalyse
    • Auswahl des zu benutzenden Ports und der Baudrate
    • Steuerung der Motoren per manuellem Regler für Links und Rechts
    • Steuerung der Motoren über Pfeiltasten
    • Selbsttests für die einzelnen Platinen
    • Steuerung von bis zu 8 Servos (M32)
    • Steuerung von bis zu 3 Servos (M128 )
    • Steuerung der Verbindungsgeschwindigkeit
    • Steuerung des Beeper (M32)
    • Komponieren eigner Melodien für den Beeper
    • Eigene Melodien als Startmelodie des Roboters programmieren
    • Steuerung aller LEDs (RP6, M32 und M128 )
    • Integriertes Terminal mit Anzeige von empfangenen und gesendeten Daten
    • Automatische Erkennung einer falschen Baudrate
    • Automatische Erkennung eines Timeouts (Roboter ist aus oder reagiert nicht mehr)
    • "Feature-System" zur Anpassung des eigenen RP6 an das Programm
    • Auto-Update


    Das Programm kann auf vier verschiedenen Systemen betrieben werden:
    Nur der RP6, RP6 + M32, RP6 + M128 und RP6 + M32 + M128.
    Dank des Feature-Systems kann die entsprechende Firmware immer den eigenen Bedürfnissen angepasst werden.
    Das Programm auf dem PC erkennt dies und deaktiviert nicht benötigte Funktionen.

    Das Programm wird in einer intuitiven Ordnerstruktur ausgeliefert,
    die die Installation und Integration erleichtert.
    Je nach vorhandener Hardware sind dort bis zu drei Programme für den RP6 enhalten:

    Nur der RP6: Hier gibt es ein Programm. Dies wird auf den RP6 geladen und es kann direkt losgehen.

    RP6 + M32: Hier gibt es schon zwei Programme, eines für den RP6 (dies ist das original I2C-Slave Beispiel-Programm) und eines für die M32.
    Jeweils beide Programme in den entsprechenden Controller laden und dann kanns losgehen.

    RP6+M128: Auch hier gibt es zwei Programme, wieder das Beispiel-Programm von oben für den RP6 und ein spezielles Programm für die M128.
    Beide Programme übertragen und loslegen.

    RP6 + M32 + M128: Hier gibt es nun natürlich drei Programme, das bekannte Beispielprogramm für den RP6,
    ein Programm für die M32, welches die Funktionen der M32 der M128 zur Verfügung stellt.
    Schlussendlich noch ein Programm für die M128, welches das Hauptprogramm darstellt.
    Alle Programme auf die Controller laden und los gehts.

    Hinweis: Bei mehr als einer Platine ist immer die bessere Platine die Haupt-Steuer-Platine.
    Platinenranking: RP6 < M32 < M128.

    Nachdem das (die) Programm(e) auf die jeweiligen Platinen übertragen wurden
    und das USB-Interface mit der Haupt-Steuer-Platine verbunden wurde, kann man nun den RP6 starten.
    Sofern das Programm auf dem PC noch nicht offen ist, sollte man es jetzt öffnen.

    Nach der Auswahl des Ports und der Baudrate (Standard: 38400) kommt man ins Hauptfenster.
    Dort klickt man auf "Verbinden" und wenn alles richtig eingestellt ist, sollten nun schon die ersten Werte sichtbar sein.

    Die Hauptseite zeigt nur die wichtigsten Werte und auch nur die der RP6-Base, da dieser wohl immer vorhanden sein sollte.
    Weitere Features sind nun über die Registerkarte "Zusätzliche Fenster" erreichbar.

    Das Programm steht unter OpenSource Lizenz und kann von jedem kostenlos benutzt und verändert werden.

    Ich hoffe euch gefällt das Programm und freue mich auf die Rückmeldungen.

    SourceCode:

    Der Sourcecode liegt auf Sourceforge.net und ist auch von dort herunterzuladen. Alternativ hier ein Direkt-Link.
    Einfach auf "Donwload GNU tarball" klicken.
    Hierbei gilt aber zu beachten, dass dies immer die neuste Version des Codes ist und
    daher nicht immer zu der aktuell veröffentlichten Version passt.

    Es können Fehler vorhanden sein und im Normalfall sind dort auch schon wesentlich mehr Features implementiert,
    als in der aktuell veröffentlichten Version.
    Daher ist dieser Sourcecode mit Vorsicht zu genießen.


    Aktuelle Version : 1.3

    Bekannte Bugs:
    • Der Beeper der M128 ist nicht aktiviert. Dort kommt es noch zu Problemen.


    Bei Problemen sollte zuerst meine Support-Webseite aufgesucht werden: support.diamondback-development.de
    Dort gibt es auch ein Forum "FAQs" in dem oft gestellte Fragen behandelt werden.
    Bitte zuerst dort nach Antworten suchen, bevor hier etwas geposted wird.


    Hinweis:
    Bitte beachtet, dass dieses Projekt auf meinen RP6 angepasst ist. Nicht alle Funktionen (z.B. die Servos) werden 100%ig ohne Anpassungen auf anderen RP6 laufen.
    Um das Programm in vollem Umfang nutzen zu können, solltet ihr euch nicht scheuen, auch mal den Quellcode anzupassen.

    Changelog
    Code:
    Version 1.3:
      [+] Selbstests hinzugefügt
      [+] Auto-Update hinzugefügt
      [+] Einstellungen hinzugefügt
      [+] Neues Layout
      [+] ACS hinzugefügt
      [+] Die Firmware-Ordner haben nun eine flash.bat, die das direkte Flashen der .hex erlauben
      [+] RP6 kann nun Fehlermeldungen senden
      [+] Slave-Module melden nun, wenn dort fälschlicherweise ein Kabel angeschlossen wurde
      [+] Dankesliste im About-Dialog hinzugefügt
      [+] Spenden-Button hinzugefügt
      [+] Debug-Ausgaben für den RP6 hinzugefügt[*] LED-Fenster-Layout angepasst[*] Verbindungsprotokoll komplett erneuert
      [-] Fehler bei der Erkennung blockierter COM-Ports behoben
      [-] Kritischer Fehler in der Firmware der M32 behoben
      [-] Ein Fehler beim Schließen des Terminals wurde behoben
      [-] Kritischer Fehler im Logger behoben
      [-] Die Verbindung wurde beim Empfangen von unlesbaren Daten nicht immer korrekt beendet
      [-] Unzählige weitere Bugfixes
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken remotrol_1.png   remotrol_2.png  

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    26
    Beiträge
    3.787
    Sieht sehr gut aus. Mit welchem Programm hast du das geschrieben? Habe mich mit VB2005 Express beschäftigt. habe ich aber keine Zeigerdiagramme gefunden (auch nicht mi Internet, außer kostenpflichtige).

    PS: Ich habe schon gelesen, dass du das in C geschrieben hast, wenn du dich wunderst warumk ich von VB schreibe.

    MfG Hannes

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    16.03.2010
    Ort
    Krefeld
    Beiträge
    109
    Bei mir Funktioniert das nicht
    es läuft bei mit direkt auf RP6 ohne erweiterung o.ä.
    bei mir kommt die fehlermeldung : das Prog. bekommt daten, aber sind nicht lesbar. Das sind die empfangenden daten : 
    ?`????#???d???????? ?Ld???????????????`

    Danke für Hilfe
    mfg Marcel

  4. #4
    RN-Premium User Roboter-Spezialist
    Registriert seit
    21.04.2009
    Beiträge
    522
    Das kann eigentlich nicht funktionieren
    Ich weiß nicht, ob ich es undeutlich ausgedrückt habe, aber die hex-Datei, die dabei ist, läuft nur auf der M32. Aber wie hesagt, wenn Interesse besteht, werde ich das ganze so umbauen, dass es nur auf dem RP6 laufen kann.
    Hast du da Interesse dran?

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    16.03.2010
    Ort
    Krefeld
    Beiträge
    109
    ja ist mir gerade auch aufgefallen
    Ich hatte mich daran auch mal versucht bloss es hat am rp6 (ja C) gescheitert.
    ich hatte mal so ne idee mit dem rp6 (nachts mit kamera, ir usw.) mal in den nachbargarten zu fahren....
    wann hast du denn vor das ganze für den RP6 normal zu machen ??
    und in der GUI könnte man das noch ändern dass man ihn mit pfeiltasten steuern kann
    und beim terminal das tx und rx in einer tabelle sind..

  6. #6
    RN-Premium User Roboter-Spezialist
    Registriert seit
    21.04.2009
    Beiträge
    522
    ich habe gerade eine Versionskontrolle eingebaut und etwas, dass dem Programm sagen kann, ob nun ein RP6 angeschlossen ist oder eine M32. Theorethisch könnte das heute noch fertig werden

  7. #7
    Benutzer Stammmitglied Avatar von ScummVM
    Registriert seit
    02.04.2010
    Ort
    Österreich
    Beiträge
    78
    Hallo,
    Auf der M128 wird das ganze dann wohl auch nicht laufen?

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    16.03.2010
    Ort
    Krefeld
    Beiträge
    109
    cool,gut dann kann man zuerst die v-kontrolle dann läufts auf beiden
    und wie ist das mit Ports also ´1 - 0 & ADC

  9. #9
    RN-Premium User Roboter-Spezialist
    Registriert seit
    21.04.2009
    Beiträge
    522
    nein, die M128 wird ja auch ganz anders programmiert, oder? Könnte aber auch noch kommen, will mir demnächst eine M128 kaufen
    Aber dafür ist die RP6-Version jetzt fertig. Gebt mir fünf Minuten Zeit, dann gibts die im ersten Post.

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    16.03.2010
    Ort
    Krefeld
    Beiträge
    109
    coo
    und wie ist mit den leds also z. B. alle an alle aus
    und wieviele zeilen code brauchtest du..

    danke schomal....

Seite 1 von 34 12311 ... LetzteLetzte

Berechtigungen

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