O Matko! nie obraź się ale za zapowiedzi i potrzeb jakie opisywałeś to myślałem, że to jakiś mega hyper skomplikowany projekt do badań wysokich częstotliwości
no i tak to właśnie jest jak się od razu nie napisze o co chodzi a wymyśla się sposoby rodem z kosmosu do załatwienia tak prostej sprawy że aż głowa boli - tu nawet określenie że próbujesz strzelać z armato-haubicy do bakterii, nie jest adekwatne, ty tą armatą próbujesz wręcz ustrzelić jądro atomu. Nie piszę tego żeby się z ciebie nabijać broń Boże - ale żeby pokazać ci jak mocno przestrzeliłeś to rozwiązanie.
Po pierwsze skoro wystarczyły by ci nawet mechaniczne switche a przeszkadza ci tylko ich krótka żywotność to już mówi o tym, że strzelasz teraz z tej armaty.
Ale bardzo niepokojące i przedziwne wręcz fantasmagoryczne podejście widzę w tym twoim zdaniu, cytuję:
"
User napisał(a):
Więc robię optyczny czujnik zakresu ruchu wysuwanej szuflady i innych ruchomych części w jakimś tam urządzeniu. Nie wiem ile to m/s, ale ręką pewnie szybciej machniesz
"ręką szybciej machniesz"
no to już kompletna masakra, szczególnie jeśli studiowałeś technikę cyfrową a takich pojęć używasz do założeń projektu. Czy AŻ TAK TRUDNO ci ustalić z jaką częstotliwością albo ile maksymalnie razy na SEKUNDĘ będziesz machał tą szufladą albo innymi częściami w maszynach o których piszesz ???? Przecież to jest właśnie OKREŚLENIE podstawowych założeń, np:
Zmiany w czujniku (przesłonięcie/odsłonięcie) mogą się pojawiać np:
RAZ na sekundę
10 RAZY na sekundę
3 RAZY na godzinę
itp itd bo tak to zdaje się, mniej więcej wygląda, ale jeśli się mylę to mnie popraw.
Można to przyrównać do obsługi zwykłego PRZYCISKU mechanicznego gdzie też występują tzw "drgania styków" i masz do czynienia DOKŁADNIE z tym samym co pokazałeś na swoich oscylogramach.
Pomijam już fakt, że (nie obraź się, że piszesz że piny twojego procka) nie posiadają wejść Schmitta, no herezja - co więcej w ogóle nie ma procków avr bez takiej opcji na wejściach.
Ale ok pal pies już czy są wejścia Schmitta czy nie - to twoje rozbudowane rozważania co do konieczności użycia tu wejść analogowych, komparatorów jakichś Qurczę napięć odniesienia to już rozprawa pseudo naukowa "o obrotach ciał niemieckich" (cytat jednego z polityków)
....
Człowieku ja rozumiałbym, że pracujesz w NASA i Pentagonie i rozważasz analizę każdej szpilki (przysłowiowego prostego żeby nie powiedzieć prostackiego efektu drgań styków, od czego zwykle zaczyna się naukę programowania mikrokontrolerów w C) ... więc potrzebujesz zliczać te szpilki, analizować ich poziomy kuźwa napięć
no szaleństwo nad szaleństwami - sorki ale nie można tego inaczej określić.
Już samo dodanie w szeregu do pinu rezystora 100R i pomiędzy nim a pinem procka kondensatora 100nF wyrżnie większość jak nie wszystkie twoje drgania styków w diabły ... to i bez tego programowo się tego pozbywamy, ale czy chociaż RAZ gdzieś w życiu - jeden RAZ czytałeś i ćwiczyłeś jak pozbywać się programowo drgań styków ????
Na twoim oscylogramie widać, że masz podstawę czasu 20us jeśli dobrze widzę więc te szpileczki "drgań styków" są typowe i pojawiają się zarówno w momencie PRZESŁANIANIA czujnika jak i odsłaniania (tak jak przy wciśnięciu przycisku i podczas jego zwolnienia) ....
Po jakiego grzyba ty chcesz reagować na jakąś wybraną szpilkę, zliczać je kuźwa ?
no sorki uśmiecham się - ale czy spodziewasz się, że przyjdzie DŻON z MATRIXA i będzie machał szufladą np co 50us ???? albo co 10us????? bo wtedy tak - wtedy zaczęłyby się schody
ale ty mówisz o "machnięciu ręką" nawet szybkim - to SZMAT CZASU .... panie, panie
No tu już nie będę opisywał technik programowej eleiminacji drgań styków bo począwszy od Bluebooka, poprzez mojego bloga, weź ty zajrzyj czasem na niego a w tym przypadku chociażby tutaj jeśli nie masz Bluebooka i nigdy w życiu się z tym nie zetknąłeś:
https://mirekk36.blogspot.com/2012/10/o ... w-cd2.htmlI jeśli urozmaicisz ten sposób o przerwania na zwykłych pinach cyfrowych ... rozumiesz WEJŚCIACH cyfrowych, to pominiesz te wszystkie szpilki podczas przesłaniania i podczas odsłaniania czujnika w diabły. Przestaniesz też pisać o komparatorach, napięciach odniesienia, bo to bzdura na kółkach w tym temacie .... NO! chyba że źle zrozumiałem i jednak to szybsze machanie ręką (szufladą/elementem maszyny) będzie występowało szybciej niż co 50us .... ale w takim przypadku to jeszcze większą bzdurą jest tu mowa o komparatorach i wejściach analogowych - chyba że jednak tworzysz projekt do obsługi zaawansowanego łazika marsjańskiego i jakiejś iście skomplikowanej aparatury - ale wtedy opisz to dokładniej.
No i na koniec ostatnia masakra jaką sam sobie robisz czyli podciąganie PULL_DOWN 1K rezystor R1 od emitera .... totalny nonsens - tzn wiem być może zrobiłeś ten nonsens właśnie żeby reagować lepiej na zmieniające się napięcie (bez sensu dla całego rozwiązania) ale użyj że tego optoczujnika żeby na wyjściu działał jako zwykły klucz ZERO/JEDYNKOWO czyli wywal ten koci R1, daj podciąganie w kolektorze rezystorkiem 2,2k i sygnał z kolektora podaj do procka, już samo to spowoduje dużo lepsze dopasowanie cyfrowe układu .... czyli tak jak się należy w tego typu rozwiązaniach stosować .... i proszę zapomnij o tych analogowych swoich wynalazkach z komparatorami.
ZASTOSUJ to co opisałem szeroko i będziesz zdziwiony jak ci to zacznie ładnie działać