Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

wielostykowa klawiatura pod avr

03 Gru 2004 14:24 7967 15
  • Poziom 11  
    witam
    mam następujący problem. Muszę na "najprostszym" avr-ze (2313) obłużyc między innymi klawiaturę obsługująca litery ( w tym polski) czyli jakieś 32 przyciski. Czy ktoś rozpracowywał ten problem i mógłby mi wskazać rozwiązanie ? Chodzi o zajęcie jak najmniejszeją liczby portów mikrokontrolera.
    pozdrowienia
    Marek
  • Poziom 27  
    Witam...
    Moze zainteresuje Cie podpiecie klawiatury takiej od komputera? Bedziesz potrzebowal chyba 2 pinow procka. Mozna kupic takze taka mala klawiaturke do kompa, ostatnio widzialem w Tesco, nie ma na niej klawiszy numerycznych. Do obslugi klawiatury od kompa masz gotowe procedurki w bascomie.
    Pozdrawiam
  • Poziom 11  
    witam
    niestety nie chcę podpinać klawiatury pod komputer, a programuje w C++
    pozdrowienia
  • Poziom 18  
    Ja widze 2 rozwiazania:
    1) specjalizowany uklad do obslugi klawiatury
    2) Rejestry przesowne (proste i latwo dostepne, wieksza ilosc rejestrow moznaby zastapic np. CPLD)
  • VIP Zasłużony dla elektroda
    3) Multiplexer/Demultiplexer - dla tego tandemu wystawiamy adres w matrycy, który w programie można traktować jako kod klawisza.
    Pzdr, LightI
  • Poziom 11  
    witam
    obsługa klawiatury 32 stykowej nawet w systemie matrycy przekracza (nawet przy założeniu że wszyskie wejścia idą na klwiaturę ci jest oczywiście błędne) możliwości wejściowe mikroprocesora 2313.
    pozdrowienia
  • Poziom 20  
    To chociaż napisz ile masz do dyspozycji pinów wejścia-wyjścia.
    Czy sześć pinów to za dużo? (przy użyciu demultipleksera 74*154 który zmieni stan czterech linii wyjściowych na 1 z 16, razy dwie linie wejściowe do odczytu)

    Czy przejrzałeś w sieci schematy urządzeń w których jest podłączana klawiatura matrycowa do mikrokontrolera? Na samej elektrodzie znajdziesz parę takich rozwiązań.
  • Poziom 18  
    A czy kolega 21777 wie co to jest rejestr przesowny, multiplekser, demultiplekser?? Bo to jest podstawa dalszej rozmowy.
  • Poziom 27  
    21777 napisał:
    witam
    niestety nie chcę podpinać klawiatury pod komputer, a programuje w C++
    pozdrowienia


    Nie chodzilo mi o podpiecia klawiatury POD komputer bo to bez sensu, mialem na mysli podpiecie klawiatury stosowanej PRZY komputerach.
    To ze programujesz z C+ to zaden problem, podalem bascoma bo tam masz juz gotowa procedurke, w C+ oczywiscie tez mozna to zrobic, starczy znac protokol transmisji klawiatura->PC, nie wiem czy nie idzie to czasem na i2c. Jesli chcesz koniecznie budowac wlasna klawiature to moze chociaz wykorzystasz scalaka z takiej klawiatury od PC, jego obsluga zajmie ci max 2 piny! a mozesz nim obsluzyc min 101 klaiwszy
    (nie wiem jaki jest max)

    pozdrawiam
  • VIP Zasłużony dla elektroda
    Ze swojej strony dodam taki projekcik matrycy 16-klawiszowej, zajmujący tylko 5 pinów, dla zaczerpniecia pomysłów. Na liniach A0-A3 wystawiamy kod klawisza, a KEY_STATE = 1 oznacza, że ten klawisz jest wciśnięty.
  • Poziom 27  
    Witam


    W zalaczniku masz gotowy schemat i biblioteke do obslugi klawiatudy na PCF8574. To jest klawiatura 16 stykowa, wykorzystujac 2xPCF8574 bez problemu wycisniesz 32 klawisze i wykorzystasz 2 piny portu, bedziesz zmienial tylko adresy.



    21777 napisał:
    witam
    obsługa klawiatury 32 stykowej nawet w systemie matrycy przekracza (nawet przy założeniu że wszyskie wejścia idą na klwiaturę ci jest oczywiście błędne) możliwości wejściowe mikroprocesora 2313.
    pozdrowienia


    Tu sie z Toba nie zgodze, mozesz wykonac klawiature oparta na ekspanderach portu (PCF8574) w kompie masz 102 klawisze i jakos jest to obsluzone na 2 liniach +przerwanie. Jesli klawiatura zajmuje wiecej niz 4-5 linii portu to juz powinno sie myslec o innym rozwiazaniu, jakis uklad posredni. Nikt przeciez nie podpina kazdego przycisku na osobny pin portu. Wyobraz sobie grubosc kabla laczacego 102 klawisze z komputerem :)

    Pozdrawiam
  • Pomocny dla użytkowników
    Zajrzyj tutaj:

    https://www.elektroda.pl/rtvforum/topic220796.html

    Podałem tam przepis schematowy wykorzystujący 6 linii wyjściowych (adresowanie) i 1 wejsciową stan klawisza z prostym adresowaniem.
    (tam jest wykorzystane pierwsze 36 adresów od 0 do 35).

    Maksymalna pojemność to 64 klawisze z wykorzystaniem 2 scalaków (HC138 i HC151) , 8 diod (BAT85) i 8 rezystorów (10k).
  • Użytkownik usunął konto  
  • Poziom 23  
    e913 napisał:
    Mam tak sam problem tyle że ja chce podpiąć klawiature komputerową pod AVR (ATmega 128 )
    Macie jakieś pomysły ?

    Kiedyś zrobiłem to w Bascomie. Sam się zdziwiłem jak łatwe to jest i jak mało kodu zajmuje w porównaniu do możliwości. Dopiero później się dowiedziałem, że jest gotowa funkcja :)
    Tu masz wszystko co potrzebne do tego: http://www.beyondlogic.org/keyboard/keybrd.htm
    A po polsku opis można znaleźć w wielu książkach, np. w http://www.btc.pl/index.php?id=psm wraz z przykładami w C.
    Pozdrawiam, Konrad.