Fehlerbehebung bei VEX V5-Sensoren

Wenn sich Ihr Roboter bei der Verwendung von Sensorrückmeldungen nicht wie vorgesehen verhält, können Sie einer Schritt-für-Schritt-Anleitung zur Fehlerbehebung folgen, um Ihre Probleme zu finden und zu beheben. In diesem Artikel werden die Schritte eines Fehlerbehebungsprozesses erläutert und Tipps zur Verwendung dieser Schritte gegeben.

Die Schritte dieses Prozesses sind:

  1. Identifizieren Sie das Problem
  2. Hardware prüfen
  3. Software prüfen
  4. Daten analysieren und anwenden

Identifizieren Sie das Problem

Der erste Schritt zur Fehlerbehebung bei Ihrem Sensor besteht darin, herauszufinden, welcher Sensor das Problem verursacht. Vergleichen Sie das beobachtete Roboterverhalten mit dem beabsichtigten Roboterverhalten. Wird das problematische Verhalten durch einen Sensor verursacht? Wenn ja, welcher Sensor? Wenn Sie weitere Informationen benötigen, um festzustellen, welcher Sensor das Problem sein könnte, lesen Sie die folgenden Artikel zu den Sensoren Ihres Roboters.

VEX V5-Sensoren:

Sobald Sie herausgefunden haben, welcher Sensor das unbeabsichtigte Verhalten verursacht, können Sie mit dem Prozess fortfahren.


Hardware prüfen

Im zweiten Schritt wird die Hardware des Roboters überprüft, um sicherzustellen, dass der Sensor wie vorgesehen funktionieren kann. Jede der folgenden Hardware-Überlegungen könnte sich auf die Funktionalität Ihres Sensors auswirken.

Sensorplatzierung prüfen

V5 Clawbot-Bausatz fährt auf einem Feld. Der Roboter verfügt über einen angebrachten optischen Sensor, der hervorgehoben ist und auf einen roten Fullerene vor ihm gerichtet ist.

Schauen Sie sich zunächst an, wo sich der Sensor an Ihrem Roboter befindet. Wird der Sensor durch irgendetwas blockiert, beispielsweise durch ein anderes Teil Ihres Roboters? Stellen Sie sicher, dass der Sensor genügend Platz hat, um wie vorgesehen zu funktionieren.

Wie hier gezeigt, hat der optische Sensor eine klare Sichtlinie zu dem Objekt, das er erkennen soll.

Überprüfen Sie den Sensoranschluss

Der Brain-Bildschirm wird im Menü „Geräteinfo“ angezeigt, das eine Liste aller Smart Ports des Brain und der angeschlossenen Geräte enthält. Das Symbol für den optischen Sensor im Menü „Geräteinformationen“ ist hervorgehoben, um anzuzeigen, dass es ausgewählt werden kann, um das zugehörige Informationsmenü zu öffnen.

Testen Sie die Funktionalität des Sensors, indem Sie sich die auf dem Gerätebildschirm des VEX V5 Brain gemeldeten Daten ansehen. Dies kann Ihnen dabei helfen, zu überprüfen, ob der Sensor angeschlossen ist und funktioniert. 

Um auf den Gerätebildschirm zuzugreifen, folgen den Schritten in diesem Artikel. Sobald der Gerätebildschirm geöffnet ist, prüfen Sie, ob der Sensor an der richtigen Anschlussposition sichtbar ist und Daten meldet. Hier wird der optische Sensor im Smart Port 11 erkannt.

Das V5 Brain ist mit einer V5-Batterie und einem V5 Smart Motor verbunden. Das Kabel des intelligenten Motors ist mit einem der intelligenten Anschlüsse des Gehirns verbunden.V5 Brain mit einem 3-Draht-Gerät, das an einen seiner 3-Draht-Anschlüsse angeschlossen ist.

Wenn der Sensor keine Daten meldet, stellen Sie sicher, dass Ihre Sensoren richtig angeschlossen sind. Wenn Sie Sensoren an einen Smart Port anschließen, sollten Sie ein Klicken hören, wenn die Verriegelungslasche des Sensors vollständig in einem Port eingerastet ist.

Wenn Sie Sensoren an einen 3-Draht-Anschluss anschließen, sollte das Kabel vollständig und in der richtigen Ausrichtung eingesteckt werden, wobei der weiße Draht dem Brain-Bildschirm am nächsten liegt. 

Sie können auch versuchen, den von Ihnen verwendeten Sensor durch einen anderen auszutauschen, um zu sehen, ob das Problem dadurch behoben wird.

Wenn Sie etwas an der Sensorplatzierung oder Sensorverbindung geändert haben, testen Sie Ihr Projekt erneut, um zu sehen, ob das Problem dadurch behoben wurde. Wenn sich die Platzierung und Verbindung Ihres Sensors nicht geändert hat, fahren Sie mit dem nächsten Schritt fort, um mit der Fehlerbehebung fortzufahren.


Überprüfen Sie die Software

Sobald Sie festgestellt haben, dass der Sensor erfolgreich am Roboter angebracht und mit ihm verbunden wurde, können Sie sich als nächstes dem VEXcode V5-Projekt zuwenden. Durch die Iteration eines Projekts können Sie sicherstellen, dass die Daten des Sensors in Ihrem Projekt effektiv genutzt werden. Die folgenden Strategien können Ihnen bei der Codierung Ihres Sensors helfen.

Wenn Sie eine dieser Strategien auf Ihr VEXcode V5-Projekt anwenden, testen Sie Ihr Projekt erneut, um zu sehen, ob das Problem dadurch behoben wurde.

Überprüfen Sie Firmware und Konfiguration

VEXcode V5 mit angeschlossenem Brain und geöffnetem Brain-Dropdown-Menü, was darauf hinweist, dass es zur Überprüfung der Firmware des Brain verwendet werden kann. Die VEXos-Version wird angezeigt, jedoch nur die Schaltfläche „Aktualisierung erzwingen“.

Stellen Sie zunächst sicher, dass die Firmware Ihres V5 Brain auf dem neuesten Stand ist.

In diesem Artikel erfahren Sie mehr über die Aktualisierung der Firmware auf dem V5 Brain.

VEXcode V5 Gerätemenü mit einer langen Liste der angeschlossenen Geräte. Mithilfe dieses Menüs kann sichergestellt werden, dass jeder Sensor ordnungsgemäß angeschlossen ist, und der jeweilige Anschluss am Gehirn kann überprüft werden.

Nachdem Sie nun sicher sind, dass alle Geräte korrekt mit dem Brain verbunden sind, überprüfen Sie die Gerätekonfiguration in VEXcode V5.

Stellen Sie sicher, dass alle Sensoren in der Konfiguration vorhanden sind. Überprüfen Sie dann, ob jeder Anschluss an den richtigen Anschluss angeschlossen ist.

Ändern Sie alle falschen Gerätekonfigurationen.

Führen Sie ein Beispielprojekt aus

Das Menü „VEXcode Blocks Beispielprojekte“ bietet eine Vielzahl von Projekten aus verschiedenen Kategorien zur Auswahl. Die Kategorie Sensorik ist hervorgehoben.

Öffnen Sie ein Beispielprojekt, das den Sensor verwendet, den Sie beheben möchten. Sie können die Kategorie „Sensorik“ auswählen, um Beispielprojekte zu filtern.

Weitere Informationen zu V5 Blocks Beispielprojekten und Vorlagen finden in diesem Artikel.

Weitere Informationen zu V5 Python Beispielprojekten und Vorlagen finden in diesem Artikel.

Weitere Informationen zu V5 C++ Beispielprojekten und Vorlagen finden in diesem Artikel.

VEXcode V5 mit einem aus der Kategorie Sensorik geöffneten Beispielprojekt, einschließlich eines Stapels von Codeblöcken und einer Notiz mit einer Projektbeschreibung. Die Notiz ist hervorgehoben.

Lesen Sie nach dem Öffnen den Hinweis, um festzustellen, ob die Funktionalität im Beispielprojekt mit dem übereinstimmt, was Sie mit dem Sensor tun möchten.

