Když se dneska řekne věta z nadpisu - to jest detekce překážky IR světlem, každý robotik okamžitě odpoví "Máš na mysli Sharpy" a pod pojmem "Sharpy" se myslí čidla typu Sharp GP2Y0xxxx. Takže se nedivte, že jsem byl trochu šokován, když jsem četl článek na "Lets Make Robots", ve kterém autor tvrdil, že "staré dobré mravy upadají" a mládež už neumí udělat IR detektor překážek z přijímače dálkového ovládání na televizi. Jelikož i ten nejlevnější Sharp vás vyjde skoro na 400,- zatímco "oboustranný" IR sensor klidně postavíte za 50 kč tak nemohu začínajícím robotikům neodhalit zapomenutou technologii z doby kdy my jsme v roce 2001 taky začínali ....
Omlouvám se, že začínám obrázkem, který tady už jednou byl, ale tentokrát jsem jmenovitě popsal tři součástky. Takže vlevo a vpravo vidíte dvě úplně obyčejné IR LED - všimněte si, že slabounce svítí - to je citlivost foťáku na IR světlo a uprostřed je součástka, kterou jsem minule prohlašoval za SFH5110 - ta už je dneska špatně dostupná, tak jsem na obrázku napsal její identický (vzhledem i parametry) ekvivalent TSOP4836.
Jak to celé funguje ? TSOP 4836 je opravdu přijímač televizního dálkového ovládání a taky se tak chová - očekává pulsy IR světla na frekvenci 36 kHz, které nesou binární informaci o tom jaké jste na "dálkáči" stiskli tlačítko. Jenomže u robotů je to trochu jinak - IR světlo vysílá samotný robot a buď je překážka tak blízko, že se světlo odrazí, nebo se nic neodrazí.
Jinými slovy - Mikrokontrolér bliká IR LEDkou na 36 kHz a čeká na signál z TSOP 4836 - buď se ho během krátké doby (výrobce doporučuje blikat alespoň 600 mikrosekund) dočká a pak je překážka nablízku, nebo se nedočká ničeho, a pak je cesta (pravděpodobně) volná. Protože TSOP 4836 má velice široké zorné pole (kolem 120 stupňů) je škoda toho nevyužít - na obrázku vidíte 2 IR LEDky. Každá je zapojená samostatně. Obě vyzařují v úhlu mnohem menším (kolem 30 stupňů) a navíc jak vidíte tak každá je poněkud ohnutá do boku.
Tím robot pozná jestli je překážka zcela vlevo (chytá odraz jenom při blikání levou LEDkou) nebo zcela vpravo (chytá odraz jenom při blikání pravou LEDkou) nebo uprostřed (chytá odraz oběma LEDkami).
Celá situace pak vypadá jako na obrázku, který pochází z tohoto skvělého článku, který mně kdysi přivedl na stopu zde probíraného čidla. V článku se probírá, že pod moderními úspornými zářivkami, které blikají kolem 30 khz se čidlo může aktivovat i náhodně, proto se při první detekci překážky vyplatí nepanikařit a počkat ještě 1-2 cykly, jestli to nebyl "falešný poplach".
V době kdy já jsem vyráběl roboty amatérsky Pepa Hanzal vyráběl roboty profesionálně a koukejte na co ukazují šipečky ? Žeby dvě IR ledky (v trubičce) a TSOP 4836 ? čímž jsme narazili na poslední problém - TSOP musí být stíněný od přímého světla vlastních LEDek, což v mém případě "vychytrale" řeším tím, že TSOP je z obou stran "obestavěn" konektory z neprůhledného plastu.
Zbývá poslední otázka - jak alespoň přibližně odhadnout vzdálenost překážky - to lze velice velice hrubě podle intenzity odrazu - čím je doraz silnější tím TSOP 4836 vydá svůj signál dříve, takže ve svých softwarech jsem to řešil takto
- Zapnout LEDku
- Čekat polovinu periody
- Vypnout LEDku
- Podívat se na výstup čidla
- Pokud je aktivován přičíst k výsledku 1
- Čekat druhou polovinu periody
- Opakovat 128x bod 1-6
Takže hodnoty, které jsem dostal mohly být od 0 - (nic nedetekováno) do 128 ve skutečnosti se pohybovaly spíše od 0 do 40 - TSOP se nidky neaktivuje prvními IR pulsy.
Existuje i složitější, ale spolehlivějši postup jak uršit intenzitu odrazu - a to tak že postupně měníte tzv. střídu signálu - tedy poměr kdy je čidlo vypnuto a zapnuto - začínáte s poměrem "světlo / tma " 50% / 50%, při tomto poměru je čidlo nejcitlivější, pokud detekujete odraz - zkusíte při příštím měření poměr zmenšit třeba na 25% světlo 75% tma - až dojdete ke "hraně" kdy při určitém poměru čidlo překážku vidí a při malém zmenšní střídy už ne - a podle toho při které "Střídě" to je můžete usoudit jak je překážka daleko.
Na samotný závěr ještě několik poznámek:
Toto čidlo se nápadně podobá Trávoměru - ale nebojte se - tohle je vyzkoušené (mnou i jinými ) a opravdu to funguje - na vzdálenosti kolem 50 cm, což je pro malého robota v místnosti až až.
Druhá poznámka - nechat tohle "know how" vymřít je veliká škoda hlavně pro ty, pro které jsou "Sharpy" příliš drahé takže opakuju odkazy, a navíc vás tímhle budu otravovat i samostatným článkem na "Robodoupěti". Takže zde seznam Linků :
- Můj článek i se schémátkem zapojení v Kicadu.
- Článek Martina Lockera o robotu, který, jej pěkně natrápil,
Tak děcka a to je všecho až na oblíbenou radu pro blondýny - dávejte si bedlivý pozor na nylonové a polyesterové, černé oblečení - vzhledem k charakteru látky i barvy tato je černá pro naše oko, ale zcela průhledná pro infračervené světlo, takže chlapi v Americe s oblibou sledovali infračervenými kamerami "co máte pod tím" - k tomu byly (a jsou) zejména vhodné videokamery Sony s funkcí "Night shot".