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ź 🙂

Link to post
Share on other sites

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

Link to post
Share on other sites

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 🙂

Link to post
Share on other sites

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.

Link to post
Share on other sites

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.

Link to post
Share on other sites

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

Aktualizacja:

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

Link to post
Share on other sites
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.