Lekce 4: Kódování objektového senzoru
V minulé lekci jste se seznámili s objektovým senzorem a shromažďovali jste procenta odrazivosti disků a krychlí. Nyní tyto hodnoty použijete k vytvoření projektu ve VEXcode, který zastaví výstupní dopravník, když senzor objektů detekuje disk.
V této lekci se naučíte:
- Nakonfigurujte senzor objektů ve VEXcode.
- Naučte se používat porovnávací operátory ve VEXcode.
- Vytvořte projekt pro přesun disku ze vstupního dopravníku na výstupní dopravník s využitím zpětné vazby od senzoru objektů.
Do konce této lekce budete mít navázaný projekt z předchozí lekce, který vám umožní zastavit výstupní dopravník, když je disk detekován senzorem objektů.

Úprava projektu
Začnete úpravou projektu z aktivity 2. lekce 4. jednotky, abyste se připravili na přidání příkazů souvisejících se senzorem objektů.
Otevřete si projektLekce 2, AktivitaUnit 4, ve VEXcode EXP nebo si znovu vytvořte projekt zobrazený zde.
Přejmenujte projektJednotka 4 Lekce 4.

Nakonfigurujte senzor objektů ve VEXcode otevřením okna Zařízení a výběrem možnostiPřidat zařízení.

Vyberte 3-Wirepro otevření seznamu 3-Wire zařízení.

Poté vyberteObjektový senzor.

Vyberte port Aa potéDonepro dokončení konfigurace.
Poznámka:Ujistěte se, že je senzor objektů zapojen do portu A na jednotce Brain.

Odstraňte poslední dva bloky v projektu. To zahrnuje blokČekánía blokZastavenípro výstupní dopravník, jak je znázorněno v tomto videu.
Přidejte do projektu blokWait until.
BlokWait untilje blok, který čeká na hlášení booleovské podmínky jako pravdivé, než přejde k dalšímu bloku v zásobníku.

Porovnávací operátory
Nyní, když je do projektu přidán blokWait until, je třeba přidat podmínku, kterou má blok kontrolovat.
Dříve jste se dozvěděli o procentu odrazivosti hlášeném objektovým senzorem a zaznamenali jste si tyto hodnoty do svého technického zápisníku. V tomto projektu je potřeba, aby výstupní dopravník běželdokudtato hodnota nepřekročí určitou prahovou hodnotu. Prahová hodnota je něco, co se používá k určení, zda je hodnota nad, pod nebo v přijatelném rozmezí. Porovnávací operátory lze použít k ověření, zda je odrazivost nad určitou hodnotou nebo nad touto prahovou hodnotou.
Přidejte blok větší neždo šestiúhelníkového prostoru blokuPočkejte, dokud nedosáhnete.

Do prvního otvoru blokuvětší nežpřidejte blok s odrazivostí.

Blokvětší nežporovnává první hodnotu s druhou. Blok Větší než, který je aktuálně v projektu, porovnává procento odrazivosti hlášené senzorem objektů s parametrem '50' před deklarací booleovské hodnoty jakoTrueneboFalse.

Zamyslete se nad cíli tohoto projektu. Výstupní dopravník se musí otáčet, dokud senzor objektů nezaznamená objekt, a poté se musí dopravník zastavit. Hodnoty shromážděné v předchozí lekci lze použít s tímto blokemvětší nežk určení prahové hodnoty, kterou je třeba překročit, než se projekt přesune na další blok v zásobníku.
Změňte druhý parametr blokuvětší nežna hodnotu '9'.
Toto číslo je založeno na hodnotách shromážděných v aktivitě z předchozí lekce. Odrazivost byla hlášena jako 10 %, když byl zelený disk pod objektovým senzorem, takže cokoli o větší než% by mělo být hlášeno jakoTrue.

Přidejte na konec projektu blokStop. Ujistěte se, že je parametr nastaven na hodnotu 'ExitConveyor4'.

Ujistěte se, že je Brain připojen k VEXcode a stáhněte si projekt.

Přečtěte si kód a předpovězte, co budou dopravníky dělat po spuštění projektu.
Zaznamenejte si svou předpověď do svého technického sešitu.

Ujistěte se, že na vstupním dopravníku je umístěn zelený disk. Stiskněte tlačítko Check na Brainu pro spuštění projektu a jeho otestování.
Během běhu projektu pozorujte chování dopravníků.

Stiskněte tlačítko X na Brainu pro zastavení projektu, jakmile se dopravníky rozjedou. Svá pozorování si zaznamenejte do technického sešitu.
Pohybovaly se dopravníky podle vašich předpovědí? Byl zelený disk přesunut na výstupní dopravník podle plánu? Proč ano nebo proč ne?

Kontrola projektu
Podívejme se na tok projektu, který zastavil výstupní dopravník, když senzor objektů detekoval zelený disk. BlokWait untilpozastavil posun projektu vpřed, dokud podmínka uvnitř bloku nebyla hlášena jako PRAVDA.

Protože blokSpinje nečekající blok, umožňuje pracovní cetě CTE pokračovat v otáčení motoru dopravníku při kontrole hodnot ze senzoru objektů a stavu, kdy je odrazivost větší než 9 %. Poté, co podmínka v blokuWait untilnahlásí hodnotuTRUE, projekt se přesune na další blok v zásobníku a zastaví motor výstupního dopravníku.
Pro vaši informaci
V projektu lze použít jinou kombinaci bloků k zastavení výstupního dopravníku, když se pod senzorem objektů nachází objekt. BlokSet Detection Thresholdlze použít na začátku projektu k nastavení prahové hodnoty, stejně jako blokGreater thanve výše uvedeném projektu.

Jakmile je prahová hodnota nastavena, lze blok BooleanDetects objectpoužít v libovolných blocích s hexagonálními mezerami. Tento blok bude hlásit hodnotu TRUE, pokud je dosažena prahová hodnota detekce definovaná blokemSet detection threshold, nebo hodnotu FALSE, pokud je procento odrazivosti pod touto prahovou hodnotou.

Protože blokDetectsobjectje booleovský blok, vejde se přímo do blokuWait until.

Ověřte si své znalosti
Než přejdete k další lekci, ujistěte se, že rozumíte konceptům v této lekci, a to zodpovězením následujících otázek ve svém technickém sešitě.
Otázky k prověření vašich znalostí > (dokument Google / .docx / .pdf)
Vyberte Další > a přejděte k aktivitě Sestavení všeho dohromady.