Serwisy partnerskie:
Close icon
Serwisy partnerskie

Łączenie klawiatury z Arduino

Kompletny samouczek objaśniający krok po kroku jak połączyć klawiaturę z Arduino w Proteus ISIS.
Article Image
1. Praktyczny Kurs Arduino - przewodnik po artykułach składających się na kurs 2. Czym jest Arduino? 3. Porównanie Arduino z Raspberry Pi 4. Instalacja sterownika Arduino w systemie Windows 5. Generowanie pliku hex w Arduino 6. Jak wgrać bootloader w Atmega328? 7. Rozpoczęcie pracy z oprogramowaniem Arduino 8. Rozpoczęcie programowania w Arduino 9. Programowe resetowanie Arduino 10. Wprowadzenie do Arduino UNO 11. Wprowadzenie do Arduino NANO 12. Wprowadzenie do Arduino Pro Mini 13. Wprowadzenie do Arduino Mega 2560 14. Wprowadzenie do Arduino Due 15. Wprowadzenie do Arduino Lilypad 16. Wprowadzenie do ATmega328 17. Biblioteka Arduino dla Proteusa 18. Projekt płytki drukowanej Arduino UNO dla Proteus ARES 19. Biblioteka Arduino Lilypad dla Proteusa 20. Odczyt z portu szeregowego Arduino 21. Projektowanie układów LCD z Arduino 22. Łączenie klawiatury z Arduino 23. Wartość ADC na LCD przy użyciu Arduino 24. Symulacja czujnika ultradźwiękowego w Proteusie 25. Połączenie czujnika ultradźwiękowego z Arduino 26. Wiele czujników ultradźwiękowych z Arduino 27. Czujnik temperatury 18B20 z Arduino 28. Jak używać 18B20 w Proteus ISIS? 29. Łączenie LM35 z Arduino w Proteusie 30. Współpraca siedmiosegmentowego wyświetlacza z Arduino w Proteusie 31. Łączenie czujnika PIR z Arduino 32. Współpraca czujnika płomienia z Arduino 33. Interfejs NRF24L01 z Arduino 34. NRF24L01+ i Arduino - Response Timed Out 35. Połączenie RFID RC522 z Arduino 36. Komunikacja Bluetooth z Arduino przy użyciu HC05 37. Sterowanie serwomotorem za pomocą Arduino w Proteusie 38. Projekt sterowania sygnalizacją świetlną przy użyciu Arduino 39. Przewijanie tekstu na matrycy LED 8×8 z użyciem Arduino 40. Inteligentny system oszczędzania energii 41. Komunikacja USB pomiędzy Androidem i Arduino 42. Automatyka domowa z użyciem XBee i Arduino 43. Domowy system bezpieczeństwa oparty na GSM 44. Wysyłanie SMS-ów za pomocą Arduino UNO i SIM900 45. Odbieranie SMS-ów za pomocą komend AT przy użyciu Arduino 46. Projekt rozpoznawania głosu przy użyciu EasyVR Shield 47. Rozpoczęcie pracy z programem EasyVR Commander 48. Połączenie EasyVR z Arduino UNO 49. Błąd szkolenia - niepowodzenie rozpoznawania w EasyVR 50. Połączenie XBee z komputerem 51. Wprowadzenie do modułu XBee 52. Interfejs XBee z Arduino 53. Rozpoczęcie pracy z kamerą Pixy 54. Jak zainstalować oprogramowanie kamery Pixy - PixyMon 55. Aktualizacja firmware kamery Pixy do najnowszej wersji 56. Jak wytrenować kamerę Pixy za pomocą komputera 57. Sterowanie kierunkiem obrotu silnika prądu stałego za pomocą Arduino 58. Sterowanie prędkością obrotów silnika prądu stałego za pomocą Arduino
Rozwiń cały spis treści Zwiń spis treści

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.

Uwaga: Jeśli nie wiesz, jak używać Arduino w Proteusie, przeczytaj ten artykuł. Opublikowałem również szczegółowy samouczek dotyczący łączenia LCD z Arduino. Kolejny artykuł, który musisz przeczytać, to jak pobrać plik hex z Arduino.

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.

