Rozwiązywanie problemów z czujnikami VEX V5

Jeśli podczas korzystania z informacji zwrotnych z czujnika Twój robot nie zachowuje się zgodnie z oczekiwaniami, możesz wykonać procedurę rozwiązywania problemów krok po kroku, aby znaleźć i rozwiązać problemy. W tym artykule wyjaśniono etapy procesu rozwiązywania problemów i podano wskazówki dotyczące korzystania z tych kroków.

Etapy tego procesu są następujące:

  1. Rozpoznaj problem
  2. Sprawdź sprzęt
  3. Sprawdź oprogramowanie
  4. Analizuj i stosuj dane

Zidentyfikuj problem

Pierwszym krokiem do rozwiązania problemu z czujnikiem jest określenie, który czujnik powoduje problem. Porównaj zaobserwowane zachowanie robota z zamierzonym zachowaniem robota. Czy przyczyną problemu jest czujnik? Jeśli tak to jaki czujnik? Jeśli potrzebujesz więcej informacji, aby określić, który czujnik może powodować problem, przeczytaj poniższe artykuły dotyczące czujników w Twoim robocie.

Czujniki VEX V5:

Po zidentyfikowaniu, który czujnik powoduje niezamierzone zachowanie, możesz kontynuować proces.


Sprawdź sprzęt

Drugim krokiem jest sprawdzenie sprzętu robota, aby upewnić się, że czujnik działa zgodnie z przeznaczeniem. Każdy z poniższych czynników sprzętowych może mieć wpływ na funkcjonalność czujnika.

Sprawdź umiejscowienie czujnika

Konstrukcja V5 Clawbot umożliwia jazdę po polu. Robot ma przymocowany czujnik optyczny, który jest podświetlony i skierowany w stronę czerwonej piłki Buckyball znajdującej się przed nim.

Zacznij od sprawdzenia, gdzie w robocie znajduje się czujnik. Czy czujnik jest przez coś blokowany, np. przez inną część robota? Upewnij się, że czujnik ma wystarczająco dużo miejsca, aby działać zgodnie z przeznaczeniem.

Jak pokazano tutaj, czujnik optyczny ma wyraźną linię widzenia do obiektu, który ma wykryć.

Sprawdź połączenie czujnika

Ekran Brain jest wyświetlany w menu Informacje o urządzeniu, gdzie znajduje się lista wszystkich inteligentnych portów Brain i podłączonych urządzeń. Ikona czujnika optycznego w menu Informacje o urządzeniu jest podświetlona, ​​co wskazuje, że można ją wybrać w celu otwarcia menu informacyjnego.

Przetestuj funkcjonalność czujnika, przeglądając dane wyświetlane na ekranie urządzeń w VEX V5 Brain. Pomoże to sprawdzić, czy czujnik jest podłączony i działa. 

Aby uzyskać dostęp do ekranu urządzeń, czynności opisane w tym artykule. Po otwarciu ekranu urządzeń sprawdź, czy czujnik jest widoczny we właściwej lokalizacji portu i danych raportowania. Tutaj wykrywany jest czujnik optyczny w Smart Port 11.

V5 Brain pokazano podłączonego do akumulatora V5 i inteligentnego silnika V5. Kabel silnika Smart Motor jest podłączony do jednego z portów Smart Ports w mózgu.V5 Brain z urządzeniem 3-Wire podłączonym do jednego z portów 3-Wire.

Jeśli czujnik nie przesyła danych, upewnij się, że czujniki są prawidłowo podłączone. Podczas podłączania czujników do Smart Port powinno być słyszalne trzaśnięcie, gdy zatrzask blokujący czujnika zostanie całkowicie osadzony w porcie.

Podczas podłączania czujników do portu 3-przewodowego kabel powinien być całkowicie włożony we właściwej orientacji, tak aby biały przewód znajdował się najbliżej ekranu Brain. 

Możesz także spróbować zamienić używany czujnik na inny, aby sprawdzić, czy to rozwiąże problem.

Jeśli zmieniłeś coś w rozmieszczeniu czujnika lub podłączeniu czujnika, przetestuj projekt ponownie, aby sprawdzić, czy to rozwiązało problem. Jeśli umiejscowienie czujnika i połączenie nie uległy zmianie, przejdź do następnego kroku, aby kontynuować proces rozwiązywania problemów.


Sprawdź oprogramowanie

Gdy już uda Ci się ustalić, że czujnik został prawidłowo umieszczony na robocie i podłączony do niego, możesz przejść do projektu VEXcode V5. Powtarzanie projektu może pomóc w zapewnieniu efektywnego wykorzystania danych z czujnika w projekcie. Poniższe strategie mogą pomóc w kodowaniu czujnika.

Jeśli zastosujesz którąkolwiek z tych strategii w swoim projekcie VEXcode V5, przetestuj swój projekt ponownie, aby sprawdzić, czy to rozwiązało problem.

Sprawdź oprogramowanie sprzętowe i konfigurację

VEXcode V5 z podłączonym Brainem i otwartym menu rozwijanym Brain, wskazującym, że można za jego pomocą sprawdzić oprogramowanie układowe Brain. Podana jest wersja systemu VEXos, widoczny jest tylko przycisk Wymuś aktualizację.

Na początek upewnij się, że oprogramowanie układowe Twojego V5 Brain jest aktualne.

Zobacz ten artykuł, aby dowiedzieć się więcej na temat aktualizacji oprogramowania sprzętowego w V5 Brain.

Menu urządzeń VEXcode V5 z długą listą podłączonych urządzeń. Za pomocą tego menu można sprawdzić, czy każdy czujnik jest prawidłowo podłączony, a także sprawdzić przypisany mu port w mózgu.

Teraz, gdy masz pewność, że wszystkie urządzenia są poprawnie podłączone do Brain, sprawdź konfigurację urządzenia w VEXcode V5.

Sprawdź, czy w konfiguracji są obecne wszystkie czujniki. Następnie sprawdź, czy każdy z nich jest podłączony do właściwego portu.

Zmień wszelkie nieprawidłowe konfiguracje urządzeń.

Uruchom przykładowy projekt

Przykładowe projekty bloków VEXcode w menu z różnorodnymi projektami do wyboru w różnych kategoriach. Kategoria Czujniki jest podświetlona.

Otwórz przykładowy projekt wykorzystujący czujnik, z którym rozwiązujesz problem. Możesz wybrać kategorię „Wykrywanie”, aby przefiltrować przykładowe projekty.

Więcej informacji na temat przykładowych projektów i szablonów bloków V5 znaleźć w tym artykule.

Więcej informacji na temat przykładowych projektów i szablonów języka Python w wersji 5 znaleźć w tym artykule.

Więcej informacji na temat przykładowych projektów i szablonów V5 C++ w tym artykule.

VEXcode V5 z przykładowym projektem otwartym z kategorii Czujniki, zawierającym stos bloków kodu i notatkę z opisem projektu. Notatka jest podświetlona.

Po otwarciu przeczytaj Uwagę, aby określić, czy funkcjonalność w przykładowym projekcie jest zgodna z tym, co próbujesz zrobić z czujnikiem.

W pokazanym tutaj przykładowym projekcie uwaga wskazuje, że stan naciśniętego wyłącznika zderzaka lub wyłącznika krańcowego zostanie wydrukowany na ekranie Brain. W tym przypadku Prawda oznacza, że ​​został naciśnięty, a Fałsz oznacza, że ​​nie został naciśnięty. 

Uruchom przykładowy projekt i obserwuj zachowanie robota. Następnie przyjrzyj się projektowi, aby zobaczyć, w jaki sposób dane z czujników są wykorzystywane do wywoływania zaobserwowanych zachowań. Aby sobie z tym poradzić, możesz chcieć uruchomić przykładowy projekt wiele razy.

Możesz spróbować stworzyć własny uproszczony projekt, aby zastosować w swoim zadaniu to, czego nauczyłeś się z przykładowego projektu.

Użyj innych narzędzi VEXcode V5

Istnieją również narzędzia i strategie, których możesz użyć, aby dowiedzieć się więcej o kodowaniu czujnika w VEXcode V5. O blokach i poleceniach znajdujących się w Toolboxie możesz dowiedzieć się indywidualnie, korzystając z Pomocy. Możesz także przeglądać dane czujnika w trakcie realizacji projektu, aby dowiedzieć się więcej o tym, co raportuje czujnik.

VEXcode V5 z otwartym menu Pomoc i wybranym blokiem Naciskanie zderzaka. Opisy bloków i sposoby ich wykorzystania są przedstawione na ilustracjach ilustrujących przykładowe zastosowania.

Pomoc

Przeczytaj Pomoc dotyczącą bloków lub poleceń w przykładowym projekcie lub w swoim projekcie, aby dowiedzieć się, jakie dane są używane, jakie wartości będzie raportować polecenie i przykłady użycia polecenia w projekcie.

Zobacz ten artykuł, aby dowiedzieć się więcej o uzyskiwaniu dostępu do pomocy w blokach VEXcode V5.

Zobacz ten artykuł, aby dowiedzieć się więcej o uzyskiwaniu dostępu do pomocy w VEXcode V5 Python.

Zobacz ten artykuł, aby dowiedzieć się więcej o uzyskiwaniu dostępu do pomocy w VEXcode V5 C++.

Drukowanie danych

Możesz także wydrukować dane z czujnika w trakcie realizacji przykładowego projektu lub Twojego projektu, aby lepiej zrozumieć, co czujnik raportuje w czasie rzeczywistym. Może to pomóc w określeniu, jakie wartości raportowane z czujnika wykorzystać jako parametry w projekcie. 

Należy pamiętać, że w projekcie Blocks można zastosować oddzielny blok kapelusza {When started} , aby wszystkie polecenia drukowania były zorganizowane we własnym stosie.

Bloki VEXcode V5
Projekt VEXcode V5 Blocks wykorzystuje pętlę Forever do drukowania danych z czujników do mózgu podczas działania projektu. Pierwsza część projektu brzmi: Po rozpoczęciu ustaw czcionkę na Mono Extra Large w Brain. Następnie mamy blok pętli Forever zawierający 5 bloków. Bloki w pętli odczytają „wyczyść wszystkie wiersze w Brain”, ustawią kursor na wierszu 1 w kolumnie 1 w Brain, a następnie wydrukują „Odległość (mm):” w Brain. Następnie wydrukuj odległość obiektu Distance19 w mm w Brain i ustaw kursor w następnym wierszu, a następnie odczekaj 0,5 sekundy.
VEXcode V5 w Pythonie
# Rozpocznij kod projektu

# Zwiększ rozmiar czcionki, aby ułatwić czytanie na ekranie Brain
brain.screen.set_font(FontType.MONO40)

while True:
  # Każda iteracja pętli wyczyści ekran
  brain.screen.clear_screen()
    
  # Po wyczyszczeniu ekranu ustaw kursor drukowania z powrotem w lewym górnym rogu
  brain.screen.set_cursor(1, 1)
  
  # Wypisz etykietę i wartość odległości od obiektu w tym samym wierszu
  brain.screen.print("Odległość (mm): ")
  brain.screen.print(distance_19.object_distance(MM))
  brain.screen.next_row()
  wait(0.5, SECONDS)
VEXcode V5 C++
int main() {

  // Zwiększ rozmiar czcionki, aby ułatwić czytanie na ekranie Brain
  Brain.Screen.setFont(mono40);
  
  while (true) {
  
    // Każda iteracja pętli wyczyści ekran
    Brain.Screen.clearScreen();
    
    // Po wyczyszczeniu ekranu ustaw kursor drukowania z powrotem w lewym górnym rogu
    Brain.Screen.setCursor(1, 1);
    
    // Wypisz etykietę i wartość odległości od obiektu w tym samym wierszu
    Brain.Screen.print("Odległość (mm): %.2f", Distance19.objectDistance(mm));
    Brain.Screen.newLine();
    wait(0.5, seconds);
    
  }
  
}

Drukowanie do V5 Brain jest przydatne, gdy chcesz zobaczyć zmieniające się wartości podczas działania projektu VEXcode V5. Może to pomóc w określeniu, jakie wartości raportowane z czujnika wykorzystać jako parametry w projekcie. Te polecenia drukowania można włączyć do już utworzonego projektu VEXcode V5, dzięki czemu można zobaczyć, jak wartości czujnika zmieniają się w określonych momentach ruchu robota. 

Powyższe przykładowe projekty pokazują, jak wydrukować wartości z czujnika odległości do mózgu V5. Komentarze w każdym projekcie wyjaśniają przebieg projektu i użycie każdego polecenia.

Bloki VEXcode V5
Projekt VEXcode V5 Blocks wykorzystuje pętlę Forever do drukowania danych z czujników na konsoli podczas działania projektu. Pierwsza część projektu brzmi: Po rozpoczęciu ustaw pozycję Rotation15 na 0 stopni. Następnie mamy blok pętli Forever zawierający 3 bloki. Bloki w pętli odczytują polecenie print Position (degrees): w konsoli, drukują pozycję Rotation15 w stopniach w konsoli i ustawiają kursor w następnym wierszu, a na koniec czekają 0,5 sekundy.
VEXcode V5 w Pythonie
# Rozpocznij kod projektu

# Zresetuj czujnik obrotu do 0 na początku projektu
rotation_15.set_position(0, DEGREES)

while True:
  # Wydrukuj etykietę i wartość odległości od obiektu w tym samym wierszu
  print("Pozycja (stopnie): ", end="")
  print(rotation_15.position(DEGREES))
  
  # Poczekaj na wydrukowanie wartości, a następnie powtórz pętlę
  wait(0.5, SECONDS)
VEXcode V5 C++
int main() {

  // Zresetuj czujnik obrotu do 0 na początku projektu
  Rotation15.setPosition(0.0, degrees);
  
  while(true) {
  
    // Wypisz etykietę i wartość odległości od obiektu w tym samym wierszu
    printf("Pozycja (stopnie): %.2f\n", Rotation15.position(degrees));
    
    // Poczekaj na wydrukowanie wartości, a następnie powtórz pętlę
    wait(0.5, seconds);
    
  }
  
}

Drukowanie do konsoli drukowania w VEXcode V5 jest zalecane w przypadku, gdy uruchamiasz projekt VEXcode V5, w którym robot NIE porusza się. Aby możliwe było drukowanie w programie Print Console, V5 Brain musi pozostać podłączony do prądu podczas realizacji projektu. Jest to korzystne, ponieważ możesz odczytać wartości z okna VEXcode V5, zamiast próbować odczytać dane z ekranu Brain.

Te przykłady pokazują projekt drukowania danych z czujnika obrotu do konsoli w VEXcode V5. 

Więcej informacji na temat korzystania z programu Print Console w blokach VEXcode V5 można znaleźć w tym artykule.


Analizuj i stosuj dane

Następnie wykorzystaj wiedzę zdobytą w poprzednich krokach, aby dostosować swój oryginalny projekt. Możesz nadal korzystać z narzędzi takich jak Pomoc i drukowanie danych, aby efektywnie wykorzystywać czujnik do osiągnięcia swojego celu.

Możesz także zadawać pytania na temat swojego projektu, aby pomóc Ci w dalszym rozwoju. Pomyśl o takich rzeczach jak:

  • Czy w swoim projekcie używasz wartości większej niż < czy mniejszej niż > ? Czy symbol jest skierowany we właściwym kierunku? Jeśli używasz równości =, spróbuj zastąpić ją wartością większą lub mniejszą niż, aby użyć zakresu wartości.
  • Czy Twoje parametry są prawidłowe? Czy wykorzystujesz dane z czujnika do ustawiania parametrów? Czy wybrałeś potrzebną opcję rozwijaną?
  • Czy sprawdzasz warunki więcej niż raz? Spróbuj dodać pętlę Forever do swojego projektu, aby warunek był wielokrotnie sprawdzany podczas uruchamiania projektu.
  • Czy Twój projekt utknął? Czy Twoje warunki są ustawione prawidłowo? Jeśli używasz zagnieżdżonych pętli, spróbuj uprościć swój projekt, aby wyizolować poszczególne zachowania.
  • Czy warunki otoczenia wpływają na czujnik? Czy jest za jasno czy za ciemno? Czy na drodze znajdują się przedmioty lub ludzie? Spróbuj uruchomić projekt w innej lokalizacji, aby sprawdzić, czy to pomoże.
  • Czy korzystasz z najnowszej wersji swojego projektu? Czy pobrałeś zaktualizowany projekt do Brain? Po każdej zmianie pamiętaj o ponownym pobraniu projektu.
  • Czy wykrywasz właściwy kolor? Czy czujnik zgłasza inny kolor niż ten, który masz w swoim projekcie? Spróbuj zmienić parametr koloru lub użyć zakresu wartości odcieni, aby sprawdzić, czy to pomoże.
  • Czy wykrywasz obiekt w polu widzenia czujnika? Pamiętaj, że pole widzenia zmienia się w połączeniu z ruchem robota.
  • Czy używasz bloku oczekującego podczas sprawdzania warunku? Upewnij się, że podczas sprawdzania warunku używasz w projekcie bloków nie oczekujących. Przeczytaj ten artykuł, aby dowiedzieć się więcej o blokach oczekujących i nieoczekujących w VEXcode V5.
  • Jeśli kodujesz w blokach, czy cały stos jest dołączony do {When started} bloku kapelusza? Bloki będą działać tylko wtedy, gdy zostaną połączone. Możesz słuchać dźwięku kliknięcia podczas przeciągania bloków i łączenia ich ze sobą.

Odpowiadając na te pytania, pamiętaj o zmianie jednej rzeczy w projekcie na raz, przetestuj ją, a następnie oceń, czy ta zmiana była skuteczna. Częste testowanie projektu może pomóc Ci łatwiej zobaczyć, jak Twój kod jest powiązany z zachowaniami robota.  Być może konieczne będzie wielokrotne powtórzenie kroków procesu rozwiązywania problemów, aby rozwiązać problem i to jest w porządku. Każda iteracja pomoże Ci dowiedzieć się więcej o czujniku, którego używasz i jak go zakodować w VEXcode V5.

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

Last Updated: