Szukaj kodu

Kod Arduino i wideo: 4x4 matrycowa czarna klawiatura

Kod Arduino i wideo: 4x4 matrycowa czarna klawiatura

W tym samouczku dowiemy się, jak używać klawiatury matrycowej 4x4 z Arduino do wykonywania akcji na podstawie naciśnięć klawiszy. Klawiatura umożliwia wprowadzanie wartości, takich jak „6”, „A”, „B”, „D”, i wykonywanie określonych zadań po naciśnięciu tych klawiszy. Postępując zgodnie z instrukcjami, nauczysz się, jak skonfigurować klawiaturę i napisać niezbędny kod, aby skutecznie z nią współpracować. Aby uzyskać dodatkowe wyjaśnienia, koniecznie obejrzyj wideo (w filmie o 00:00).

Objaśnienie sprzętu

Klawiatura matrycowa 4x4 składa się z 16 klawiszy rozmieszczonych w siatce 4x4. Każde naciśnięcie klawisza łączy określone wiersze i kolumny, co pozwala mikrokontrolerowi określić, który klawisz został naciśnięty. Klawiatura jest podłączona do Arduino za pomocą pinów cyfrowych, które zostaną skonfigurowane w kodzie do odczytywania naciśnięć klawiszy.

W tym projekcie użyjemy biblioteki Keypad, która upraszcza proces odczytywania danych z klawiatury. Biblioteka obsługuje logikę skanowania wierszy i kolumn, co ułatwia skupienie się na funkcjonalności projektu.

Szczegóły z karty katalogowej

ProducentGeneric
Numer częściKlawiatura matrycowa 4x4
Napięcie logiczne/IO5 V
Żywotność klawiszy1 000 000 naciśnięć
Wymiary68,5 mm x 9,8 mm
Waga23 g

  • Podłącz piny wierszy do pinów cyfrowych 2-5.
  • Podłącz piny kolumn do pinów cyfrowych 6-9.
  • Upewnij się, że okablowanie jest prawidłowe, aby uniknąć błędnych odczytów.
  • W razie potrzeby użyj rezystorów podciągających dla stabilności.
  • Wykonaj debouncing naciśnięć klawiszy w oprogramowaniu, aby uniknąć wielokrotnych odczytów.

Instrukcje okablowania

Aby podłączyć klawiaturę matrycową 4x4 do Arduino, zacznij od podłączenia pinów wierszy. Podłącz pierwszy pin wiersza do pinu cyfrowego 5, drugi pin wiersza do 4, trzeci pin wiersza do 3, a czwarty pin wiersza do 2. Następnie podłącz piny kolumn, zaczynając od pierwszego pinu kolumny do pinu cyfrowego 9, drugiego pinu kolumny do 8, trzeciego pinu kolumny do 7 i czwartego pinu kolumny do 6. Ta konfiguracja stosuje podejście okablowania od prawej do lewej, jak opisano w filmie (w filmie o 00:00).

Upewnij się, że przewody są bezpiecznie przymocowane do klawiatury i Arduino, aby zapobiec luźnym połączeniom. Możesz użyć złączy żeńskich, aby ułatwić podłączenia. Jeśli używasz płytki stykowej, upewnij się, że wszystkie połączenia są dobrze osadzone.

Przykłady kodu i omówienie

Poniższy kod inicjalizuje klawiaturę i konfiguruje komunikację szeregową. Pozwala to zobaczyć, który klawisz został naciśnięty w monitorze szeregowym.

#include 

const byte ROWS = 4; //cztery wiersze
const byte COLS = 4; //cztery kolumny
char keys[ROWS][COLS] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};

W tym fragmencie definiujemy liczbę wierszy i kolumn oraz tworzymy tablicę znaków keys, która odwzorowuje klawisze na klawiaturze. Ta tablica zostanie użyta do identyfikacji, który klawisz został naciśnięty.

void setup(){
  Serial.begin(9600);
}

W funkcji setup inicjalizujemy komunikację szeregową z prędkością 9600 bodów. Pozwala to na wyświetlanie naciśnięć klawiszy w monitorze szeregowym w celach debugowania i obserwacji.

void loop(){
  char key = keypad.getKey();
  if (key){
    Serial.print("Klawisz ");
    Serial.print(key);
    Serial.println(" został naciśnięty");
  } 
}

Funkcja loop ciągle sprawdza naciśnięcia klawiszy za pomocą keypad.getKey(). Jeśli klawisz został naciśnięty, wypisuje jego wartość w monitorze szeregowym. To tutaj zobaczysz informacje zwrotne w czasie rzeczywistym dotyczące swojego wejścia.

4x4 matrix black keypad

Demonstracja / Czego się spodziewać

Po prawidłowym podłączeniu okablowania i kodu powinieneś zobaczyć naciśnięcia klawiszy wyświetlane w monitorze szeregowym. Naciśnięcie „4” wywoła określoną akcję, którą możesz dostosować w kodzie. Ta konfiguracja umożliwia różne zastosowania, takie jak sterowanie urządzeniami na podstawie danych od użytkownika. Uważaj na odwróconą polaryzację i upewnij się, że wszystkie połączenia są bezpieczne, aby uniknąć problemów (w filmie o 00:00).

Znaczniki czasu wideo

  • 00:00 Wprowadzenie
  • 01:30 Podłączanie klawiatury
  • 02:45 Wyjaśnienie kodu
  • 04:00 Demonstracja naciśnięć klawiszy

Obrazy

4x4 matrix black keypad
4x4 matrix black keypad
4x4 matrix black keypad
4x4 matrix black keypad
4x4 matrix black keypad
4x4 matrix black keypad
4x4 matrix black keypad
4x4 matrix black keypad
4x4 matrix black keypad  back
4x4 matrix black keypad back
4x4 matrix black keypad
4x4 matrix black keypad dimensions
4x4 matrix black keypad
4x4 matrix black keypad
92-Arduino Code for 4x4 Black hard key keypad
Język: C++
/*
 * Original source: https://playground.arduino.cc/Code/Keypad
 * This is the Arduino code for a 4x4 keypad.
 * Watch the video for details and demo: https://youtu.be/1rfrvOTxtrg	
 *  * 
 * Written by Ahmad S. for Robojax Video channel www.Robojax.com
resources page for this code robojax.com/RJT75
 * Date: April 15, 2018, in Ajax, Ontario, Canada
 * Permission granted to share this code given that this
 * note is kept with the code.
 * Disclaimer: This code is "AS IS" and for educational purposes only.
 * This code has been downloaded from https://robojax.com
 * 
 */
/* @file HelloKeypad.pde
|| @version 1.0
|| @author Alexander Brevig
|| @contact alexanderbrevig@gmail.com
||
|| @description
|| | Demonstrates the simplest use of the matrix Keypad library.
|| #
*/
#include <Keypad.h>

const byte ROWS = 4; //four rows
const byte COLS = 4; //four columns
char keys[ROWS][COLS] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};

// connect the pins from right to left to pins 2, 3, 4, 5, 6, 7, 8, 9
byte rowPins[ROWS] = {5,4,3,2}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {9,8,7,6}; //connect to the column pinouts of the keypad

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

void setup(){
  Serial.begin(9600);
}
  
void loop(){
  char key = keypad.getKey();
    // just print the pressed key
   if (key){
    Serial.print("Key ");
    Serial.print(key);
    Serial.println(" is pressed");
  } 
  
  // This checks if 4 is pressed, then do something. Here we print the text, but you can control something.
  if (key =='4'){
    // Do something here if 4 is pressed
    Serial.println("Key 4 is pressed -> Action");
  }
}

Rzeczy, których możesz potrzebować

Zasoby i odniesienia

Brak zasobów.

Pliki📁

Biblioteki Arduino (zip)