• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Wykrywanie zbocza narastającego/opadającego
#1
Czy istnieje jakaś biblioteka, dzięki której w prosty sposób można wykryć zbocza narastające/opadające przy pomocy jednego polecenia? Wiem jak to zrobić "manualnie", lecz zależy mi na czytelności kodu.
 
Odpowiedź
#2
Ta biblioteka nazywa się Arduino i robi się jednym poleceniem "attachInterrupt(digitalPinToInterrupt(interruptPin), blink, CHANGE)". Jak to robisz manualnie?
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#3
Można tę funkcję zastosować do dowolnego pinu w arduino uno? Bo gdzieś czytałem, że funkcja ta dotyczy tylko 2 i 3 pinu w uno. Jest mi to potrzebne do wykonania klawiatury, wcześniej realizowałem to przy pomocy funkcji if, lecz to wymaga zastosowania dodatkowej zmiennej dla każdego przycisku oraz dodawania else po każdym if-ie, co pogarszało czytelność i zajmowało więcej pamięci. Jeśli chcesz mogę wysłać tę funkcję.
 
Odpowiedź
#4
Pytałeś o zbocza, jest to wykonywane w przerwaniu sprzętowym bo trwa nanosekundy. W UNO faktycznie są tylko dwa na wspomnianych pinach. To czego szukasz to obsługa klawiatury, wciśnięcie przycisku trwa milisekundy i przerwania nie są do tego niezbędne. Można to sobie zrobić funkcją millis() tworząc swoje funkcje/klasy, biblioteką debounce2 (jest takich dużo) lub biblioteką do klawiatury matrycowej - szukaj arduino matrix keypad. Chodzi Ci o moment wciśnięcia, długość trzymania i moment puszczenia? Są też procesory mające więcej przerwań (DUE ma pierdylion), jeśli się upierasz: https://www.arduino.cc/reference/en/lang...interrupt/ .
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#5
Jeśli chcesz wykrywać sprzętowo oba zbocza to używasz przerwania PCIE. Jeśli jedno to INTx. PCIE może wywoływać funkcję gdy wystąpi jedno ze zboczy, trzeba tylko sprawdzić stan pinu wejściowego. Jeśli impuls będzie krótki to ta metoda może być zawodna.
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości