Liczba postów: 250
Liczba wątków: 0
Dołączył: Dec 2016
Reputacja:
48
Witam,
Możliwe jest "zbudowanie" takiego urządzenia tylko z małą poprawką. Jeżeli połączysz równolegle przyciski to naciśnięcie dowolnego z nich będzie powodować zgaszenie wylosowanej diody. Czyli otrzymasz refleksomierz dla leniwych.
Pozdrawiam.
Liczba postów: 32
Liczba wątków: 1
Dołączył: Feb 2016
Reputacja:
2
Witam.
Oczywiście, że jest możliwe stworzenie takiego urządzenia, jaką płytkę chcesz wykorzystać do tego projektu? Czy zamierzasz wykorzystać wyłącznie 9 przycisków czy więcej/mniej? Przewidujesz rozwiązanie z naliczaniem błędnych "trafień"?
Pozdrawiam
Liczba postów: 32
Liczba wątków: 1
Dołączył: Feb 2016
Reputacja:
2
Ja robiłem taki projekt wykorzystujący 4 przyciski, nie liczył on czasu gry, a czas reakcji na bodziec wzrokowy. Przed rozpoczęciem gry ustalana była długość gry, a w trakcie na wyświetlacz wyrzucany był otatni czas reakcji. Po zakończeniu sekwencji gry wyświetlane były w pętli wyniki: najkrótszy czas reakcji, najdłuższy czas reakcji, średni z całej gry oraz liczba błędnych trafień. Wykorzystałem do tego Arduino Leonardo i każdy przycisk odpowiadał innemu pinowi cyfrowemu.
Liczba postów: 250
Liczba wątków: 0
Dołączył: Dec 2016
Reputacja:
48
Witam,
A brałeś pod uwagę to, że może zostać wylosowana ta sama dioda i wtedy wydaje się, że przycisk nie działa? Przecież do kodu można dołożyć chwilowe zgaszenie diody w momencie wciśnięcia przycisku. To odnośnie sygnału losowego.
Proponuje Tobie zrobić przyciski na jednym pinie analogowym. Dziewięć rezystorów połączonych w szereg pomiędzy 5 V i masę. Od łączenia poszczególnych rezystorów podciągasz włącznik do wspomnianego wejścia analogowego i na nim odczytujesz napięcie (dla każdego przycisku będzie inne). Sprawdzasz czy wciśnięty przycisk (napięcie) odpowiada numerowi zapalonej diody i już.
Pozdrawiam.
Liczba postów: 32
Liczba wątków: 1
Dołączył: Feb 2016
Reputacja:
2
Smaczek przedstawił bardzo sprytne rozwiązanie wykorzystujące zaledwie jeden pin analogowy dla obsługi wszystkich przycisków.
Jeśli chodzi o kwestie "mankamentu" również można ją rozwiązać. Zapalenie kolejnej diody powinno nastąpić dopiero po puszczeniu przycisku poprzedniej diody. Rozważ przypadek pesymistyczny że losuje Ci się ciągle jedna dioda, trzymając wciśnięty odpowiedni przycisk, wynik inkrementuje się z szybkością obrotu jednej pętli programu, co jest absurdem. Ja w swoim projekcie zastosowałem właśnie takie podejście, które zapala kolejną diodę jeśli żaden z przycisków nie jest aktualnie wciśnięty, jednak idea działania mojego projektu była nieco inna niż zakładana idea Twojego.