Skocz do zawartości

Kurs Arduino II - #4 - przerwania, kontaktron, czujnik PIR


Pomocna odpowiedź

Napisano
html_mig_img
Pisząc rozbudowane programy łatwo doprowadzić do sytuacji, w której układ nie reaguje od razu np. na wciśnięcie przycisku. Wtedy najlepiej użyć przerwań, które zostały opisane w tym artykule tak, aby każdy zrozumiał ideę ich stosowania.Najpierw jednak kilka słów o sensorach znanych z alarmów: kontaktronach oraz czujnikach ruchu.

UWAGA, to tylko wstęp! Dalsza część artykułu dostępna jest na blogu.

Przeczytaj całość »

Poniżej znajdują się komentarze powiązane z tym wpisem.

  • Lubię! 1

hashpl, mam to w planach, ale nie wiem, czy w tym kursie. Może napiszę osobny artykuł, który będzie traktował tylko o tym.

ok ok. Połączenie Arduino - silnik, Joystick + nrf24l01 też fajnie by było to dokładnie wyjaśnić. Wiem że wiele razy był już ten wątek poruszany ale jakby tak wszystko było w jednym miejscu - fajna sprawa

hashpl, nie wiem czy będę zagłębiał się w tak konkretne zastosowania. Prędzej skupię się na uniwersalnym podejściu do "wielowątkowości" 🙂

Cześć,
W jaki sposób mogę wyeliminować drgania styków ( bez używania delaya ) korzystając z przerwania sprawdzającego stan microswitcha?

Tryb domyślny to jest L czy H ?

Pozdrawiam

stspodl, powodzenia podczas realizacji kursu 🙂

RybaSG, dobra i bezpieczna eliminacja drgań styków bez zatrzymywania programu jest trudnym zadaniem. Na ten moment najlepiej byłoby zrobić to filtrem RC (czyli dodając kondensator i rezystor). Mam jednak w planach artykuł, gdzie zajmę się tym od strony programistycznej.

Tryb domyślny to jest L czy H ?

Nie bardzo rozumiem pytania, mógłbyś podać jakiś przykład?

W kursie opisane jest, że zajmiemy się trybem domyślnym natomiast na swoim czujniku mam zworkę z możliwością ustawienia L lub H i zastanawiam się, który z nich, to tryb domyślny 🙂

EDIT : Dzięki wielkie, filtr RC zadziałał 🙂

RybaSG, a widzisz, u mnie nie było zworki wlutowanej - więc sprawa była łatwiejsza. Tryb domyślny w moim wypadku, to tryb retriggering, czyli zworka w pozycji H.

Wytłumaczenie przerwań było nie lada wyzwaniem, szczególnie, że chciałem pokazać całą ideę tego mechanizmu. Mam nadzieję, że udało mi się ostatecznie przygotować artykuł, który wykracza poza standardowe poradniki Arduino o przerwaniach, które tylko tłumaczą składnie poleceń. Mam nadzieję, że początkujący programiści znajdą w artykule coś dla siebie, a bardziej doświadczone osoby wybaczą pominięcie niektórych kwestii, które teraz musiałem przemilczeć, aby całość miała sensowną długość.

... 🙂 Gdym ja miał opisać naturę przerwań w oparciu o analogie, to przyjrzałbym się zasadom jakim muszą się podporządkować służby ratownicze 🙂 Gotowanie zupy to smaczna analogia, ale trochę płytka dla oddania idei stosowania przerwań 😉

Artykuł super i widać w nim chęć przybliżenia zagadnienia w sposób możliwie jak najprostszy 🙂

nse, służby ratownicze też mogą sobie spokojnie na przerwie jeść zupę, a w momencie wezwania (alarmu) rzucają wszystko i jadą w akcje 😉

Cytat z artykułu:

Podczas pracy w trybie, non-retriggering, na wyjściu otrzymamy stan wysoki tylko raz, później wyjście czujnika przejdzie w stan niski – niezależnie od wykrywania kolejnych ruchów w trakcie.

Jak dokładnie działa czujnik w rym trybie? Na wyjściu dostaniemy stan wysoki (o czasie trwania ustawionym Tx?), potem stan niski, a potem co? Jest jakiś czas "restartu" i wszystko zadziała od początku?

nse, służby ratownicze też mogą sobie spokojnie na przerwie jeść zupę, a w momencie wezwania (alarmu) rzucają wszystko i jadą w akcje 😉

... oczywiście że mogą, pod warunkiem że ta zupa nie spowoduje przedłużenia czasu reakcji na alarm 😉

Artykuł bardzo fajny i widać że ktoś myślący go pisał, chciałem jedynie nieco poszerzyć horyzont rozumienia przerwań, oczywiście można się też z przerwaniami odwołać do naszych odruchów, przykładowo reakcja powieki oka ... gdzie reakcja nie jest podporządkowana żadnym analizom a działa na zasadzie tablicy akcja -> reakcja 🙂

Pozdrawiam serdecznie

Ps. Pozostanie do opisania natura stosu 😉

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