Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Kategoria: Kamery IP / Alarmy / Automatyka Bram
Montersi
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

ARM M4F - C - KEIL - Keypad 4x4

zozolpl 18 Maj 2017 17:33 1227 7
  • #1 18 Maj 2017 17:33
    zozolpl
    Poziom 6  

    Witam, próbuję podłączyć klawiaturę 4x4 pod płytkę PCA10040 z uC M4F.
    Jeśli dobrze rozumiem, przy naciśnięciu np "1" na klawiaturze pin 4 oraz 5 powinien dać sygnał wysoki?
    Niestety warunek sprawdzający czy oba piny == high nie daje żadnego rezultatu.
    ARM M4F - C - KEIL - Keypad 4x4

    Sposób, w jaki próbuję zapalić diodę przy naciśnięciu "1"

    Kod: c
    Zaloguj się, aby zobaczyć kod

    Ktoś jest w stanie nakierować mnie na błąd i ewentualnie opisać, w jaki sposób powinienem to zrobić?

    //Po krótkim zastanowieniu się, skoro na klawiature nie podaję napiecia, nie ma szans, żeby na pinie pojawił się stan wysoki - czy w takim razie bazuje to w jakiś sposób na oporności? Jeśli dobrzę myśle, w jaki sposób to odczytywać?

  • #2 18 Maj 2017 21:57
    dondu
    Moderator Mikrokontrolery Projektowanie

    Na przykład tak:
    - podłączasz piny kolumn Cx do pinów wejściowych z włączonymi pullup-ami.
    - wiersze Rx podłączasz do pinów ustawionych jako wyjście i ustawiasz na nich stan wysoki.
    - następnie przemiatasz wiersze Rx ustawiając na wybranym wierszu Rx stan niski i odczytujesz stan pinów Cx - proces powtarzasz dla każdego wiersza.

  • #3 19 Maj 2017 10:13
    zozolpl
    Poziom 6  

    W podobny sposób kombinowałem, natomiast mam problem z odczytaniem stanu na pinie wchodzącym.

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Pin 1 klawiatury mam narazie na stałe pod 5V podpięte, sprawdziłem multimetrem, w momencie wciśnięcia klawisza "1" na Pinie 5 wchodzi 4,8V
    Program jednak nie reaguje na to

  • #5 19 Maj 2017 14:13
    Marek_Skalski
    Poziom 32  

    zozolpl napisał:
    Jeśli dobrze rozumiem, przy naciśnięciu np "1" na klawiaturze pin 4 oraz 5 powinien dać sygnał wysoki?

    Źle Kolega rozumie. Jak naciśnięta jest cyfra "1", to zwarte są linie 4 i 8, jak naciśnięta będzie "*" to połączone będą linie 4 i 5, jak naciśnięta będzie "6", to połączone będą linie 2 i 6.
    Ta klawiatur nie powinna być ani przez chwilę podłączona do stałego napięcia, a już na pewno nie do 5V, ponieważ grozi to uszkodzeniem portu mikrokontrolera.
    Dondu już napisał jak to podłączyć.

  • #6 07 Cze 2017 18:52
    zozolpl
    Poziom 6  

    Witam, wróciłem do tematu i borykam się z jednym problemem

    Funkcje odpowiedzialne za klawiature:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    I teraz do sprawdzenia działania fragment włączający sygnał dzwiękowy. Efekt jaki chece uzyskać to - trzymam '1' - sygnał włączony, puszczam klawisz - sygnał wyłącza się.
    Problem jest taki, że czasami działa jak powinno, czasami po puszczeni sygnał utrzymuje się przez kilkanaście sekund a czasami aż do wyłączenia zasilania.

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Próbowałem już na różne sposoby, różne opóźnienia, jak widać wrzuciłem też dodatkowo wywołanie zczytania klawiatury po alarmie i bez efektu

  • #7 08 Cze 2017 11:06
    BlueDraco
    Specjalista - Mikrokontrolery

    Czy masz włączone rezystory podciągające wejścia?

  • #8 08 Cze 2017 13:13
    zozolpl
    Poziom 6  

    Tak, jako PULLUP o to chodzi?

 Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME