Witam.
Pod tym adresem znajduje się opis klawiatury 16 przyciskowej i2c wykonanej na dwóch układach PCF8574. Każdy przycisk podłączony jest do pojedynczej linii.
Czy przez przypadek tego samego nie można uzyskać na jednym PCF8574 stosując matrycę 4x4 ? Istnieje jakieś rzeczowe uzasadnienie, dlaczego wykonano ją na dwóch układach?
Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięKlawiatura i2c 4x4 na jednym PCF8574
Moderatorzy:Jacek Bogusz, robertw, k.pawliczak, Moderatorzy
-
- -
- Posty:91
- Rejestracja:17 lut 2005, o 12:02
- Lokalizacja:Wrocław
- Kontaktowanie:
- Tomasz Gumny
- -
- Posty:685
- Rejestracja:4 lut 2004, o 23:31
- Lokalizacja:Trzcianka/Poznań
Re: Klawiatura i2c 4x4 na jednym PCF8574
Można, ale trzeba będzie cały czas "przemiatać" matrycę.Czy przez przypadek tego samego nie można uzyskać na jednym PCF8574 stosując matrycę 4x4 ?
Po naciśnięciu dowolnego klawisza, PCF8574 zgłasza przerwanie i wystarczy raz odczytać stan wejść. W przypadku klawiatury matrycowej (sterowanej z wyjść innych niż otwarty kolektor z rezystorem podciągającym, np. AT89C2051) trzeba dodać przy każdym klawiszu diodę zapobiegającą zwarciu wyjść przy równoczesnym naciśnięciu kilku klawiszy.[/quote]Istnieje jakieś rzeczowe uzasadnienie, dlaczego wykonano ją na dwóch układach?
-
- -
- Posty:91
- Rejestracja:17 lut 2005, o 12:02
- Lokalizacja:Wrocław
- Kontaktowanie:
Re: Klawiatura i2c 4x4 na jednym PCF8574
Przy każdym klawiszu, czy przy każdej kolumnie?W przypadku klawiatury matrycowej (sterowanej z wyjść innych niż otwarty kolektor z rezystorem podciągającym, np. AT89C2051) trzeba dodać przy każdym klawiszu diodę zapobiegającą zwarciu wyjść przy równoczesnym naciśnięciu kilku klawiszy.
http://www.mimuw.edu.pl/~marpe/mikrokon ... iatury.pdf
- Tomasz Gumny
- -
- Posty:685
- Rejestracja:4 lut 2004, o 23:31
- Lokalizacja:Trzcianka/Poznań
Re: Klawiatura i2c 4x4 na jednym PCF8574
Zasadniczo - przy każdym przycisku. Podłączając diody do wyjść jak w tym pdf-ie robimy z nich wyjścia typu OC.Przy każdym klawiszu, czy przy każdej kolumnie?
-
- -
- Posty:91
- Rejestracja:17 lut 2005, o 12:02
- Lokalizacja:Wrocław
- Kontaktowanie:
Planuję zrobić to w taki sposób:
Linie D0...D3 PCF8574 będą umownymi "poziomami"
Linie D4...D8 PCF8574 będą umownymi "pionami"
Na poziomach (skonfigurowane jako wyjścia) domyślnie panuje stan wysoki (podciągnięte rezystorami do VCC)
Piony są skonfigurowane jako wejścia (stan na wejściach może być zawsze dowolny). Również podciągnięte do VCC.
W celu detekcji naciśniętego klawisza:
1. ustawiam "0" na wybranym poziomie.
2. sprawdzam kolejno stany pionów.
Jeśli wciśnięte choćby wszystkie klawisze danego poziomu nie robi to żadnego problemu.
Jeśli wciśnięte choćby wszystkie klawisze danego pionu, również nie robi to problemu, ponieważ 4 diody umiejscowione na wyjściach poziomów (katodą do uP) nie powodują wystawienia na klawisz napięcia VCC, a jedynie brak GND.
Więc gdy "GND wystawione" na pierwszy klawisz pionu, a wciśnięte wszystkie klawisze pionu, wówczas zwarcia jako takiego nie ma (pod względem elektrycznym) a co najwyżej program po kolei odczyta, że zostały wciśnięte klawisze Y1, Y2, Y3, Y4.
Czyli generalnie mamy sytuację OC.
Linie D0...D3 PCF8574 będą umownymi "poziomami"
Linie D4...D8 PCF8574 będą umownymi "pionami"
Na poziomach (skonfigurowane jako wyjścia) domyślnie panuje stan wysoki (podciągnięte rezystorami do VCC)
Piony są skonfigurowane jako wejścia (stan na wejściach może być zawsze dowolny). Również podciągnięte do VCC.
W celu detekcji naciśniętego klawisza:
1. ustawiam "0" na wybranym poziomie.
2. sprawdzam kolejno stany pionów.
Jeśli wciśnięte choćby wszystkie klawisze danego poziomu nie robi to żadnego problemu.
Jeśli wciśnięte choćby wszystkie klawisze danego pionu, również nie robi to problemu, ponieważ 4 diody umiejscowione na wyjściach poziomów (katodą do uP) nie powodują wystawienia na klawisz napięcia VCC, a jedynie brak GND.
Więc gdy "GND wystawione" na pierwszy klawisz pionu, a wciśnięte wszystkie klawisze pionu, wówczas zwarcia jako takiego nie ma (pod względem elektrycznym) a co najwyżej program po kolei odczyta, że zostały wciśnięte klawisze Y1, Y2, Y3, Y4.
Czyli generalnie mamy sytuację OC.
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 0 gości