Im hier gezeigten Beispielprojekt weist der Hinweis darauf hin, dass der Zustand des gedrückten Bumper- oder Endschalters auf dem Brain-Bildschirm ausgedruckt wird. In diesem Fall bedeutet True, dass gedrückt wurde, und False, dass nicht gedrückt wurde. 

Führen Sie das Beispielprojekt aus und beobachten Sie das Roboterverhalten. Schauen Sie sich dann das Projekt an, um zu sehen, wie die Sensordaten verwendet werden, um die beobachteten Verhaltensweisen hervorzurufen. Möglicherweise möchten Sie das Beispielprojekt mehrmals ausführen, um dies zu erleichtern.

Möglicherweise möchten Sie versuchen, ein eigenes vereinfachtes Projekt zu erstellen, um das, was Sie aus dem Beispielprojekt gelernt haben, auf Ihre Aufgabe anzuwenden.

Verwenden Sie andere VEXcode V5-Tools

Es gibt auch Tools und Strategien, die Ihnen dabei helfen können, mehr über die Codierung Ihres Sensors in VEXcode V5 zu erfahren. Mithilfe der Hilfe können Sie die Blöcke oder Befehle in der Toolbox einzeln kennenlernen. Sie können Sensordaten auch während der Ausführung eines Projekts anzeigen, um mehr darüber zu erfahren, was der Sensor meldet.

VEXcode V5 mit geöffnetem Hilfemenü und ausgewähltem Block „Druckknopf“. Beschreibungen des Blocks und seiner Verwendungsmöglichkeiten werden zusammen mit Abbildungen von Anwendungsbeispielen gezeigt.

Die Hilfe

Lesen Sie die Hilfe zu den Blöcken oder Befehlen im Beispielprojekt oder in Ihrem Projekt, um mehr über die verwendeten Daten, die Werte, die der Befehl meldet, und Beispiele für die Verwendung des Befehls in einem Projekt zu erfahren.

Sehen Sie sich diesen Artikel an, um mehr über den Zugriff auf die Hilfe in VEXcode V5-Blöcken zu erfahren.

Sehen Sie sich diesen Artikel an, um mehr über den Zugriff auf die Hilfe in VEXcode V5 Python zu erfahren.

Sehen Sie sich diesen Artikel an, um mehr über den Zugriff auf die Hilfe in VEXcode V5 C++ zu erfahren.

Daten drucken

Sie können auch Daten vom Sensor drucken, während das Beispielprojekt oder Ihr Projekt ausgeführt wird, um Ihnen zu helfen, besser zu verstehen, was der Sensor in Echtzeit meldet. Dies kann Ihnen dabei helfen, zu bestimmen, welche vom Sensor gemeldeten Werte als Parameter in Ihrem Projekt verwendet werden sollen. 

Beachten Sie, dass in einem Blocks-Projekt ein separater {When started} Hat-Block verwendet werden kann, um alle Druckbefehle in einem eigenen Stapel zu organisieren.

VEXcode V5-Blöcke
Ein VEXcode V5 Blocks-Projekt, das eine Endlosschleife verwendet, um Sensordaten an das Brain auszugeben, während das Projekt läuft. Der erste Teil des Projekts lautet: Beim Start die Schriftart auf „Mono Extra Large“ in Brain einstellen. Als Nächstes folgt ein Endlosschleifenblock mit 5 Blöcken darin. Die Blöcke in der Schleife lesen: Alle Zeilen auf Brain löschen, Cursor auf Zeile 1 Spalte 1 auf Brain setzen und dann Distanz (mm): auf Brain ausgeben. Als Nächstes geben Sie auf Brain die Objektdistanz Distance19 in mm aus, setzen den Cursor auf die nächste Zeile und warten dann 0,5 Sekunden.
VEXcode V5 Python
# Projektcode beginnen

# Schriftgröße für bessere Lesbarkeit auf dem Brain-Bildschirm erhöhen
brain.screen.set_font(FontType.MONO40)

while True:
  # Bildschirm in jeder Iteration der Schleife löschen
  brain.screen.clear_screen()
    
  # Nach dem Löschen des Bildschirms den Druckcursor wieder in die obere linke Ecke setzen
  brain.screen.set_cursor(1, 1)
  
  # Beschriftung und Abstand zum Objekt in derselben Zeile ausgeben
  brain.screen.print("Abstand (mm): ")
  brain.screen.print(distance_19.object_distance(MM))
  brain.screen.next_row()
  wait(0.5, SECONDS)
VEXcode V5 C++
int main() {

  // Vergrößere die Schriftgröße für bessere Lesbarkeit auf dem Brain-Bildschirm
  Brain.Screen.setFont(mono40);
  
  while (true) {
  
    // Lösche den Bildschirm in jeder Iteration der Schleife
    Brain.Screen.clearScreen();
    
    // Setze den Druckcursor nach dem Löschen des Bildschirms wieder in die obere linke Ecke
    Brain.Screen.setCursor(1, 1);
    
    // Gib eine Beschriftung und den Wert der Entfernung zum Objekt in derselben Zeile aus
    Brain.Screen.print("Entfernung (mm): %.2f", Distance19.objectDistance(mm));
    Brain.Screen.newLine();
    wait(0.5, seconds);
    
  }
  
}

Das Drucken auf dem V5 Brain ist hilfreich, wenn Sie sehen möchten, wie sich die Werte während der Ausführung eines VEXcode V5-Projekts ändern. Dies kann Ihnen dabei helfen, zu bestimmen, welche vom Sensor gemeldeten Werte als Parameter in Ihrem Projekt verwendet werden sollen. Diese Druckbefehle können in das bereits erstellte VEXcode V5-Projekt integriert werden, sodass Sie sehen können, wie sich die Sensorwerte zu bestimmten Zeiten ändern, während sich der Roboter bewegt. 

Diese Beispielprojekte oben zeigen, wie Werte vom Distanzsensor an das V5 Brain gedruckt werden. Die Kommentare in jedem Projekt erläutern den Ablauf des Projekts und die Verwendung der einzelnen Befehle.

VEXcode V5-Blöcke
Ein VEXcode V5 Blocks-Projekt, das eine Endlosschleife verwendet, um während der Projektausführung Sensordaten in der Konsole auszugeben. Der erste Teil des Projekts lautet: Beim Start die Position Rotation15 auf 0 Grad einstellen. Als Nächstes folgt ein Endlosschleifenblock mit 3 Blöcken darin. Die Blöcke in der Schleife lesen print Position (degrees): auf der Konsole, print Rotation15 position in degrees auf der Konsole und set cursor to next row, und schließlich wait 0.5 seconds.
VEXcode V5 Python
# Projektcode starten

# Rotationssensor zu Projektbeginn auf 0 zurücksetzen
rotation_15.set_position(0, DEGREES)

while True:
  # Beschriftung und Abstand zum Objekt in derselben Zeile ausgeben
  print("Position (Grad): ", end="")
  print(rotation_15.position(DEGREES))
  
  # Warten, bis der Wert ausgegeben ist, dann Schleife wiederholen
  wait(0.5, SECONDS)
VEXcode V5 C++
int main() {

  // Den Rotationssensor zu Beginn des Projekts auf 0 zurücksetzen
  Rotation15.setPosition(0.0, degrees);
  
  while(true) {
  
    // Eine Beschriftung und den Wert des Abstands zum Objekt in derselben Zeile ausgeben
    printf("Position (degrees): %.2f\n", Rotation15.position(degrees));
    
    // Warten, bis der Wert ausgegeben ist, dann die Schleife wiederholen
    wait(0.5, seconds);
    
  }
  
}

Das Drucken auf der Druckkonsole in VEXcode V5 wird empfohlen, wenn Sie ein VEXcode V5-Projekt ausführen, bei dem sich der Roboter NICHT bewegt. Das V5 Brain muss während der Ausführung des Projekts angeschlossen bleiben, um über die Druckkonsole drucken zu können. Dies ist von Vorteil, da Sie die Werte aus dem VEXcode V5-Fenster lesen können, anstatt zu versuchen, Daten vom Brain-Bildschirm zu lesen.

Diese Beispiele zeigen ein Projekt, das Daten vom Rotationssensor an die Konsole in VEXcode V5 druckt. 

Weitere Informationen zur Verwendung der Druckkonsole in VEXcode V5-Blöcken finden Sie in diesem Artikel.


Daten analysieren und anwenden

Nutzen Sie als Nächstes das, was Sie in den vorherigen Schritten gelernt haben, um Ihr ursprüngliches Projekt anzupassen. Sie können weiterhin Tools wie die Hilfe und das Drucken von Daten verwenden, um den Sensor effektiv zu nutzen und Ihr Ziel zu erreichen.

Sie können auch Fragen zu Ihrem Projekt stellen, um weiter voranzukommen. Denken Sie an Dinge wie:

  • Verwenden Sie in Ihrem Projekt mehr als < oder weniger als > ? Zeigt das Symbol in die richtige Richtung? Wenn Sie „equal to =“ verwenden, versuchen Sie es durch „größer als“ oder „kleiner als“ zu ersetzen, um einen Wertebereich zu verwenden.
  • Sind Ihre Parameter korrekt? Nutzen Sie die Daten des Sensors zur Einstellung Ihrer Parameter? Haben Sie die Dropdown-Option ausgewählt, die Sie benötigen?
  • Überprüfen Sie die Bedingungen mehr als einmal? Versuchen Sie, Ihrem Projekt eine Forever-Schleife hinzuzufügen, damit die Bedingung beim Ausführen des Projekts wiederholt überprüft wird.
  • Steckt Ihr Projekt fest? Sind Ihre Konditionen richtig eingestellt? Wenn Sie verschachtelte Schleifen verwenden, versuchen Sie, Ihr Projekt zu vereinfachen, um einzelne Verhaltensweisen zu isolieren.
  • Beeinflussen Ihre Umgebungsbedingungen den Sensor? Ist es zu hell oder zu dunkel? Sind Gegenstände oder Personen im Weg? Versuchen Sie, Ihr Projekt an einem anderen Ort auszuführen, um zu sehen, ob das hilft.
  • Führen Sie die neueste Version Ihres Projekts aus? Haben Sie Ihr aktualisiertes Projekt auf das Brain heruntergeladen? Stellen Sie sicher, dass Sie das Projekt jedes Mal erneut herunterladen, wenn Sie eine Änderung vornehmen.
  • Erkennen Sie die richtige Farbe? Meldet der Sensor eine andere Farbe als die, die Sie in Ihrem Projekt haben? Versuchen Sie, den Farbparameter zu ändern oder einen Bereich von Farbtonwerten zu verwenden, um zu sehen, ob das hilft.
  • Erkennen Sie ein Objekt im Sichtfeld des Sensors? Denken Sie daran, dass sich das Sichtfeld in Verbindung mit der Bewegung des Roboters ändert.
  • Verwenden Sie beim Überprüfen einer Bedingung einen Warteblock? Stellen Sie sicher, dass Sie bei der Prüfung auf eine Bedingung in einem Projekt nicht wartende Blöcke verwenden. Lesen Sie diesen Artikel, um mehr über wartende und nicht wartende Blöcke in VEXcode V5 zu erfahren.
  • Wenn Sie in Blöcken codieren, ist Ihr gesamter Stapel an den {When started} Hat-Block gebunden? Blöcke werden nur ausgeführt, wenn sie verbunden sind. Sie können auf ein Klickgeräusch achten, wenn Sie Blöcke ziehen und miteinander verbinden.

Achten Sie bei der Beantwortung dieser Fragen darauf, jeweils eine Sache in Ihrem Projekt zu ändern, sie zu testen und dann zu bewerten, ob diese Änderung wirksam war. Durch regelmäßiges Testen Ihres Projekts können Sie leichter erkennen, wie Ihr Code mit dem Verhalten des Roboters zusammenhängt.  Möglicherweise müssen Sie die Schritte des Fehlerbehebungsprozesses mehrmals wiederholen, um Ihr Problem zu lösen, und das ist in Ordnung. Mit jeder Iteration erfahren Sie mehr über den von Ihnen verwendeten Sensor und wie Sie ihn in VEXcode V5 codieren.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: