Skocz do zawartości

Czujnik optyczny


Pomocna odpowiedź

Trochę zamotałem się z tym attiny2313 więc zakupiłem to co autor pokazał na początku (attiny13) 🙂

Tylko chciałbym wprowadzić jedną zmianę a dokładnie mówiąc po odczytaniu przez procesor odbitej fali miałby podtrzymać działanie przekaźnika na 15 minut. W jaki sposób to rozwiązać? Czy za pomocą komendy "Wait" ? Zmieniłem to tak: (ale tam jest 10 sekund i nie działa)

$regfile = "attiny13.dat"                                   'procesor Attiny13

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

Config Portb.4 = Output                                     'output czujnika

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

Config Portb.2 = Output                                     'wyjście sterujące diodą

Config Pinb.3 = Input                                       'czujnik podczerwieni, SFH


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

Ocr0a = 16                                                  'j.w.

Tccr0a = &B00010010                                         'rejestry timera, przepisać

Tccr0b = 1                                                  'j.w.


Set Portb.3                                                 'rezystor podciągający
                                                           'wejście czujnika


Do                                                          'pętla


If Pinb.3 = 1 Then Portb.4 = 1                              'warunki na widzenie czujnika

Waitms 10

Portb.4 = 0

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


Loop                                                        'koniec pętli

End                                                         'koniec programu

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

To zależy czy przez te 15 minut chcesz mierzyć czujnikiem dalej czy go wyłączyć. Wyłaczyć będzie prościej, bo wtedy robisz sobie rzeczywiście coś w stylu wait i zliczasz 15 minut (no. 15 razy po 60s). Warto wtedy wprowadzić jakieś sprawdzanie pomiarów, np. zamiast delay dać waitms 10, zliczyć np. 20 impulsów i jeśli czujnik wykrył przeszkodę ponad 10 razy, to zmieniasz dopiero stan.

Jeśli chcesz w czasie tych 15 minut mierzyć, to już gorzej, tu przydałby się Timer, ale w tiny13 jest tylko 1. Wtedy mógłbyś obniżyć częstotliwość mierzenia do powiedzmy 50ms, zliczać w pętli, 20 takich cykli da Ci wtedy minutę.

Chodzi mi o to aby po zauważeniu "przeszkody" czujnik przestał wysyłać fale podczerwone i po prostu załączył nóżkę PINB.4 na 15 minut. Po tym czasie wraca do poprzedniego stanu pracy. Bo przykładowo przeszkoda może się pojawić i za chwilę zniknąć a przekaźnik dalej ma być włączony przez te 15 minut 🙂

  • 2 tygodnie później...

BlackJack, raczej źle zakładasz.

miałby podtrzymać działanie przekaźnika na 15 minut.
Bo przykładowo przeszkoda może się pojawić i za chwilę zniknąć a przekaźnik dalej ma być włączony przez te 15 minut 🙂

Nie wygląda mi to na czujnik do minisumo, a te 15min to nie pomyłka bo jest tak napisane 3 razy.

  • 8 miesiące później...
  • 1 miesiąc później...
  • 2 miesiące później...

Witam. Konstruuję właśnie czujnik z tematu i chciałbym zapytać o to czy mój schemat się zgadza. Chodzi mi głównie o poprawność pod katem tranzystorów bo nie jestem pewien na 100% czy będą spełniały swoją rolę (czy są poprawnie umieszczone/połaczone). Chciałbym jeszcze zapytać o to ile V potrzebuje taka dioda żeby dobrać odpowiedni rezystor w tym przypadku R3 i R4.

Pozdrawiam.

  • 7 lat(a) później...
Gość nemo-sas

Hello colleagues. What fuse and lock beats to show? Atiny 13

Aktualizacja:

Коллеги, кто собирал, нужна помощь. Запустил, но не стабильно работает. И у разных процессоров частоты разные.

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...