Ještě doplním - signál je nutné modulovat a na příjmu opět filtrovat kvůli odolnosti proti dennímu a jinému světlu (většinou DC).
Záleží na provedení, pokud bude svítit laserem do černé trubičky, tak to podle mě půjde i bez toho. Kdyžtak může zkoušet tu modulaci softwarově na tom Arduinu, kilohertz by to dát mohlo a rychlejší to nepotřebuje.
A to je přesně to, co miluji na všech diskuzích zahrnujících Arduino. Člověk má na stole krabičku, kde je procesor s několika HW časovači, která dokonale zvládá HW generování např. PWM signálu. Stačí jen jednoduchá konfigurace časovače.
Akorát pak ten signál musí taky někdo číst, pokud možno synchronně s tím generátorem.
A padne tady návrh na generování signálu SW...
Nepsal jsem nic o tom, jestli to má obsluhovat v nějakém loopu nebo použít časovač.
Takže bych začal laserovým ukazovátkem, fotoodporem (k Arduinu připojí jako součást děliče a bude měřit integrovaným ADCčkem) a trubičkou od černého fixu. To jsou čtyři součástky všeho všudy.
To je opravdu špatná rada. Fotoodpor v žádném případě. Když už, tak fototranzistor a nebo fotodioda.
OK, uznávám, pomalost mi nedošla, pokud šlo o toto.
Ale pro tenhle účel je ideální kombinace IR LED buzená výstupem časovače z Arduina a nebo nějakým oscilátorem, třeba z 555. Oboje naladěné na frekvenci přijímače dálkového ovládání (má rovnou logický výstup a vestavěnou filtraci signálu).
U IR diody bych se bál že se tam signál dostane i nějakým odrazem, ale může ji taky dát do trubičky…
Ano, a proto jsou IR LED pro dálková ovládání s velmi úzkým vyzařovacím úhlem (typicky pod 10 stupňů). A minimálně přijímač je nutné dát do trubičky. A další opatření jsou v přijímači (modulační kmitočet, filtrace, detekce). Funguje to celkem spolehlivě. A pro jistotu je možné dát ještě i vysílač do trubičky.
Detekci bych dělal tak, že bych tam dal dva IIR nebo FIR filtry, jeden pomalý a jeden rychlý, a měřil rozdíl -- když někdo paprsek přeruší, na pomalém se to neprojeví, ale na rychlém ano. Zatímco pomalé změny typu že slunce přechází po obloze se projeví na obou.
Bys dělal a nebo jsi už někdy udělal a spolehlivě to fungovalo? Proč tak složitě a pracně?
Už jsem tímto způsobem dělal detekci zrychlení s akcelerometrem a fungovalo mi to na stole. Ale rád si poslechnu, jak to udělat lépe. Mým cílem bylo odfiltrovat pomalu se měnící věci a chytat rychlé změny.
Mně jde o to, že mi to pro konkrétní použití jako
optická závora přijde zbytečně příliš. Proto jsem navrhnul jednoduché řešení, kdy je na výstup časovače MCU připojena pouze IR LED, kterou MCU budí. A na vstupu MCU je potom IC dálkového ovládání, které má na výstupu jen log výstup svítí/nesvítí. A MCU pouze vyhodnotí že přerušení paprsku trvá déle něž nějakou minimální dobu. Hotovo dvacet. Ověřeno v praxi.