Licznik impulsów - zliczanie długich i krótkich impulsów

Masz problem z Arduino? Tutaj możesz szukać pomocy.
ODPOWIEDZ
wojtek3
Młodszy majsterkowicz
Posty: 14
Rejestracja: 22 lut 2013, 19:23

Licznik impulsów - zliczanie długich i krótkich impulsów

Post autor: wojtek3 » 7 kwie 2013, 19:20

Witam chciałbym zrobić licznik impulsów (długich i krótkich). Robiłem już licznik ale gdy przycisnąłem przycisk dłużej to zliczyło więcej (wiadomo pętla się powtarza). Czy mógłby mi ktoś podać program do zliczania impulsów (tylko taki że będę mógł naciskać przycisk przez nawet kilka minut ale zliczy tylko jeden impuls) albo chociaż jakieś wskazówki

Co miesiąc do wygrania nagrody o wartości ponad 1600 zł!


shymon
Majsterkowicz
Posty: 139
Rejestracja: 6 paź 2012, 20:27

Re: Licznik impulsów - zliczanie długich i krótkich impulsów

Post autor: shymon » 7 kwie 2013, 19:46

Wykrywaj zbocze, a nie tylko stan.
wojtek3
Młodszy majsterkowicz
Posty: 14
Rejestracja: 22 lut 2013, 19:23

Re: Odp: Licznik impulsów - zliczanie długich i krótkich imp

Post autor: wojtek3 » 7 kwie 2013, 20:48

Wiem o co ci chodzi tylko nie dokładnie wiem jak to zrobić mógłbyś mi podać część kodu odpowiadającą właśnie za wykrywanie tego zbocza? Zmienne do zapisywania itp to już zrobię.
Awatar użytkownika
cube
Złota rączka
Posty: 834
Rejestracja: 2 gru 2012, 17:02

Re: Licznik impulsów - zliczanie długich i krótkich impulsów

Post autor: cube » 7 kwie 2013, 20:54

attachInterrupt(...,RISING); albo FALLING
W przerwaniu wykonuj jak najmniej kodu, np. tylko inkrementację jakiejś zmiennej, wyświetlanie wartości rób już poza kodem przerwania.
Konieczny jest debouncing przycisku.
Wszystko to znajdziesz w dokumentacji arduino na stronie arduino.cc i w internecie.
wojtek3
Młodszy majsterkowicz
Posty: 14
Rejestracja: 22 lut 2013, 19:23

Re: Odp: Licznik impulsów - zliczanie długich i krótkich imp

Post autor: wojtek3 » 7 kwie 2013, 21:01

Dziękuję jutro to sprawdzę. W razie niejasności napiszę w tym temacie ;)
shymon
Majsterkowicz
Posty: 139
Rejestracja: 6 paź 2012, 20:27

Re: Licznik impulsów - zliczanie długich i krótkich impulsów

Post autor: shymon » 7 kwie 2013, 22:21

Programowo też da się to załatwić.
Odczytujesz stan pinu, potem odczekujesz jakiś czas i odczytujesz ponownie - jeśli stan się nie zmienił, to impulsu nie było. Zaleta taka, że podczas czasu, który oczekujesz przed kolejnym odczytem zdążą ustać procesy związane z drganiem styków.
Aczkolwiek warto nauczyć się obsługi przerwań. :)
wojtek3
Młodszy majsterkowicz
Posty: 14
Rejestracja: 22 lut 2013, 19:23

Re: Licznik impulsów - zliczanie długich i krótkich impulsów

Post autor: wojtek3 » 8 kwie 2013, 19:42

Jestem tak zielony, że dalej tego nie rozumiem. Czytałem o attachInterrupt tyle, że nie znam najlepiej angielskiego :/
Awatar użytkownika
Marhef
Złota rączka
Posty: 1190
Rejestracja: 18 lis 2011, 02:18

Re: Licznik impulsów - zliczanie długich i krótkich impulsów

Post autor: Marhef » 8 kwie 2013, 21:31

Najprościej mówiąc: program się wykonuje, w momencie wystąpienia przerwania przerywa działanie i wykonuje tzw. program obsługi przerwania. Następnie wraca w to samo miejsce, w którym było przerwanie i wykonuje się dalej
wojtek3
Młodszy majsterkowicz
Posty: 14
Rejestracja: 22 lut 2013, 19:23

Re: Odp: Licznik impulsów - zliczanie długich i krótkich imp

Post autor: wojtek3 » 10 kwie 2013, 07:01

Wiem, że to tak ma działać ale nie umiem tego napisać. Moglibyście mi podać kod (pętla główna wystarczy). Dużo kombinowałem z tym licznikiem ale nic nie zdziałałem.
ODPOWIEDZ

Strony partnerskie: