In offerta!

Tastiera Matrix 4×4 16 tasti per Arduino

Il prezzo originale era: 5,15 €.Il prezzo attuale è: 2,69 €.

Tastiera Matrix 4×4 16 tasti per Arduino

Disponibile su ordinazione

COD: ARD0043 Categorie: ,

Descrizione

[vc_row][vc_column][vc_column_text]

📦 Descrizione Completa del Modulo Tastiera Matriciale 4×4 (Keypad 4×4)

La Tastiera Matriciale 4×4 è un modulo di input composto da 16 tasti disposti su una matrice di 4 righe e 4 colonne (4×4), per un totale di 16 possibili combinazioni di tasti: 0-9, A-D, *, #.

✅ Caratteristiche tecniche:

  • Numero di tasti: 16 (4 righe × 4 colonne)
  • Layout tipico dei tasti:
    [ 1 ] [ 2 ] [ 3 ] [ A ]  
    [ 4 ] [ 5 ] [ 6 ] [ B ]  
    [ 7 ] [ 8 ] [ 9 ] [ C ]  
    [ * ] [ 0 ] [ # ] [ D ]  
    
  • Interfaccia: 8 pin digitali (4 per le righe, 4 per le colonne)
  • Tensione operativa: 3.3V – 5V
  • Tipo di connessione: intestazioni pin a passo 2.54mm
  • Compatibilità: Arduino, ESP32, ESP8266, Raspberry Pi, e microcontrollori in generale
  • Materiale: plastica e circuito flessibile

📚 Funzionamento

Il modulo funziona attraverso la scansione di righe e colonne. Premendo un tasto, si crea un collegamento elettrico tra una riga e una colonna. Arduino può così determinare quale tasto è stato premuto leggendo lo stato dei pin.


🔌 Collegamento con Arduino

Il modulo ha 8 pin:

[ R1, R2, R3, R4, C1, C2, C3, C4 ]

Esempio di collegamento con Arduino UNO:

Tastiera 4×4 Arduino UNO
R1 D9
R2 D8
R3 D7
R4 D6
C1 D5
C2 D4
C3 D3
C4 D2

📦 Libreria necessaria

Per gestire facilmente la tastiera, si consiglia l’uso della libreria Keypad.h, che permette la scansione automatica dei tasti.

🔧 Installazione libreria Keypad:

  1. Apri l’IDE di Arduino
  2. Vai su Sketch > Include Library > Manage Libraries
  3. Cerca “Keypad” di Mark Stanley e Alexander Brevig
  4. Clicca su Install

🧪 Esempio di codice

#include <Keypad.h>

// Definizione righe e colonne
const byte ROWS = 4;
const byte COLS = 4;

// Mappa dei tasti sulla tastiera
char keys[ROWS][COLS] = {
  { '1', '2', '3', 'A' },
  { '4', '5', '6', 'B' },
  { '7', '8', '9', 'C' },
  { '*', '0', '#', 'D' }
};

// Pin di connessione tra tastiera e Arduino
byte rowPins[ROWS] = {9, 8, 7, 6}; // Righe → D9, D8, D7, D6
byte colPins[COLS] = {5, 4, 3, 2}; // Colonne → D5, D4, D3, D2

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

void setup() {
  Serial.begin(9600);
  Serial.println("Tastiera pronta");
}

void loop() {
  char key = keypad.getKey();
  
  if (key) {
    Serial.print("Tasto premuto: ");
    Serial.println(key);
  }
}

🧭 Guida alla programmazione

📌 Funzioni utili della libreria Keypad:

Funzione Descrizione
getKey() Ritorna il tasto premuto o NO_KEY se nessuno
isPressed(char k) Ritorna true se il tasto k è premuto
waitForKey() Blocca il programma finché non viene premuto un tasto
addEventListener(fn) Permette di registrare una funzione da eseguire al cambio stato
setDebounceTime(ms) Imposta il tempo di debounce
setHoldTime(ms) Imposta il tempo per considerare un tasto “tenuto premuto”

🧩 Esempi di utilizzo avanzato

1. Sblocco con codice segreto

#define PASSWORD "1234"
String input = "";

void loop() {
  char key = keypad.getKey();

  if (key) {
    input += key;
    Serial.println(input);
    
    if (input.length() == 4) {
      if (input == PASSWORD) {
        Serial.println("Accesso consentito");
      } else {
        Serial.println("Codice errato");
      }
      input = ""; // reset input
    }
  }
}

2. Controllo menu con tasti A-D

void loop() {
  char key = keypad.getKey();
  if (key) {
    switch (key) {
      case 'A':
        Serial.println("Opzione: Accensione");
        break;
      case 'B':
        Serial.println("Opzione: Spegnimento");
        break;
      case 'C':
        Serial.println("Opzione: Reset");
        break;
      case 'D':
        Serial.println("Opzione: Info");
        break;
      default:
        Serial.print("Tasto generico: ");
        Serial.println(key);
    }
  }
}

🔍 Suggerimenti

  • Debounce automatico: la libreria gestisce già il rimbalzo dei tasti.
  • Stato continuo: getKey() restituisce solo una volta il tasto premuto; per tenuta prolungata, usare getState() o isPressed().
  • Pull-up/pull-down: non servono resistenze esterne, la tastiera agisce da contatto meccanico.
  • Multifunzione: puoi usare la tastiera per navigare menu, inserire codici o controllare dispositivi.

🧾 Conclusione

La tastiera 4×4 è uno strumento semplice ma molto utile per sistemi embedded come Arduino. Grazie alla libreria Keypad, la gestione dei tasti diventa molto intuitiva, permettendo lo sviluppo rapido di interfacce utente per progetti come:

  • Sistemi di allarme
  • Blocchi numerici
  • Interfacce di menu
  • Serrature elettroniche
  • Controlli remoti

[/vc_column_text][/vc_column][/vc_row]

Informazioni aggiuntive

Peso 15 g