Licznik wciśnięć kilku przycisków - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica) +--- Wątek: Licznik wciśnięć kilku przycisków (/watek-licznik-wci%C5%9Bni%C4%99%C4%87-kilku-przycisk%C3%B3w) |
Licznik wciśnięć kilku przycisków - marmar666 - 18-03-2020 Witam wszystkich Dopiero zaczynam naukę Arduino. Chciałbym zrobić licznik wcieśnięć przycisków: Przycisk nr 1 wartość: 0.1 punktów Przycisk nr 2 wartość: 0.2punktów Przycisk nr 3 wartość: 0.5punktów Przycisk nr 4 wartość: 1punktów Przycisk nr 5 wartość: 2punktów Przycisk nr 6 wartość: 5punktów Chciałbym aby arduino liczyło wciśnięcia przycików do osięgnięcia zamierzonej wartości np 10punktów (lub więcej) Po osiągnięciu chciałbym aby dioda led się zapaliła na 3 sekundy i po tym czasie suma się wyzerowała. Znalazłem tutoriale ale wszystkie działają na zasadzie jednego przycisku. Czy możecie mi pomóc? RE: Licznik wciśnięć kilku przycisków - Agregacik - 18-03-2020 Z opisu wynika, że nie chcesz zrobić licznika wciśnięć ale sumator, czyli dodawać wartości do siebie w zależności, który przycisk został naciśnięty. Zadanie jest bardzo proste. Trzeba tylko na początek poczytać o zmiennych i sterowaniu wykonywaniem kodu. W tym przypadku nie szukaj gotowców tylko pomyśl jak byś to sam zrobił. Poczytaj na początek np tu: https://plociennik.info/index.php/arduino-wstep Wiedza z tej strony wystarczy Ci do wykonania projektu. Podpowiem, utwórz zmienną Suna i dodawaj do niej liczby w zależności, który przycisk uaktywnisz, gdy suma osiągnie np 10 to zapal diodę, poczekaj na delay(3000); i wyzeruj Sumę. Delay to takie zatrzymanie wykonywania kodu, strasznie złe rozwiązanie, jak się chce, aby procesorek wykonywał wiele zadań, ale na początek w prostych programach jest do przyjęcia. Problemem może być, aby podczas aktywności przycisku, do sumy dodawała się wartość "pod przyciskiem" tylko raz. Podpowiem tylko tyle, ja użyłbym flagi. I jeszcze, przyciski mogą generować zjawisko "drganie styku" czyli w czasie jego załączania styczki odbijają się od siebie powodując jakby wielokrotne naciśnięcie przycisku. Zaradza się temu programowo, pewnie w przykładzie, który znalazłeś jest ten fragment kodu. RE: Licznik wciśnięć kilku przycisków - DVDmulti - 18-03-2020 Tak na kolanie analiza: if przycisk1 == LOW add 0.1 do zmiennej zliczanie +na koniec opoznienie zeby trzymanie guzika nie naliczało setek razy, 350-850ms if przycisk2 == LOW add 0.2 do zmiennej zliczanie +na koniec opoznienie zeby trzymanie guzika nie naliczało setek razy, 350-850ms if zliczanie >= 30 zapal diodę na 3s, wyzeruj licznik. RE: Licznik wciśnięć kilku przycisków - Robson Kerman - 18-03-2020 A nie lepiej: dodaj 10 dodaj 20 idt. if zliczanie >=300 zrób cośtam? Pozbędziemy się floatów. |