Odstraňování problémů se snímači VEX V5

Když se váš robot při používání zpětné vazby senzoru nechová tak, jak má, můžete své problémy najít a opravit podle podrobného postupu odstraňování problémů. Tento článek vysvětlí kroky v procesu odstraňování problémů a poskytne tipy, jak tyto kroky používat.

Kroky tohoto procesu jsou:

  1. Identifikujte problém
  2. Zkontrolujte hardware
  3. Zkontrolujte software
  4. Analyzujte a aplikujte data

Identifikujte problém

Prvním krokem k řešení problémů se senzorem je zjistit, který senzor problém způsobuje. Porovnejte pozorované chování robota se zamýšleným chováním robota. Je problematické chování způsobeno senzorem? Pokud ano, jaké čidlo? Pokud potřebujete další informace k určení, který senzor může být problémem, přečtěte si níže uvedené články týkající se senzorů na vašem robotu.

Senzory VEX V5:

Jakmile zjistíte, který senzor způsobuje nezamýšlené chování, můžete v procesu pokračovat.


Zkontrolujte hardware

Druhým krokem je kontrola hardwaru na robotu, abyste se ujistili, že senzor může fungovat tak, jak má. Každý z následujících hardwarových aspektů může mít vliv na funkčnost vašeho senzoru.

Zkontrolujte umístění senzoru

Sestavení V5 Clawbota jezdícího po poli. Robot má připojený optický senzor, který je zvýrazněn a ukazuje na červený Buckyball před ním.

Začněte tím, že se podíváte na umístění senzoru na vašem robotu. Není senzor něčím blokován, jako jiná část vašeho robota? Zajistěte, aby měl senzor dostatek místa pro správnou funkci.

Jak je zde znázorněno, optický senzor má jasnou linii vidění k objektu, který má detekovat.

Zkontrolujte připojení snímače

Obrazovka Brain se zobrazuje v nabídce Informace o zařízení, která obsahuje seznam všech chytrých portů a připojených zařízení Brain. Ikona optického senzoru v nabídce Informace o zařízení je zvýrazněna, což znamená, že ji lze vybrat pro otevření informační nabídky.

Otestujte funkčnost senzoru pohledem na data hlášená na obrazovce zařízení na VEX V5 Brain. To vám může pomoci ověřit, zda je senzor zapojený a funkční. 

Chcete li se dostat na obrazovku Zařízení, postupujte podle kroků v tomto článku. Jakmile se otevře obrazovka Zařízení, zkontrolujte, zda je senzor viditelný na správném místě portu a hlásí data. Zde je detekován optický senzor v Smart Port 11.

V5 Brain je zobrazen připojený k baterii V5 a zařízení V5 Smart Motor. Kabel chytrého motoru je připojen k jednomu z chytrých portů Brainu.V5 Brain s 3vodičovým zařízením připojeným k jednomu z jeho 3vodičových portů.

Pokud senzor nehlásí data, ujistěte se, že jsou vaše senzory správně zapojeny. Při zapojování senzorů do Smart Portu byste měli slyšet cvaknutí, když je zajišťovací jazýček senzoru zcela zasunutý do portu.

Při zapojování senzorů do 3vodičového portu by měl být kabel zcela zasunut ve správné orientaci s bílým vodičem co nejblíže k obrazovce Brain. 

Můžete také zkusit vyměnit senzor, který používáte, za jiný, abyste zjistili, zda to váš problém vyřeší.

Pokud jste něco změnili v umístění senzoru nebo připojení senzoru, otestujte svůj projekt znovu, abyste zjistili, zda se tím problém vyřešil. Pokud se umístění a připojení vašeho senzoru nezměnilo, přejděte k dalšímu kroku a pokračujte v procesu odstraňování problémů.


Zkontrolujte software

Jakmile zjistíte, že je senzor úspěšně umístěn a připojen k robotovi, můžete se podívat na projekt VEXcode V5. Iterace na projektu vám může pomoci zajistit, že data ze senzoru jsou ve vašem projektu efektivně využívána. Následující strategie vám mohou pomoci s kódováním vašeho senzoru.

Pokud na svůj projekt VEXcode V5 použijete některou z těchto strategií, otestujte svůj projekt znovu, abyste zjistili, zda se tím problém vyřešil.

Zkontrolujte Firmware a konfiguraci

VEXcode V5 s připojeným Brainem a otevřenou rozbalovací nabídkou Brain, která indikuje, že ji lze použít ke kontrole firmwaru Brainu. Verze VEXos je uvedena a je zobrazeno pouze tlačítko Vynutit aktualizaci.

Začněte tím, že se ujistíte, že máte aktuální firmware vašeho V5 Brain.

V tomto článku se dozvíte více o aktualizaci firmwaru na V5 Brain.

Nabídka zařízení VEXcode V5 s dlouhým seznamem připojených zařízení. Toto menu lze použít k ověření správného připojení každého senzoru a ke kontrole jeho konkrétního portu na jednotce Brain.

Nyní, když jste si jisti, že jsou všechna zařízení správně připojena k Brain, zkontrolujte konfiguraci zařízení ve VEXcode V5.

Zkontrolujte, zda jsou v konfiguraci přítomny všechny senzory. Poté zkontrolujte, zda je každý připojen ke správnému portu.

Změňte jakékoli nesprávné konfigurace zařízení.

Spusťte příklad projektu

Nabídka příkladů projektů VEXcode Blocks s výběrem z různých projektů v různých kategoriích. Kategorie Snímání je zvýrazněna.

Otevřete Ukázkový projekt, který používá senzor, který řešíte. Můžete vybrat kategorii „Snímání“ a filtrovat vzorové projekty.

Více informací o ukázkových projektech a šablonách bloků V5 v článku.

Více informací o vzorových projektech a šablonách Pythonu naleznete tomto článku.

Více informací o vzorových projektech a šablonách V5 C++ tomto článku.

VEXcode V5 s ukázkovým projektem otevřeným z kategorie Senzory, včetně zásobníku bloků kódu a poznámky s popisem projektu. Poznámka je zvýrazněna.

Po otevření si přečtěte poznámku a zjistěte, zda funkce ve vzorovém projektu odpovídají tomu, co se snažíte se senzorem udělat.

Ve zde zobrazeném příkladu projektu poznámka označuje, že stav stisknutého nárazníku nebo koncového spínače bude vytištěn na obrazovce Brain. V tomto případě True znamená stisknuto a False znamená nestisknuto. 

Spusťte ukázkový projekt a sledujte chování robota. Poté se podívejte na projekt a zjistěte, jak jsou data senzoru využívána k vyvolání pozorovaného chování. Možná budete chtít spustit ukázkový projekt vícekrát, abyste s tím pomohli.

Možná budete chtít zkusit vytvořit svůj vlastní zjednodušený projekt a aplikovat to, co jste se naučili z příkladu projektu, na svůj úkol.

Použijte další nástroje VEXcode V5

Existují také nástroje a strategie, které vám mohou pomoci, když se dozvíte více o kódování senzoru ve VEXcode V5. O blocích nebo příkazech v panelu nástrojů se můžete dozvědět jednotlivě pomocí nápovědy. Můžete také zobrazit data senzoru, když běží projekt, abyste se dozvěděli více o tom, co senzor hlásí.

VEXcode V5 s otevřenou nabídkou Nápověda a vybraným blokem Pressing Bumper. Jsou zobrazeny popisy bloku a způsoby jeho použití spolu s obrázky příkladů použití.

Pomoc

Přečtěte si nápovědu pro bloky nebo příkazy ve vzorovém projektu nebo ve svém projektu, kde se dozvíte o použitých datech, o tom, jaké hodnoty bude příkaz hlásit, a o příkladech použití příkazu v projektu.

V tomto článku se dozvíte více o přístupu k nápovědě v blocích VEXcode V5.

V tomto článku se dozvíte více o přístupu k nápovědě v VEXcode V5 Python.

V tomto článku se dozvíte více o přístupu k nápovědě v VEXcode V5 C++.

Tisk dat

Můžete také tisknout data ze senzoru, když běží ukázkový projekt nebo váš projekt, což vám pomůže lépe porozumět tomu, co senzor hlásí v reálném čase. To vám může pomoci určit, jaké hodnoty hlášené ze senzoru použít jako parametry ve vašem projektu. 

Všimněte si, že v projektu Blocks lze použít samostatný blok {When started} , aby byly všechny tiskové příkazy uspořádány v jejich vlastním zásobníku.

Bloky VEXcode V5
Projekt VEXcode V5 Blocks, který používá smyčku Forever k tisku dat ze senzorů do Brainu během běhu projektu. První část projektu zní: Po spuštění nastavte písmo na Mono Extra Large na obrazovce Brain. Dále je zde blok smyčky Forever s 5 bloky uvnitř. Bloky ve smyčce vyčtou všechny řádky na Brain, nastaví kurzor na řádek 1, sloupec 1 na Brain a poté vypíší Vzdálenost (mm): na Brain. Dále vytiskněte vzdálenost objektu Distance19 v mm na Brain a nastavte kurzor na další řádek a poté počkejte 0,5 sekundy.
VEXcode V5 Python
# Začátek kódu projektu

# Zvětšení velikosti písma pro lepší čitelnost na obrazovce Brain
brain.screen.set_font(FontType.MONO40)

while True:
  # Každá iterace smyčky vymaže obrazovku
  brain.screen.clear_screen()
    
  # Po vyčištění obrazovky nastavte kurzor tisku zpět do levého horního rohu
  brain.screen.set_cursor(1, 1)
  
  # Výpis popisku a hodnoty vzdálenosti od objektu na stejný řádek
  brain.screen.print("Vzdálenost (mm): ")
  brain.screen.print(distance_19.object_distance(MM))
  brain.screen.next_row()
  wait(0.5, SECONDS)
VEXcode V5 C++
int main() {

  // Zvětšení velikosti písma pro lepší čitelnost na obrazovce Brain
  Brain.Screen.setFont(mono40);
  
  while (true) {
  
    // Každá iterace smyčky vymaže obrazovku
    Brain.Screen.clearScreen();
    
    // Po vyčištění obrazovky nastaví kurzor zpět do levého horního rohu
    Brain.Screen.setCursor(1, 1);
    
    // Výpis popisku a hodnoty vzdálenosti od objektu na stejný řádek
    Brain.Screen.print("Vzdálenost (mm): %.2f", Vzdálenost19.objectDistance(mm));
    Brain.Screen.newLine();
    wait(0.5, sekundy);
    
  }
  
}

Tisk do V5 Brain je užitečný, když chcete vidět změny hodnot během běhu projektu VEXcode V5. To vám může pomoci určit, jaké hodnoty hlášené ze senzoru použít jako parametry ve vašem projektu. Tyto tiskové příkazy lze zabudovat do projektu VEXcode V5, který jste již vytvořili, takže můžete vidět, jak se hodnoty senzoru mění v určitých časech, když se robot pohybuje. 

Tyto ukázkové projekty výše ukazují, jak tisknout hodnoty ze snímače vzdálenosti do mozku V5. Komentáře v každém projektu vysvětlují průběh projektu a použití každého příkazu.

Bloky VEXcode V5
Projekt VEXcode V5 Blocks, který používá smyčku Forever k tisku dat ze senzorů do konzole během běhu projektu. První část projektu zní: Po spuštění nastavte pozici Rotation15 na 0 stupňů. Dále je zde blok smyčky Forever se 3 bloky uvnitř. Bloky ve smyčce načtou na konzoli příkaz print Position (degrees): (Pozice (stupně):), na konzoli vypíší pozici Rotation15 ve stupních, nastaví kurzor na další řádek a nakonec počkají 0,5 sekundy.
VEXcode V5 Python
# Začátek projektu kód

# Reset senzoru rotace na 0 na začátku projektu
rotation_15.set_position(0, DEGREES)

while True:
  # Výpis popisku a hodnoty vzdálenosti od objektu na stejný řádek
  print("Pozice (stupně): ", end="")
  print(rotation_15.position(DEGREES))
  
  # Čekání na výpis hodnoty, poté opakování smyčky
  wait(0.5, SECONDS)
VEXcode V5 C++
int main() {

  // Reset senzoru rotace na 0 na začátku projektu
  Rotation15.setPosition(0.0, degrees);
  
  while(true) {
  
    // Výpis popisku a hodnoty vzdálenosti od objektu na stejný řádek
    printf("Position (degrees): %.2f\n", Rotation15.position(degrees));
    
    // Čekání na výpis hodnoty, poté opakování smyčky
    wait(0.5, seconds);
    
  }
  
}

Tisk do tiskové konzole ve VEXcode V5 se doporučuje, pokud spouštíte projekt VEXcode V5, kde se robot NEPOHYBUJE. Aby bylo možné tisknout do tiskové konzoly, musí V5 Brain během provádění projektu zůstat zapojený. To je výhodné, protože můžete číst hodnoty z okna VEXcode V5 spíše než se snažit číst data z obrazovky Brain.

Tyto příklady ukazují projektový tisk dat ze snímače otáčení do konzoly ve VEXcode V5. 

Další informace o použití tiskové konzoly v blocích VEXcode V5 najdete v tomto článku.


Analyzujte a aplikujte data

Dále použijte to, co jste se naučili v předchozích krocích, k úpravě svého původního projektu. Můžete pokračovat v používání nástrojů, jako je Nápověda a tisk dat, které vám umožní efektivně používat senzor k dosažení vašeho cíle.

Můžete také klást otázky týkající se vašeho projektu, které vám pomohou posunout se vpřed. Přemýšlejte o věcech jako:

  • Používáte ve svém projektu více než < nebo méně než > ? Je symbol otočen správným směrem? Pokud používáte rovno = zkuste jej nahradit větším než nebo menším než, abyste použili rozsah hodnot.
  • Jsou vaše parametry správné? Používáte data ze senzoru k nastavení parametrů? Vybrali jste možnost rozevíracího seznamu, kterou potřebujete?
  • Kontrolujete podmínky více než jednou? Zkuste do projektu přidat smyčku Forever, aby se podmínka při spuštění projektu opakovaně kontrolovala.
  • Zasekává se váš projekt? Máte správně nastavené podmínky? Pokud používáte vnořené smyčky, zkuste svůj projekt zjednodušit a izolovat individuální chování.
  • Ovlivňují senzor vaše okolní podmínky? Je příliš světlý nebo příliš tmavý? Jsou v cestě předměty nebo lidé? Zkuste projekt spustit na jiném místě, abyste zjistili, zda to pomůže.
  • Spouštíte nejnovější verzi svého projektu? Stáhli jste svůj aktualizovaný projekt do mozku? Ujistěte se, že jste projekt znovu stáhli pokaždé, když provedete změnu.
  • Detekujete správnou barvu? Hlásí snímač jinou barvu, než kterou máte ve svém projektu? Zkuste změnit parametr barvy nebo použít rozsah hodnot odstínu, abyste zjistili, zda to pomůže.
  • Detekujete objekt v zorném poli senzoru? Pamatujte, že zorné pole se pohybuje společně s pohybem robota.
  • Používáte čekací blok při kontrole stavu? Při kontrole stavu nezapomeňte v projektu použít nečekající bloky. V tomto článku se dozvíte více o čekajících a nečekajících blocích ve VEXcode V5.
  • Pokud kódujete v blocích, je celý váš balíček připojen k bloku {When started} klobouku? bloky poběží pouze tehdy, když jsou připojeny. Když přetáhnete bloky a spojíte je dohromady, můžete poslouchat zvuk kliknutí.

Když budete odpovídat na tyto otázky, ujistěte se, že ve svém projektu měníte jednu věc po druhé, otestujte ji a poté vyhodnoťte, zda byla tato změna účinná. Časté testování projektu vám může pomoci snadněji zjistit, jak váš kód souvisí s chováním robota.  Možná budete muset opakovat kroky v procesu odstraňování problémů několikrát, abyste problém vyřešili, a to je v pořádku. Každá iterace vám pomůže dozvědět se více o senzoru, který používáte, a jak jej kódovat ve VEXcode V5.

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

Last Updated: