Skip to main content

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ů.

Zelený disk na výstupním dopravníku a pod 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.

Tři hromádky bloků z projektu Lekce 2, 4. lekce. První zásobník zní: Po spuštění roztočte vstupní dopravník 1 směrem k příjezdu, počkejte 7 sekund a poté zastavte vstupní dopravník 1. Dále roztočte dopravník 2 dopředu, počkejte 4 sekundy a poté dopravník 2 zastavte. Nakonec roztočte výstupní dopravník 4 směrem ven, počkejte 2 sekundy a poté jej zastavte. Další hromádka zní: Když je nárazník signální věže 6 stisknut, nastavte rameno 10 do polohy zastaveno. Poslední projekt zní: Když se ovládání ramene 10 zastavilo, nastavte signální věž 6 na zelenou a vypnutou a poté nastavte signální věž 6 na červenou a blikající. Nakonec zastavte vstupní dopravník 1, zastavte přepravní dopravník 2 a poté zastavte výstupní dopravník 4.

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

Okno Zařízení je otevřené a tlačítko Přidat zařízení je zvýrazněné.

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

Možnosti zařízení v okně Zařízení s červeně zvýrazněnou ikonou 3 vodičů.

Poté vyberteObjektový senzor.

Možnosti 3vodičového zařízení v okně Zařízení s červeně zvýrazněnou ikonou senzoru objektů.

Vyberte port Aa potéDonepro dokončení konfigurace.

Poznámka:Ujistěte se, že je senzor objektů zapojen do portu A na jednotce Brain.

Okno Zařízení se zvýrazněným portem A pro objektový senzor.

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.

Videosoubor

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.

Pokračování zásobníku VEXcode EXP s prázdným blokem Wait until přidáným na jeho konec. Zásobník se přečte: Po spuštění roztočte vstupní dopravník 1 směrem k příjezdu, počkejte 7 sekund a poté zastavte vstupní dopravník 1. Dále roztočte dopravník 2 dopředu, počkejte 5 sekund a poté jej zastavte. Nakonec roztočte výstupní dopravník 4 směrem ven a poté počkejte, dokud.

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.

Právě přidán blok Wait Until s novým booleovským parametrem 0 větším než 50.

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

Blok Wait Until nyní s blokem Object Sensor Reflectivity přidaným do bloku greater than. Celý blok dohromady nyní zobrazuje „Čekejte, dokud odrazivost objektového senzoru A v % nedosáhne větší než 50“.

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

Blok Čekat do se zvýrazněnou hodnotou Větší než. Celý blok dohromady nyní zobrazuje „Čekejte, dokud odrazivost objektového senzoru A v % nedosáhne větší než 50“.

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.

Blok Čekání do (Wait Until) se zvýrazněnou hodnotou Větší než (Great than) změněnou z 50 na 9. Celý blok dohromady nyní zobrazuje „Čekejte, dokud odrazivost objektového senzoru A v % nedosáhne větší než 9“.

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

Pokračování zásobníku VEXcode EXP s tlačítkem Zastavit motor na konci s nápisem Zastavit výstupní dopravník 4. Zásobník se přečte: Po spuštění roztočte vstupní dopravník 1 směrem k příjezdu, počkejte 7 sekund a poté zastavte vstupní dopravník 1. Dále roztočte dopravník 2 dopředu, počkejte 5 sekund a poté jej zastavte. Nakonec roztočte výstupní dopravník 4 směrem k příchozímu proudu, počkejte, dokud odrazivost objektového senzoru A v % nedosáhne hodnoty 9, a poté zastavte výstupní dopravník 4.

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

Panel nástrojů VEXcode EXP s ikonou stahování zobrazenou v červeném rámečku mezi ikonami Brain a Run.

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.

Zásobník VEXcode EXP, do kterého byl právě přidán blok Stop Motor. Celý zásobník se zobrazuje jako „Po spuštění roztočte vstupní dopravník 1 směrem dolů, počkejte 7 sekund a poté zastavte vstupní dopravník 1“. Dále roztočte dopravník 2 dopředu, počkejte 5 sekund a poté jej zastavte. Nakonec roztočte výstupní dopravník 4 směrem ven, počkejte, dokud odrazivost objektového senzoru A v % nedosáhne větší než 9, a poté zastavte výstupní dopravník 4.

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ů.

EXP Brain s diamantovým zaškrtávacím tlačítkem v červeném rámečku pro zahájení projektu Lekce 4, 4. jednotka.

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?

EXP Brain s diamantovým tlačítkem X v červeném rámečku pro ukončení projektu.

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. 

Diagram, který vizualizoval tok logiky v projektu VEXcode EXP. Šipka označuje spuštění bloku s nápisem „Čekat do“ a cyklická šipka označuje, že blok čeká, dokud není jeho podmínka pravdivá. Další blok se spustí teprve tehdy, když je odrazivost objektového senzoru A v % větší než 9.

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. 

VEXcode EXP Nastavte blok prahu detekce s textem „Nastavte prahovou hodnotu detekce senzoru objektů A na 50 %.“

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.

VEXcode EXP Detekuje blok objektu s textem „Snímač objektu A detekuje objekt?“.

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

Alternativní verze zásobníku VEXcode EXP s booleovským blokem Wait Until změněným na systém Detection Threshold. Celý zásobník nyní zobrazuje text „Při spuštění nastavte prahovou hodnotu detekce senzoru objektů A na 9 %“. Dále roztočte vstupní dopravník 1 směrem k příjezdu, počkejte 7 sekund a poté vstupní dopravník 1 zastavte. Dále roztočte dopravník 2 dopředu, počkejte 5 sekund a poté jej zastavte. Dále roztočte výstupní dopravník 4 směrem k příjezdu, počkejte, dokud senzor objektů A nezaznamená objekt, a poté zastavte výstupní dopravník 4.

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.