Questo tutorial è parte di: Tastiere
Qui sono elencati tutti i video della tastiera.
Utilizzo di un tastierino 4x3 con Arduino
In questo tutorial esploreremo come utilizzare un tastierino 4x3 con un Arduino per leggere le pressioni dei tasti. Questo tastierino può essere impiegato in vari progetti, ad esempio per creare una semplice interfaccia di input per un sistema di sicurezza o qualsiasi applicazione che richieda l'immissione da parte dell'utente. Alla fine di questa guida sarai in grado di rilevare le pressioni dei tasti e rispondere a tasti specifici.

Assicurati di controllare il video allegato per una dimostrazione visiva del cablaggio e dell'implementazione del codice (nel video a 00:00).
L'hardware spiegato
I componenti principali per questo progetto includono il tastierino 4x3 e la scheda Arduino. Il tastierino è composto da una matrice di pulsanti disposti in 4 righe e 3 colonne. Quando viene premuto un pulsante, collega una riga specifica a una colonna specifica, permettendo all'Arduino di identificare quale pulsante è stato premuto.
La scheda Arduino funge da controllore centrale che legge gli ingressi del tastierino. Utilizza la libreria Keypad, che semplifica la gestione del tastierino a matrice e rende più semplice rilevare la pressione dei tasti.
Dettagli della scheda tecnica
| Produttore | Diversi |
|---|---|
| Numero di parte | Tastierino 4x3 |
| tensione logica | 5 V |
| Corrente di esercizio | ≤ 20 mA |
| Periodo di validità della chiave | ≥ 1,000,000 pressioni |
| Pacchetto | Tastiera matriciale |
- Collega correttamente i pin del tastierino ai pin digitali dell'Arduino.
- Usa resistori pull-up o pull-down se necessario, a seconda della tua configurazione.
- Assicurati che la libreria Keypad sia inclusa nel tuo IDE di Arduino.
- Gestisci il rimbalzo delle pressioni dei tasti nel software per evitare letture multiple.
- Verifica ogni tasto per confermare il corretto cablaggio e il funzionamento.
Istruzioni di cablaggio

Per cablare il tastierino 4x3 all'Arduino, collegherai i pin delle righe e delle colonne del tastierino ai pin digitali dell'Arduino. Collega i pin delle righe (tipicamente 4 pin) ai pin2,3,4, e5sull'Arduino. I pin delle colonne (tipicamente 3 pin) dovrebbero essere collegati ai pin6,7, e8.
Assicurati di collegare il pin di massa del keypad alla massa dell'Arduino e il pin di alimentazione all'uscita 5V. Questa configurazione consentirà all'Arduino di leggere lo stato di ogni tasto quando viene premuto, utilizzando la libreria Keypad per gestire la scansione della matrice.
Esempi di codice e guida passo-passo
Il codice seguente inizializza il tastierino e stampa il tasto premuto sul monitor seriale. I valori dei tasti sono memorizzati in un array di caratteri.
const byte ROWS = 4; //four rows
const byte COLS = 3; //three columns
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};IlkeysL'array definisce il layout del tastierino, che corrisponde alla disposizione fisica dei tasti. Ogni carattere rappresenta un pulsante sul tastierino.

Successivamente, configuriamo il tastierino nelsetup()funzione:
void setup(){
Serial.begin(9600);
Serial.println("Robojax 4x3 keypad");
}Questo segmento inizializza la comunicazione seriale a 9600 baud, permettendoci di visualizzare i tasti premuti nel monitor seriale.
Infine, il ciclo controlla la pressione dei tasti e risponde di conseguenza:
void loop(){
char key = keypad.getKey();
if (key){
Serial.println(key);
}
if (key =='4'){
Serial.println("Key 4 is pressed");
}
}Qui il programma verifica se è premuto un tasto qualsiasi usandokeypad.getKey(). Se viene premuto un tasto, stampa il valore del tasto. Inoltre, se viene premuto il tasto '4', viene visualizzato un messaggio specifico.
Dimostrazione / Cosa aspettarsi
Quando la configurazione è completa, premendo un qualsiasi tasto sul tastierino il carattere corrispondente dovrebbe essere visualizzato nel monitor seriale. Se viene premuto il tasto '4', verrà stampato un messaggio speciale che indica l'attivazione di quel tasto. Questa funzionalità ti permette di sviluppare applicazioni più complesse partendo da questa base.
Fai attenzione agli ingressi fluttuanti che possono portare a comportamenti erratici. Assicurati che tutte le connessioni siano sicure e testa ogni tasto per confermarne il corretto funzionamento (nel video a 00:00).
Questo tutorial è parte di: Tastiere
- Codice Arduino e video per una tastiera a quattro tasti
- Codice Arduino e video: tastiera nera a matrice 4x4
- Build a Simple Electronic Lock with Keypad and LCD Using Arduino
- Controlling an 8-channel relay with a 4x3 keypad
- Come usare il 4x4 Soft Keypad con Arduino
- How to Use a 5x4 20-Key Keypad with Arduino to Detect Strings
- Lesson 67: Controlling an 8-Channel Relay with a Keypad Using Arduino
- 1602 LCD Keypad Shield: Basic Code
/*
* Library taken from: https://playground.arduino.cc/Code/Keypad
* This is the Arduino code for a 4x3 keypad.
* Watch the video for details and demo: http://youtu.be/qIDzzG2LUtg
resources page: www.Robojax.com/RJT104
*
* Modified by Ahmad Shamshiri for the Robojax Video channel: www.Robojax.com/RJT104
* Date: July 11, 2018 at 19:56 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
* Watch video instructions for this code:
*
*/
/* @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 = 3; //three columns
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
byte rowPins[ROWS] = {2, 3, 4, 5}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {6,7,8}; //connect to the column pinouts of the keypad
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup(){
// Robojax 4x3 keypad test
Serial.begin(9600);
Serial.println("Robojax 4x3 keypad");
}
void loop(){
// Robojax 4x3 keypad test
char key = keypad.getKey();
// Just print the pressed key
if (key){
Serial.println(key);
}
// This checks if 4 is pressed, then do something. Here we print the text, but you can control something.
if (key =='4'){
// If key matches what you are looking for
Serial.println("Key 4 is pressed");
}
}
Cose di cui potresti avere bisogno
-
Amazon
Risorse e riferimenti
Nessuna risorsa ancora.
File📁
File Fritzing
-
Tastiera a matrice a membrana 4x3
Membrane Matrix Keypad 4x3.fzpz0.01 MB
Altri file
-
Libreria per tastiera LCD
robojax-1602_LCD_keypad.zip