Skocz do zawartości

Czujnik optyczny


Pomocna odpowiedź

Nie doczytałem 🤣 Mój błąd 😉 Jak tak to oczywiście, że najprostsze będzie rozwiązanie Nawyka 😉 Tylko warto by było odpowiednio odseparować fototranzystor od światła zewnętrznego. Kiedyś myszki kulkowe na swoich fototranzystorach miały takie oprawki, które do tego służyły 😉

W przypadku użycia fototranzystora można użyć nawet zwykłej diody IR LED, chociaż oczywiście lepsza jest dioda laserowa. Z diodą laserową można użyć nawet fotorezystora.

Przepraszam bardzo że się tak nie odzywałem ale nie miałem większego dostępu do internetu.

Kolego Nawyk Twoje rozwiązanie było by dobre ale niestety nie ma możliwości zrobienia bariery optycznej. Już tłumacze dlaczego: to urządzenie będzie stało w jednym miejscu a może i zawiśnie na ścianie dlatego jeżeli ktoś się zbliży do niego na odległość minimum 60 cm (najlepiej 100 cm) to zadziała czujnik a z resztą już sobie sam poradzę 🙂

Zainteresowany jestem tego typu czujnikiem: https://www.forbot.pl/forum/topics61/czujniki-na-podczerwien-dla-robota-na-tsop1736-vt120,25.htm ale nie mam pojęcia jaki to ma zasięg i jak to zadziała? Jak wiemy ludzie mają różne kolory ubrań, wzrost jak i czujnik będzie się znajdował w pomieszczeniu gdzie występuje oświetlenie dzienne sztuczne jak i noc 😋 dlatego napisałem do Was ponieważ zrobiliście już nie jeden czujnik i macie nie małe doświadczenie 🙂

Pozdrawiam!

Jak chcesz coś pewniejszego to pomyśl o czujniku z triangulacją - GP2Y0A02. Na wyjściu masz bardzo ładny analogowy sygnał i w zależności od jego poziomu czujnik wykrył przeszkodę w odległości 20..120cm. Czujnik nie jest wrażliwy na oświetlenie zewnętrzne jak i kolor materiału od którego odbija się wiązka.

Jak potrzebujesz tylko rozpoznać jedną odległość, a na wyjściu chcesz mieć sygnał "0" lub "1" to można to łatwo uzyskać z pomocą kilku elementów bez mikrokontrolera.

MirekCz, prawdopodobnie mówisz o układzie z NE555 ? Posiadasz może schemat takie układu ? Czy ten układ został sprawdzony przez jakiegoś użytkownika forum i mógłby się tutaj wypowiedzieć ?

Chester11-86, zamieszałeś. Układ z NE555 różni się o takiego jaki w tym temacie tylko tym, że częstotliwość zamiast generowana z procesora jest generowana z NE555, który jest tańszy ale potrzebuje więcej elementów. Sharpy to całkiem inna półka jakościowa i cenowa.

Hmm możliwe, że trochę zamieszałem ale czytając słowa kolegi MirekCz, o treści:

Jak potrzebujesz tylko rozpoznać jedną odległość, a na wyjściu chcesz mieć sygnał "0" lub "1" to można to łatwo uzyskać z pomocą kilku elementów bez mikrokontrolera.

pierwsza myśl jaka mi się nasunęła to z wykorzystaniem NE555. Bo właśnie potrzebuję aby czujnik pokazywał mi na wyjściu "0" lub "1" 🙂 Mogę nawet do tego użyć mikro kontrolera np attiny13.

Ale właśnie ceny Sharpów są troszkę duże i szukam jakiegoś tańszego rozwiązania. Chyba że ktoś wykonał już taki czujnik i jest mu niepotrzebny to mogę oczywiście odkupić 🙂

Pozdrawiam!

Wiesz, czy 50zł to jest dużo czy mało to kwestia sporna. Pomyśl ile nad tym posiedzisz sam, a czy tak takiego rezultatu nie uzyskasz. O poniesionych wydatkach nie wspomnę.

Co do mojej wypowiedzi to chodziło mi o zmianę sygnału analogowego sharpa na cyfrowy. Oczywiście mając mikrokontroler jest to bardzo proste, bo masz ADC i możesz sobie robić z tym sygnałem cuda 🙂

Chciałbym prosić o sprawdzenie programu który napisałem ale pod attiny2313:

$regfile = "attiny2313.dat"

$crystal = 800000                                           'niższe taktowanie, CKDIV=0
                                                            'przy zmianie CKDIV = 1
                                                            'zmienić wartośc na 9600000

Config Portd.5 = Output                                     'output czujnika

Config Portd.3 = Output                                     'OC0B, wyjście generujące
                                                            'częstotliwość dla diody

Config Portd.4 = Output                                     'wyjście sterujące diodą

Config Pind.2 = Input                                       'czujnik podczerwieni, SFH


Ocr0b = 11                                                  'obliczyć z działania:
                                                           'taktowanie / (częstotliwość * 2)
                                                           'np. 1200000 / (36000 * 2)

Ocr0a = 11                                                  'j.w.

Tccr0a = &B00010010                                         'rejestry timera, przepisać

Tccr0b = 1                                                  'j.w.


Set Portd.2                                                 'rezystor podciągający
                                                           'wejście czujnika


Do                                                          'pętla


If Pind.2 = 1 Then Portd.5 = 1                              'warunki na widzenie czujnika
If Pind.2 = 0 Then Portd.5 = 0

Delay                                                       'opóźnienie zmniejszające
                                                           'zakłócenia


Loop                                                        'koniec pętli

End                                                         'koniec programu

Z góry dziękuję za odpowiedź 🙂

Pozdrawiam!

OC0B w przypadku Attiny2313 to PD5. Pomieszałeś wyprowadzenia. Zamieść schemat.

Najprościej odpalić układ i go zaprogramować, wtedy wiadomo czy program jest dobry czy nie.

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...