Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Arduino ogranicznik impulsów.

michalsk8 06 Sie 2017 22:01 501 2
  • #1 06 Sie 2017 22:01
    michalsk8
    Poziom 6  

    Witam,
    Z wykorzystaniem układu Arduino zmontowałem ogranicznik impulsów. W skrócie wygląda to tak, że mam urządzenie, które jeżeli jest w ruchu wysyła sygnał do odbiornika. Jeżeli zatrzyma się impulsu nie wysyła. Problem polegał na tym, że kiedy urządzenie było w ruchu "bombardowało" odbiornik impulsami, który w końcu zawieszał się. Tak więc napisałem prosty programik, który sprawdza stan trzech wejść. Jeżeli w ciągu 30sek. chociażby jedno wejście zmieni stan z wysokiego na niski wysyłany jest sygnał do odbiornika. Do tej pory jest wszystko ok. Problem pojawia się w momencie kiedy urządzenie znajduję sie w nachyleniu ok 40 stopni. Wtedy nawet kiedy jest w bezruchu wysyła impulsy i napisany "ogranicznik" i tak po 30 sek wyśle impuls do odbiornika. Nie wiem czy dobrze myślę, ale trzeba by napisać funkcję, która sprawdza czy w ciągu tych 30sek "styk" jest w ciągłym zwarciu. Tylko nie bardzo wiem jak się za to zabrać Wydaje mi się, że tu pomocne było by programowanie asynchroniczne tylko czy arduino daje taką możliwość? Z góry dziękuję za pomoc. Poniżej kod programu.

    Kod: c
    Zaloguj się, aby zobaczyć kod

  • #2 06 Sie 2017 23:33
    excray
    Poziom 38  

    Pokaż ten tekst koledze i poproś go aby odgadł co miałeś na myśli.

  • #3 07 Sie 2017 06:37
    dondu
    Moderator Mikrokontrolery Projektowanie

    To co planujesz jest maskowaniem problemu, a nie jego rozwiązaniem. Zamiast sztucznych plomb, należy sprawdzić dlaczego odbiornik się (jak to określiłeś) zawiesza, gdyż poruszając się ma przecież nadawać impulsy, a poruszając się odpowiednio długo także zawiesi odbiornik - tak przynajmniej można by się domyślać z Twojego opisu.

 Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME