A VEX V5 érzékelők hibaelhárítása

Ha az érzékelő visszacsatolása közben robotja nem úgy viselkedik, ahogyan azt tervezte, lépésről lépésre követheti a hibaelhárítási eljárást a problémák megkereséséhez és kijavításához. Ez a cikk elmagyarázza a hibaelhárítási folyamat lépéseit, és tippeket ad ezeknek a lépéseknek a használatához.

Ennek a folyamatnak a lépései a következők:

  1. Azonosítsa a problémát
  2. Ellenőrizze a hardvert
  3. Ellenőrizze a szoftvert
  4. Adatok elemzése és alkalmazása

A probléma azonosítása

Az érzékelő hibaelhárításának első lépése annak meghatározása, hogy melyik érzékelő okozza a problémát. Hasonlítsa össze a megfigyelt robot viselkedését a tervezett robot viselkedéssel. A problémás viselkedést egy érzékelő okozza? Ha igen melyik érzékelő? Ha további információra van szüksége annak meghatározásához, hogy melyik érzékelő lehet a probléma, olvassa el az alábbi cikk(eke)t a robotja érzékelőivel kapcsolatban.

VEX V5 érzékelők:

Miután azonosította, hogy melyik érzékelő okozza a nem kívánt viselkedést, továbbléphet a folyamatban.


Hardver ellenőrzése

A második lépés a robot hardverének ellenőrzése, hogy megbizonyosodjon arról, hogy az érzékelő megfelelően működik-e. A következő hardveres megfontolások mindegyike hatással lehet az érzékelő működésére.

Ellenőrizze az érzékelő elhelyezését

V5 Clawbot építmény vezetés közben egy mezőn. A robothoz egy optikai érzékelő tartozik, amely kiemelten jelenik meg, és egy előtte lévő piros Buckyballra mutat.

Kezdje azzal, hogy megnézi, hol található az érzékelő a roboton. Az érzékelőt blokkolja valami, például a robot egy másik része? Győződjön meg arról, hogy az érzékelőnek elegendő helye van a rendeltetésszerű működéshez.

Amint az itt látható, az optikai érzékelő világos látószöggel rendelkezik az észlelni kívánt tárgy felé.

Ellenőrizze az érzékelő csatlakozását

Az agy képernyője az Eszközinformációk menüben látható, amely az agy összes intelligens portjának és csatlakoztatott eszközének listáját tartalmazza. Az Eszközinformációk menüben az Optikai érzékelő ikonja kiemelve jelenik meg, jelezve, hogy kiválasztható az információs menü megnyitásához.

Tesztelje az érzékelő működését a VEX V5 Brain Eszközök képernyőjén jelentett adatok alapján. Ez segíthet ellenőrizni, hogy az érzékelő csatlakoztatva van-e és működik-e. 

Az Eszközök képernyő eléréséhez a cikkben található lépéseket. Miután megnyílt az Eszközök képernyő, ellenőrizze, hogy az érzékelő a megfelelő porton látható-e, és a jelentési adatokkal. Itt az optikai érzékelőt a Smart Port 11-ben észleli.

A V5 Brain egy V5 akkumulátorhoz és egy V5 Smart Motor eszközhöz csatlakoztatva látható. Az intelligens motor kábele az agy egyik intelligens portjához van csatlakoztatva.V5 agy, amelynek egyik 3 vezetékes portjához egy 3 vezetékes eszköz csatlakozik.

Ha az érzékelő nem közöl adatokat, győződjön meg arról, hogy az érzékelők megfelelően vannak csatlakoztatva. Amikor érzékelőket csatlakoztat egy intelligens porthoz, kattanást kell hallania, amikor az érzékelő reteszelő füle teljesen be van kapcsolva egy portba.

Amikor az érzékelőket 3 vezetékes porthoz csatlakoztatja, a kábelt teljesen be kell dugni a megfelelő irányban úgy, hogy a fehér vezeték legyen a legközelebb az agy képernyőjéhez. 

Megpróbálhatja kicserélni a használt érzékelőt egy másikra, hogy megnézze, ez megoldja-e a problémát.

Ha módosított valamit az érzékelő elhelyezésén vagy csatlakozásán, tesztelje újra a projektet, hogy megbizonyosodjon arról, hogy ez megoldotta-e a problémát. Ha az érzékelő elhelyezése és csatlakozása nem változott, lépjen a következő lépésre a hibaelhárítási folyamat folytatásához.


Ellenőrizze a szoftvert

Miután megállapította, hogy az érzékelőt sikeresen elhelyezték és csatlakoztatták a robothoz, a következő lépés a VEXcode V5 projekt. A projekt iterációja segíthet abban, hogy az érzékelő adatait hatékonyan használják fel a projektben. A következő stratégiák segíthetnek az érzékelő kódolásában.

Ha a fenti stratégiák bármelyikét alkalmazza a VEXcode V5 projektre, tesztelje újra a projektet, hogy megbizonyosodjon arról, hogy ez megoldotta-e a problémát.

Ellenőrizze a firmware-t és a konfigurációt

VEXcode V5 csatlakoztatott Brainnel és a megnyílt Brain legördülő menüvel, jelezve, hogy használható a Brain firmware-ének ellenőrzésére. A VEXos verziója szerepel a listán, és csak a Frissítés kényszerítése gomb látható.

Kezd azzal, hogy ellenőrizd a V5 Brain firmware-ének naprakészségét.

Ebben a cikkben többet megtudhat a V5 Brain firmware-frissítéséről.

A VEXcode V5 Eszközök menüje a csatlakoztatott eszközök hosszú listájával jelenik meg. Ez a menü használható annak ellenőrzésére, hogy minden érzékelő megfelelően van-e csatlakoztatva, és hogy melyik port van az agyon.

Most, hogy biztos abban, hogy minden eszköz megfelelően csatlakozik az agyhoz, ellenőrizze a VEXcode V5 eszközkonfigurációját.

Ellenőrizze, hogy az összes érzékelő jelen van-e a konfigurációban. Ezután ellenőrizze, hogy mindegyik a megfelelő porthoz van-e csatlakoztatva.

Módosítsa a nem megfelelő eszközkonfigurációkat.

Futtasson egy példaprojektet

VEXcode Blocks Példaprojektek menü, ahol számos különböző kategóriába tartozó projekt közül választhat. Az Érzékelés kategória van kiemelve.

Nyisson meg egy példaprojektet, amely a hibaelhárítás alatt álló érzékelőt használja. A példaprojektek szűréséhez kiválaszthatja az „Érzékelés” kategóriát.

A V5 Blocks példaprojektekkel és sablonokkal kapcsolatos további információkért lásd ezt a cikket.

A V5 Python példaprojektekkel és sablonokkal kapcsolatos további információkért lásd ezt a cikket.

A V5 C++ példaprojektekről és sablonokról további információt ebben a cikkben talál

VEXcode V5 egy példaprojekttel, amely az Érzékelés kategóriából nyílt meg, beleértve egy kódblokk-köteget és egy, a projektet leíró jegyzetet. A jegyzet ki van jelölve.

Megnyitás után olvassa el a Megjegyzést, hogy megállapítsa, a példaprojektben szereplő funkcionalitás összhangban van-e azzal, amit az érzékelővel próbál tenni.

Az itt látható példaprojektben a megjegyzés azt jelzi, hogy a lökhárító kapcsoló vagy a végálláskapcsoló lenyomott állapota ki lesz nyomtatva az Agy képernyőn. Ebben az esetben a True azt jelzi, hogy lenyomta, a False pedig azt, hogy nem nyomja meg. 

Futtassa a példaprojektet, és figyelje meg a robot viselkedését. Ezután nézze meg a projektet, és nézze meg, hogyan használják fel az érzékelőadatokat a megfigyelt viselkedések előidézésére. Érdemes lehet többször is futtatni a példaprojektet, hogy segítsen ebben.

Megpróbálhatja létrehozni saját egyszerűsített projektjét, hogy a példaprojektből tanultakat a feladatára alkalmazza.

Használjon Egyéb VEXcode V5 eszközöket

Vannak olyan eszközök és stratégiák is, amelyek segítségével többet tudhat meg az érzékelő VEXcode V5 kódolásáról. Az Eszköztár blokkjairól vagy parancsairól külön-külön is tájékozódhat a Súgó segítségével. Megtekintheti az érzékelő adatait egy projekt futása közben is, hogy többet megtudjon arról, hogy az érzékelő mit jelent.

VEXcode V5 megnyitott Súgó menüvel és kiválasztott Pressing Bumper blokkal. A blokk leírása és felhasználási módja a felhasználási példákat bemutató képekkel együtt látható.

A segítséget

Olvassa el a súgót a példaprojektben vagy a projektben található blokkokhoz vagy parancsokhoz, hogy megismerje a felhasznált adatokat, a parancs által jelentett értékeket, valamint példákat a parancs projektben való használatára.

Tekintse meg ezt a cikket, ha többet szeretne megtudni a VEXcode V5 Blocks súgójának eléréséről.

Tekintse meg ezt a cikket, ha többet szeretne megtudni a VEXcode V5 Python súgójának eléréséről.

Tekintse meg ezt a cikket, ha többet szeretne megtudni a VEXcode V5 C++ súgójának eléréséről.

Adatok nyomtatása

Kinyomtathatja az érzékelő adatait a példaprojekt vagy a projekt futása közben is, hogy jobban megértse, mit jelent az érzékelő valós időben. Ez segíthet meghatározni, hogy az érzékelő mely jelentett értékeit használja paraméterként a projektben. 

Vegye figyelembe, hogy egy Blocks projektben egy külön {When started} kalapblokk használható az összes nyomtatási parancs saját veremben való rendszerezésére.

VEXcode V5 blokkok
VEXcode V5 Blocks projekt, amely egy Forever ciklust használ az érzékelőadatok Brainbe nyomtatásához a projekt futása közben. A projekt első része így szól: Indításkor állítsd be a betűtípust Mono Extra Large-ra a Brain-en. Ezután egy Forever ciklusblokk található, benne 5 blokkal. A ciklus blokkjai kiolvassák az összes sort a Brain táblán, a kurzort az 1. sor 1. oszlopába állítják a Brain táblán, majd kinyomtatják a Távolság (mm): értéket a Brain táblán. Ezután nyomtasd ki a Distance19 objektum távolságát mm-ben a Brain-re, állítsd a kurzort a következő sorra, majd várj 0,5 másodpercet.
VEXcode V5 Python
# Projektkód indítása

# Betűméret növelése az olvashatóság érdekében a Brain képernyőn
brain.screen.set_font(FontType.MONO40)

while True:
  # A ciklus minden egyes ismétlése törli a képernyőt
  brain.screen.clear_screen()
    
  # A képernyő törlése után a nyomtatási kurzor visszaállítása a bal felső sarokba
  brain.screen.set_cursor(1, 1)
  
  # Címke és az objektumtól való távolság értékének kinyomtatása ugyanarra a sorra
  brain.screen.print("Távolság (mm): ")
  brain.screen.print(distance_19.object_distance(MM))
  brain.screen.next_row()
  wait(0.5, SECONDS)
VEXcode V5 C++
int main() {

  // Betűméret növelése a Brain képernyőn az olvashatóság érdekében
  Brain.Screen.setFont(mono40);
  
  while (true) {
  
    // A ciklus minden egyes ismétlése törli a képernyőt
    Brain.Screen.clearScreen();
    
    // A képernyő törlése után a nyomtatási kurzor visszakerül a bal felső sarokba
    Brain.Screen.setCursor(1, 1);
    
    // Kiír egy címkét és az objektumtól való távolság értékét ugyanarra a sorra
    Brain.Screen.print("Távolság (mm): %.2f", Distance19.objectDistance(mm));
    Brain.Screen.newLine();
    wait(0.5, másodperc);
    
  }
  
}

A V5 Brain be nyomtatás akkor hasznos, ha látni szeretné az értékek változását egy VEXcode V5 projekt futása közben. Ez segíthet meghatározni, hogy az érzékelő mely jelentett értékeit használja paraméterként a projektben. Ezek a nyomtatási parancsok beépíthetők a már létrehozott VEXcode V5 projektbe, így láthatja, hogy a robot mozgása közben az érzékelő értékek meghatározott időpontokban változnak. 

A fenti példaprojektek bemutatják, hogyan nyomtathat értékeket a távolságérzékelőről a V5 agyra. Az egyes projektekben található megjegyzések elmagyarázzák a projekt folyamatát és az egyes parancsok használatát.

VEXcode V5 blokkok
VEXcode V5 Blocks projekt, amely egy Forever ciklust használ az érzékelőadatok konzolra nyomtatásához a projekt futása közben. A projekt első része így szól: Indításkor állítsd a Rotation15 pozícióját 0 fokra. Ezután egy Forever ciklusblokk található, benne 3 blokkal. A ciklusban lévő blokkok a konzolon a következő szöveget írják ki: Position (degrees): (pozíció (fokokban):), a konzolon a Rotation15 pozíciót írják ki fokban, majd a kurzort a következő sorra helyezik, végül várnak 0,5 másodpercet.
VEXcode V5 Python
# Projektkód indítása

# A forgásérzékelő visszaállítása 0-ra a projekt elején
rotation_15.set_position(0, DEGREES)

while True:
  # Kiír egy címkét és a tárgytól való távolság értékét ugyanarra a sorra
  print("Position (fok): ", end="")
  print(rotation_15.position(DEGREES))
  
  # Várakozás az érték kinyomtatására, majd a ciklus megismétlése
  wait(0.5, SECONDS)
VEXcode V5 C++
int main() {

  // A projekt elején a forgásérzékelő visszaállítása 0-ra
  Rotation15.setPosition(0.0, fok);
  
  while(true) {
  
    // Kiírja a címkét és az objektumtól való távolság értékét ugyanarra a sorra
    printf("Position (fok): %.2f\n", Rotation15.position(fok));
    
    // Várja meg az érték kinyomtatását, majd ismételje meg a ciklust
    wait(0.5, másodperc);
    
  }
  
}

A VEXcode V5 Print Console re történő nyomtatás ajánlott, ha olyan VEXcode V5 projektet futtat, ahol a robot NEM mozog. A V5 Brainnek csatlakoztatva kell maradnia a projekt végrehajtása alatt ahhoz, hogy a Print Console-ra nyomtathasson. Ez azért előnyös, mert az értékeket a VEXcode V5 ablakból olvashatja ki, nem pedig az Agy képernyőről próbálja kiolvasni az adatokat.

Ezek a példák egy projektet mutatnak be, amely adatokat nyomtat a forgásérzékelőről a konzolra a VEXcode V5-ben. 

A Print Console VEXcode V5 blokkban történő használatáról ebben a cikkben talál további információt.


Adatok elemzése és alkalmazása

Ezután használja az előző lépésekben tanultakat az eredeti projekt módosításához. Továbbra is használhat olyan eszközöket, mint a Súgó és az adatok nyomtatása, hogy hatékonyan tudja használni az érzékelőt céljainak elérése érdekében.

Kérdéseket is feltehet a projektjével kapcsolatban, hogy segítsen előrehaladni. Gondolj olyan dolgokra, mint:

  • < nél nagyobb vagy > -nél kevesebbet használ a projektjében? A szimbólum a megfelelő irányba néz? Ha az egyenlő = = értéket használja, próbálja meg lecserélni nagyobb vagy kisebb értékre, hogy értéktartományt használjon.
  • Helyesek a paraméterei? Használja az érzékelő adatait a paraméterek beállításához? Azt a legördülő lehetőséget választotta, amelyre szüksége van?
  • Többször ellenőrzi a feltételeket? Próbáljon meg egy Forever ciklust hozzáadni a projekthez, hogy a feltétel a projekt futtatásakor ismételten ellenőrzésre kerüljön.
  • Elakad a projektje? Helyesen vannak beállítva a feltételek? Ha beágyazott hurkokat használ, próbálja meg egyszerűsíteni a projektet az egyéni viselkedések elkülönítése érdekében.
  • Befolyásolják a környezeti feltételek az érzékelőt? Túl világos vagy túl sötét? Vannak-e tárgyak vagy emberek az úton? Próbálja meg futtatni a projektet egy másik helyen, hátha ez segít.
  • A projekt legfrissebb verzióját futtatja? Letöltötte frissített projektjét az agyba? Minden változtatáskor töltse le újra a projektet.
  • A megfelelő színt érzékeli? Más színt jelez az érzékelő, mint a projektben szereplő? Próbálja meg módosítani a színparamétert, vagy használjon színárnyalat-értéktartományt, hátha ez segít.
  • Érzékel egy tárgyat az érzékelő látóterében? Ne feledje, hogy a látómező a robot mozgásával együtt mozog.
  • Használ várakozási blokkot egy feltétel ellenőrzése közben? Ügyeljen arra, hogy a projektben nem várakozó blokkokat használjon a feltétel ellenőrzésekor. Tekintse meg ezt a cikket, ha többet szeretne megtudni a VEXcode V5 várakozó és nem várakozó blokkjairól.
  • Ha blokkokban kódol, az egész köteg az {When started} kalap blokkhoz van kötve? A blokkok csak akkor futnak, ha csatlakoztatva vannak. Hallgathat egy kattanó hangot, amikor blokkokat húz, és összekapcsolja őket.

Amikor válaszol ezekre a kérdésekre, ügyeljen arra, hogy egyszerre csak egy dolgot változtasson meg a projektben, tesztelje, majd értékelje, hogy a változtatás eredményes volt-e. A projekt gyakori tesztelése segíthet abban, hogy könnyebben megtudja, hogyan kapcsolódik a kód a robot viselkedéséhez.  Előfordulhat, hogy a probléma megoldásához többször meg kell ismételnie a hibaelhárítási folyamat lépéseit, és ez rendben van. Minden iteráció segít többet megtudni a használt érzékelőről és a VEXcode V5 kódolásáról.

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

Last Updated: