Come interfaccia tastiera a membrana 4 × 4 con Arduino

Come interfaccia tastiera a membrana 4 × 4 con Arduino
Le tastiere sono la versione più piccola delle tastiere tipiche utilizzate con i computer. Queste tastiere possono eseguire un numero limitato di funzioni come l'immissione di una password o l'assunzione di input dagli utenti. Allo stesso modo, queste tastiere sono completamente configurabili. In breve, possiamo dire che la tastiera ha una dimensione di 4 × 4 con 16 chiavi configurabili. Questo discorso spiega la procedura per l'interfaccia di una tastiera con una dimensione di 4 × 4 con Arduino.

Come utilizzare la tastiera a membrana 4 × 4

Questa tastiera è dotata di 8 pin in totale e i primi quattro pin sono per le righe e i successivi 4 pin sono per le colonne. La tastiera ha 16 pulsanti di spinta collegati in modo tale che un pin di ciascun pulsante sia comunemente collegato alla riga e l'altro pin è comunemente collegato alla colonna.

Allo stesso modo, ci sono 4 righe e 4 colonne e tutte le quattro possono essere considerate come input perché la tastiera supporta il flusso bidirezionale della corrente attraverso i pulsanti.

La tastiera generica disponibile è mostrata nella figura sopra, ma possiamo configurare i pulsanti in base al nostro desiderio. Ad esempio, se abbiamo bisogno di più caratteri alfabetici, possiamo assegnare le chiavi a quei caratteri semplicemente modificando i legami chiave della chiave desiderata quando inizializza la tastiera nel codice Arduino.

Interfacciando la tastiera con Arduino

Per interfacciarsi la tastiera con Arduino abbiamo bisogno dei seguenti elementi che sono:

  • Tastiera 4 × 4
  • Arduino Uno
  • Collegamento dei fili

Lo schema per l'interfaccia della tastiera è:

Il codice Arduino compilato per l'interfaccia della tastiera è riportato di seguito:

#includere
// Definizione delle righe e delle colonne della tastiera
ROWS BYTE const = 4;
const byte cols = 4;
/ * Assegnazione dei valori per ciascuna chiave delle tastiere */
char keys [righe] [cols] =
'1', '2', '3', 'A',
'4', '5', '6', 'b',
'8', '9', 'a', 'c',
'*', '0', '#', 'd'
;
// Definizione dei pin di Arduino per la tastiera
Byte RowPins [ROWS] = 9,8,7,6;
byte colpins [cols] = 5,4,3,2;
// Creazione di una funzione per la tastiera
KeyPad MyKeyPad = KeyPad (MakeKeyMap (chiavi), Rowpins, Colpins, Rows, Cols);
void setup ()
Seriale.Inizia (9600); // Avvio della comunicazione seriale

void loop ()
CHARD CHIAVE = MyKeypad.getKey (); // per rilevare l'input della tastiera quando viene premuto il tasto
if (tasto) // se il tasto viene premuto, visualizza il suo valore in monitor seriale
Seriale.println (chiave);

Per interfacciarsi prima la tastiera, la libreria della tastiera viene scaricata utilizzando il software Arduino IDE:

Dopo aver installato prima la libreria, la libreria della tastiera è definita come con la parola chiave "include" e quindi le righe e le colonne sono definite. Successivamente i pin di Arduino sono assegnati alla tastiera, quindi viene creata la funzione per la tastiera che mappa i valori assegnati alle chiavi del pad.

Questa funzione mykeypad viene chiamata ogni volta che il tasto viene premuto e usando il seriale.stampa() Funzione Il valore assegnato alla rispettiva chiave viene visualizzato nel monitor seriale di Arduino IDE.

Produzione

Quando viene premuto un pulsante della tastiera, il valore dato a quel rispettivo pulsante verrà visualizzato sul monitor seriale. Ad esempio, se il primo pulsante viene premuto che è 1 e il tasto ha il valore di un 1 verrà visualizzato sul monitor seriale come questo:

Conclusione

Le tastiere sono utilizzate principalmente nei progetti o nelle applicazioni in cui è necessario fornire manualmente l'ingresso al dispositivo o dell'applicazione. Le tastiere sono disponibili in due dimensioni una è 3 × 3 e l'altra è 4 × 4 e queste tastiere sono configurabili come possiamo personalizzare le tastiere o dare i valori desiderati a ciascun pulsante. In questo articolo abbiamo interfacciato una tastiera 4 × 4 con la scheda Arduino Uno e gli input della tastiera sono visualizzati sul monitor seriale.