13. Kontrolor barvy

13.2. Kontrolor barvy – řídící program

Jak chceme, aby se kontrolor barvy choval…

  1. Při vložení zeleného papíru, se rozsvítí zelená kontrolka.
  2. Při vložení červeného papíru se rozsvítí červená kontrolka.
  3. Při nevloženém papíru, nebo vložení papíru jiné barvy než červené, nebo zelené, se neděje nic a model čeká na další vložení papíru.
  4. Program bude v cyklu, aby vyhodnocování barev probíhalo neustále.

Co v tomto případě potřebujeme vědět…

Optický barevný senzor vrací určité číslo, které odpovídá barvě, která je před ním vložena. My musíme zjistit, jaké číslo čte senzor pro červený papír a pro zelený papír. Pomůžeme si velmi jednoduchým programem, který bude pouze vypisovat číslo odečtené ze senzoru, viz obr.


Obr. 1: Kontrolor barvy - zjištění hodnot testovaných barev pro kalibraci


Přehled použitých elementů je v následující tabulce.

Tabulka 1: Kontrolor barvy - pomocný program - přehled použitých elementů

Použitý element

Základní zobrazení elementu

Počet

Umístění elementu v nabídce

připojení na vstup (Input), výstup (Output/Motor)

Poznámka

Universal input

1x

Program elements – Inputs, outputs

I1

Ve vlastnostech Sensor type nastaveno

na Color sensor

Panel display

1x

-

-

Variable

1x

Program elements – Variables, timers…

-

-

Text display

1x

Operating elements - Displays

-

-

 

Díky tomuto jednoduchému programu se zjistí, jaká čísla vrací optický senzor pro barvy, které potřebujeme vyhodnocovat. V tomto konkrétním případě při tvorbě dokumentu, který čtete, vrací optický senzor pro zelenou barvu hodnoty kolem 237 a pro zelenou barvu hodnoty kolem 325. S tím, že hodnoty kolísají přibližně ±50.

  • Známe přibližné hodnoty pro obě barvy. Abychom dosáhli výsledku, který potřebujeme, musíme hodnoty, které nám optický senzor může vracet nějakým způsobem třídit, využijeme tedy následujícího třídícího algoritmu:
    • Při odečtení hodnot optickým senzorem v intervalu (0,200) nebudeme dělat nic a budeme dále vyhodnocovat odečtenou barvu. Taková hodnota totiž neodpovídá námi kontrolovaným barvám při naší kalibraci.
    • Při odečtení hodnot optickým senzorem v intervalu (200,270) to vyhodnotíme jako červenou barvu a na 1 sekundu rozsvítíme červenou žárovku. Rozsvícení na 1s je dostačující, při delším přidržení barvy nebudeme okem vnímat, že se žárovka rozsvěcuje/zhasíná, ale budeme vnímat neustálý svit. Při odebrání barvy pak dojde nejpozději do 1s ke zhasnutí žárovky, což je pro nás dostatečně rychlá reakce systému.
    • Při odečtení hodnot optickým senzorem v intervalu (270, 350) to vyhodnotíme jako zelenou barvu a na 1 sekundu rozsvítíme zelenou žárovku, podobně, jako pro předchozí interval odečtených barev.
    • Při odečtení hodnot optickým senzorem 350+ nebudeme dělat nic a budeme dále vyhodnocovat odečtenou barvu. Taková hodnota totiž neodpovídá námi kontrolovaným barvám při naší kalibraci.
  • Uvedené hodnoty pro zelenou a červenou barvu jsou/byly platné za podmínek, které panovaly při tvorbě modelu potřebného pro tento dokument. Vámi odečtené hodnoty pro kalibraci budou určitě jiné a podle toho je potřeba upravit intervaly pro třídící (vyhodnocovací) algoritmus.

Celý program je pak na následujícím obrázku. Zobrazení odečtené barvy optickým senzorem jsem ponechal jako jeho součást. Při běhu programu tak můžeme na monitoru počítače kontrolovat, jaké hodnoty zrovna optický senzor odečítá.


Obr. 2: Kontrolor barvy - řídící program


Přehled použitých elementů je v následující tabulce.

Tabulka 2: Kontrolor barvy -přehled použitých elementů

Použitý element

Základní zobrazení elementu

Počet

Umístění elementu v nabídce

připojení na vstup (Input), výstup (Output/Motor)

Poznámka

Start

1x

Program elements – Basics elements

-

-

Lamp output

4x

O1, O3

-

Time delay

2x

-

-

Analog branch

4x

-

-

Universal input

4x

Program elements – Inputs, outputs

I1

Ve vlastnostech Sensor type nastaveno

na Color sensor