Witam wszystkich!
Dzisiaj mam zamiar opisać jak połączyć klawiaturę z Arduino w Proteus ISIS.
Klawiatura jest używana w prawie każdym projekcie inżynieryjnym. Jeśli dobrze się rozejrzysz, znajdziesz klawiaturę w wielu urządzeniach elektronicznych. Nawet prosty bankomat ma w sobie klawiaturę, za pomocą której wprowadzamy kod PIN i wydajemy polecenia bankomatowi. Klasyczny kalkulator ma również klawiaturę. Istnieje wiele zastosowań dla klawiatury. Zobacz inne przykłady z życia wzięte systemów wbudowanych, w których znajdziesz wykorzystanie klawiatury.
Klawiatura jest używana tam, gdzie trzeba użyć przycisków numerycznych lub trzeba użyć wielu przycisków do wysyłania poleceń.
W niektórych aplikacjach muszę użyć 10 przycisków. Zamiast używać oddzielnych 10 przycisków wolałbym zamiast tego użyć klawiatury, ponieważ pozwoli to zaoszczędzić dużo czasu zarówno sprzętowo, jak i programistycznie. Dzisiaj przyjrzymy się szczegółowo jak działa klawiatura i jak możemy ją połączyć z Arduino w Proteus ISIS. Proteus udostępnia w swojej bazie danych komponent klawiatury, za pomocą którego możemy ją łatwo zasymulować w Proteusie i zaoszczędzić czas. Najpierw zasymuluj ją, a następnie zaprojektuj sprzęt. W kolejnym poście udostępnię projekt systemu automatycznej blokady za pomocą klawiatury.
Jak działa klawiatura?
Klawiatura wykorzystuje do działania system matrycowy.
Poniżej przykład klawiatury, która ma 12 przycisków:
Zauważyć można 12-przyciskową klawiaturę, która ma w 3 kolumny i 4 rzędy, czyli w sumie jest 7 pinów do sterowania tymi przyciskami.
Jest prosta formuła na całkowitą liczbę pinów = liczba rzędów + liczba kolumn.
Jeśli spojrzymy na wewnętrzne połączenia tej 12-przyciskowej klawiatury, będzie wyglądać to, jak pokazano na poniższym rysunku:
Kolumny i wiersze są ze sobą połączone. Przypuśćmy, że nacisnę przycisk „1” na klawiaturze. Wówczas pierwszy wiersz i pierwsza kolumna zostaną zwarte i dowiem się, że przycisk „1” jest wciśnięty.
To samo dotyczy innych przycisków, na przykład naciskając przycisk „8” zewrę drugą kolumnę i trzeci wiersz. Każde wciśnięcie jest identyfikowane w analogiczny sposób.
Mówiąc prościej, na każdym przycisku zwierana jest inna kolumna i wiersz. W ten sposób trzeba tylko wykryć, który przycisk jest wciśnięty.
Całkiem proste, prawda? Przeczytaj również o projektach Arduino dla początkujących. Zatem wiemy już jak działa klawiatura. Spójrzmy jak połączyć klawiaturę z Arduino w Proteus ISIS.
Łączenie klawiatury z Arduino w Proteus ISIS
Zbuduj układ, jak pokazano na poniższym rysunku:
Mamy więc płytkę Arduino UNO wraz z klawiaturą i wyświetlaczem LCD.
Program został wykonany w taki sposób, że za każdym razem, gdy naciśniesz dowolny przycisk na klawiaturze, zostanie on wyświetlony na wyświetlaczu LCD.
Skopiuj poniższy kod i wklej go do swojego oprogramowania Arduino oraz pobierz z niego plik szesnastkowy.
#include <LiquidCrystal.h>
#include <Keypad.h>
const byte ROWS = 4; //cztery wiersze
const byte COLS = 3; //trzy kolumny
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
byte rowPins[ROWS] = {10, 9, 8, 7}; //piny wiersza klawiatury
byte colPins[COLS] = {13, 12, 11}; //piny kolumn klawiatury
// inicjalizacja biblioteki
LiquidCrystal lcd(A0, A1, A2, A3, A4, A5);
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup() {
// ustaw liczbę kolumn i wierszy wyświetlacza LCD:
lcd.begin(20, 4);
lcd.setCursor(1,2);
lcd.print("www.TheEngineering");
lcd.setCursor(4,3);
lcd.print("Projects.com");
lcd.setCursor(0,0);
}
void loop() {
char key = keypad.getKey();
if (key) {
lcd.print(key);
}
}
Wgraj plik szesnastkowy do Arduino UNO w Proteus ISIS i naciśnij przycisk URUCHOM.
Jeśli wszystko pójdzie dobrze, otrzymasz wynik, jak pokazano na poniższym rysunku:
Po naciśnięciu dowolnego przycisku na klawiaturze, pojawi się on również na wyświetlaczu LCD, jak pokazano na poniższym rysunku:
Podczas symulacji nacisnąłem wszystkie przyciski w rzędach na klawiaturze i widać, że wszystkie one pojawiły się na wyświetlaczu LCD.
W ten sposób możemy zaprojektować interfejs klawiatury Arduino.
Jeśli pracujesz z mikrokontrolerem PIC, powinieneś przeczytać ten artykuł.
Opublikowałem również samouczek dotyczący łączenia klawiatury z mikrokontrolerem 8051 w Proteus ISIS.
To wszystko na dzisiaj. W nadchodzącym poście podzielę się małym projektem, w którym zaprojektujemy automatyczny system blokowania za pomocą klawiatury.