Artykuł Interfacing of Keypad with Arduino opracowano w wersji polskiej na podstawie współpracy z portalem www.theengineeringprojects.com.

1. Praktyczny Kurs Arduino - przewodnik po artykułach składających się na kurs 2. Czym jest Arduino? 3. Porównanie Arduino z Raspberry Pi 4. Instalacja sterownika Arduino w systemie Windows 5. Generowanie pliku hex w Arduino 6. Jak wgrać bootloader w Atmega328? 7. Rozpoczęcie pracy z oprogramowaniem Arduino 8. Rozpoczęcie programowania w Arduino 9. Programowe resetowanie Arduino 10. Wprowadzenie do Arduino UNO 11. Wprowadzenie do Arduino NANO 12. Wprowadzenie do Arduino Pro Mini 13. Wprowadzenie do Arduino Mega 2560 14. Wprowadzenie do Arduino Due 15. Wprowadzenie do Arduino Lilypad 16. Wprowadzenie do ATmega328 17. Biblioteka Arduino dla Proteusa 18. Projekt płytki drukowanej Arduino UNO dla Proteus ARES 19. Biblioteka Arduino Lilypad dla Proteusa 20. Odczyt z portu szeregowego Arduino 21. Projektowanie układów LCD z Arduino 22. Łączenie klawiatury z Arduino 23. Wartość ADC na LCD przy użyciu Arduino 24. Symulacja czujnika ultradźwiękowego w Proteusie 25. Połączenie czujnika ultradźwiękowego z Arduino 26. Wiele czujników ultradźwiękowych z Arduino 27. Czujnik temperatury 18B20 z Arduino 28. Jak używać 18B20 w Proteus ISIS? 29. Łączenie LM35 z Arduino w Proteusie 30. Współpraca siedmiosegmentowego wyświetlacza z Arduino w Proteusie 31. Łączenie czujnika PIR z Arduino 32. Współpraca czujnika płomienia z Arduino 33. Interfejs NRF24L01 z Arduino 34. NRF24L01+ i Arduino - Response Timed Out 35. Połączenie RFID RC522 z Arduino 36. Komunikacja Bluetooth z Arduino przy użyciu HC05 37. Sterowanie serwomotorem za pomocą Arduino w Proteusie 38. Projekt sterowania sygnalizacją świetlną przy użyciu Arduino 39. Przewijanie tekstu na matrycy LED 8×8 z użyciem Arduino 40. Inteligentny system oszczędzania energii 41. Komunikacja USB pomiędzy Androidem i Arduino 42. Automatyka domowa z użyciem XBee i Arduino 43. Domowy system bezpieczeństwa oparty na GSM 44. Wysyłanie SMS-ów za pomocą Arduino UNO i SIM900 45. Odbieranie SMS-ów za pomocą komend AT przy użyciu Arduino 46. Projekt rozpoznawania głosu przy użyciu EasyVR Shield 47. Rozpoczęcie pracy z programem EasyVR Commander 48. Połączenie EasyVR z Arduino UNO 49. Błąd szkolenia - niepowodzenie rozpoznawania w EasyVR 50. Połączenie XBee z komputerem 51. Wprowadzenie do modułu XBee 52. Interfejs XBee z Arduino 53. Rozpoczęcie pracy z kamerą Pixy 54. Jak zainstalować oprogramowanie kamery Pixy - PixyMon 55. Aktualizacja firmware kamery Pixy do najnowszej wersji 56. Jak wytrenować kamerę Pixy za pomocą komputera 57. Sterowanie kierunkiem obrotu silnika prądu stałego za pomocą Arduino 58. Sterowanie prędkością obrotów silnika prądu stałego za pomocą Arduino
Rozwiń cały spis treści Zwiń spis treści
Tematyka materiału: Symulator Arduino, Klawiatura matrycowa, Klawiatura w Proteus
AUTOR
Źródło
www.theengineeringprojects.com
Udostępnij
UK Logo
Elektronika dla Wszystkich
Zapisując się na nasz newsletter możesz otrzymać GRATIS
najnowsze e-wydanie magazynu "Elektronika dla Wszystkich"