Arduino – przyciski i szeregowy monitor

W drugim dniu zabawy z Arduino postanowiłem przede wszystkim wykonać coś do odczytu wejść. Zmontowałem układ realizujący dwa cele:

  1. Wysyłka informacji do komputera przez szeregowy monitor.
  2. Obsługa przycisku.

Szeregowy monitor

Cel: Wysyłka do komputera co jedną sekundę informacji o ilości powtórzeń pętli.

Nie ma się co rozpisywać na temat programu:

 

Wynik w szeregowym monitorze:

serial_monitor

 

Czyli co jedną sekundę w konsoli pojawi się kolejny wiersz z ilością sekund od uruchomienia zasilania.

 

Obsługa przycisku

Praca z przyciskami na pozór wydaje się być prosta, jednak diabeł tkwi w szczegółach. Otóż w przyciskach występuje zjawisko drgania styków. Polega to na tym, że podczas naciśnięcia przycisku metalowe styki wewnątrz drgają powodując przez krótki czas wielokrotne jego włączanie i wyłączanie. W dalszej części przedstawię dwa sposoby poradzenia sobie z tym problemem: sprzętowy i programowy.

Program z obsługą drgania styków:

Układ montażowy:

 

switch1
Sprzętowa obsługa filtrowania drgania styków

Z poprzedniego programu usuwamy opóźnienia wykonywane po odczycie wejścia i program wygląda następująco:

Natomiast do układu montażowego dodajemy kondensator 100nF wpięty równolegle do rezystora ściągającego (10kΩ) który będzie powodował niewielkie opóźnienie w momencie zwolnienia przycisku.

 

switch2

Odcinek ElektroPrzewodnika o przyciskach

Tutaj można dowiedzieć się trochę więcej na temat rezystora ściągającego, podłączania przycisków i drganiach styków. Polecam!

Uwaga! Zestaw startowy ElektroPrzewodnika

Tak jak pisałem kilka dni wcześniej, kupiłem do Arduino zestaw startowy z Botlandu od ElektroPrzewodnika. Niestety nie zawiera on ani jednego kondensatora, dlatego bazując tylko na nim nie zrobiłbym sprzętowego filtrowania drgań styków.  Jeśli ktoś chciałby się wyposażyć w zestaw podstawowych elementów i przy okazji czegoś nauczyć z elektroniki, to polecam Oślą łączke z dwoma tomami „Wyprawy w świat elektroniki”. Naprawdę warto dla początkujących.

To również może Cię zainteresować:

  • Arduino ‚Hello World’ – pierwszy programArduino ‚Hello World’ – pierwszy program Dotarła do mnie w czwartek przesyłka z Botlandu z zestawem od ElektroPrzewodnika dlatego od razu po pracy postanowiłem zmontować prosty układ i napisać do niego program. Migające diody […]
  • Arduino – flagi bitoweArduino – flagi bitowe Pamiętacie jak miesiąc temu wspominałem o flagach bitowych w javie? Arduino jest właśnie świetnym przykładem możliwości ich wykorzystania. Mamy tutaj ograniczoną pamięć, dlatego w prosty […]
  • Trochę elektroniki – od czego zacząć?Trochę elektroniki – od czego zacząć? Korzystając z ostatniego dnia promocji w ebookpoint.pl kupiłem sobie książkę: "Arduino. 65 praktycznych projektów" Johna Boxalla za zaledwie 32,99 zł. Tym samym rozpoczynam swoją przygodę […]
  • Arduino – zdalne sterowanie za pomocą podczerwieni. Własne klasyArduino – zdalne sterowanie za pomocą podczerwieni. Własne klasy Ponieważ w ostatnich dwóch dniach nauczyłem się zarówno wysyłać jak i odbierać cyfrowe sygnały postanowiłem wykonać układ na którego realizację czekałem jeszcze przed zakupem […]
  • Komunikacja szeregowa dwóch Arduino przez Raspberry PIKomunikacja szeregowa dwóch Arduino przez Raspberry PI Celem ćwiczenia jest wykonanie komunikacji dwóch płytek Arduino za pomocą terminala w Raspbianie Raspberry PI. Wykorzystałem do tego Arduino Leonardo do wysyłania sygnałów oraz KAmduino […]
  • Robot oparty o Arduino układa kostkę Rubika poniżej sekundyRobot oparty o Arduino układa kostkę Rubika poniżej sekundy W styczniu tego roku (2016) Jay Flatland i Paul Rose opublikowali na Youtube film przedstawiający robota układającego kostkę rubika w czasie poniżej dwóch sekund. Do […]

2 thoughts on “Arduino – przyciski i szeregowy monitor

  1. Trudno było znaleźć ten post w google, stronka ciekawa, zasługuje na większy ruch. Pozycjonowanie w 2015 stało się bardzo trudne, jest coś co ci się napewno przyda, poszukaj sobie w google – niezbędnik dla każdego webmastera

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *