Skocz do zawartości
rafioza12

Klawiatura QWERTY do Arduino wykorzystująca jeden pin

Pomocna odpowiedź

Witam wszystkich, ostatnio po przerobieniu pewnej części kursu Arduino zacząłem się zastanawiać czy jest możliwość zbudowania z wykorzystaniem Arduino UNO, układu klawiatury QWERTY i wyświetlacza, z pewnym utrudnieniem tj. wykorzystując tylko jeden pin dla klawiatury. Rozwiązanie jakie przyszło mi na myśl to wykonanie płytki z 29-oma przyciskami(QWERTY...+spacja, enter i backspace) gdzie każdy przycisk dołączony jest do innej rezystancji(29 rezystorów 102ohm połączonych szeregowo i każdy z przycisków dołączony za kolejnym rezystorem). Oczywiście wykorzystywany jest tu pin analogowy. Po wciśnięciu któregoś z przycisku układ mierzy wartość napięcia i wyświetla przypisana do tej wartości literę. Sporym problemem okazał się fakt, że niepodłączone wejście analogowe(brak wciśniętego przycisku)  mierzy dziwne szumy od 0.5V do 2,2V, udało mi się jakoś rozwiązać ten problem ale powiedzmy, że jest to taka prowizorka i musiałem użyc dodatkowego pinu cyfrowego ;/ Ogólnie układ działa całkiem ok jednak jestem bardzo ciekawy czy jest jakiś inny być może lepszy sposób na zbudowanie takiego układu?

Fajnie jakby ktoś zainteresował się tematem 😉

Ps. krótki film jak to działa 🙂

 

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

@rafioza12 witam na forum. Twój problem z szumami mógłby rozwiązać kondensator rzędu 10nF połączony równolegle do rezystora na którym mierzysz napięcie.

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

@Sabre Dziękuje za odpowiedz, rozważając nad tym problemem również postanowiłem dać kondensator tyle, że nie wiedziałem jaki, dałem aż 10uF i pomiędzy masą a wejściem A5. Szumy zostały w zadowalającym stopniu odfiltrowane ale pojawiły się dwa nowe problemy:

-kondensator lądował się powoli( szumami? Około 0.02V na sekundę) 

-po naciśnieniu przycisku klawiatury kondensator lądował się napięciem jakie pojawiło się po wciśnięciu przycisku. Czas rozładowania był bardzo długi co skutkowało samoistnym pojawianiem się liter na wyświetlaczu.

Rozwiązałem to w głupi sposób, wykorzystałem pin nr8, który dołączony był razem z A5 do kondensatora. W pętli loop ustawiony on był w odpowiednich miejscach jako wejście lub wyjście ze stanem LOW(żeby "zwierać" kondensator). Rozwiązanie prymitywne dlatego zastanawiam się czy można by bardziej w cywilizowany sposób 🙂

Edytowano przez rafioza12

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

@rafioza12 dołącz najlepiej ceramiczny kondensator 10nF. Takie kondensatory lepiej zwierają sygnały o wysokich częstotliwościach. Do tego 10nF nie będzie przeszkadzał swoją pojemnością w odczycie napięcia bo naładuje się od razu.

Tak na marginesie, takie klawiatury robiło się od dawna i dalej się robi. Aczkolwiek nie do końca rozumiem czy Ty zrobiłeś zwoją na zasadzie dzielnika napięcia. Może problemem u Ciebie jest właśnie brak rezystora podciągającego albo jest on zbyt dużej/małej wartości.

Edytowano przez Sabre
  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

 

@SabreHm zagłębiłem się temat tego rezystora podciągniętego i rzeczywiście to może być ten problem. Dzięki za odpowiedz raz jeszcze, jutro zmodyfikuje układ i zobaczymy jak się będzie zachowywał. 

I tak układ działa za zasadzie dzielnika napięcia. Prymitywne, chciałem tylko zobaczyć czy bedzie to poprawnie działać 🙂

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...