Contatti
Scrivici e saremo felici di consigliarti.
Hai qualche domanda o desideri parlare direttamente con un rappresentante?
By Pietro
Se stai cercando un modo per controllare più pulsanti con il tuo Arduino, una matrice di pulsanti potrebbe essere proprio ciò di cui hai bisogno. Una matrice di pulsanti ti consente di collegare più pulsanti a un singolo set di pin sul tuo Arduino, risparmiando pin preziosi per altri usi. Una delle configurazioni di matrici di pulsanti più comuni è la matrice 4×4, che ti consente di collegare fino a 16 pulsanti utilizzando solo 8 pin sul tuo Arduino.

Per utilizzare una matrice di pulsanti 4×4 con Arduino, dovrai collegare la matrice ai pin digitali di Arduino e utilizzare una libreria per leggere la pressione dei pulsanti. Sono disponibili diverse librerie a questo scopo, inclusa la libreria Keypad, inclusa nell'IDE di Arduino. Una volta collegata la matrice e installata la libreria, è possibile utilizzare le funzioni della libreria per rilevare quale pulsante è stato premuto.
L'uso di una matrice di pulsanti 4×4 con Arduino apre un'ampia gamma di possibilità per controllare i tuoi progetti. Che tu stia costruendo un controller di gioco, uno strumento musicale o un dispositivo di input personalizzato, una matrice di pulsanti può aiutarti a salvare pin preziosi sul tuo Arduino e semplificare la progettazione del circuito. Con la libreria giusta e un po' di programmazione, puoi facilmente aggiungere un sistema di input versatile e potente al tuo Progetti Arduino.

Una matrice di pulsanti è una griglia di pulsanti disposti in righe e colonne. La matrice di pulsanti 4×4 è una configurazione comune che può essere utilizzata con un microcontrollore Arduino per vari progetti. Comprendere come funziona la matrice dei pulsanti è essenziale per progettare e implementare un sistema efficace.
La matrice dei pulsanti 4×4 è composta da sedici pulsanti disposti in una griglia 4×4. La matrice ha quattro righe e quattro colonne. Ogni pulsante è collegato a una combinazione univoca di una riga e una colonna. Le righe e le colonne sono collegate ai pin di ingresso/uscita digitale del microcontrollore.
Migliori Codice postale del Regno Unito il layout e il design della matrice sono essenziali per garantire che ogni pulsante sia identificato in modo univoco. Le righe e le colonne sono disposte in modo che non ci siano due pulsanti che condividano la stessa combinazione di riga e colonna. Il layout può essere ottimizzato per ridurre al minimo il numero di pin utilizzati per collegare la matrice al microcontrollore.
Il funzionamento della matrice dei pulsanti si basa sul principio della scansione. Il microcontrollore esegue la scansione delle righe e delle colonne della matrice per rilevare quale pulsante viene premuto. Il processo di scansione prevede l'impostazione del pin di uscita digitale di ciascuna riga su ALTO e la lettura dei pin di ingresso digitale della colonna. Quando si preme un pulsante, la riga e la colonna corrispondenti vengono cortocircuitate e il microcontrollore rileva un segnale logico BASSO sul pin di ingresso digitale della colonna.
Il processo di scansione viene ripetuto per ogni riga e il microcontrollore rileva quale pulsante viene premuto in base alla combinazione di riga e colonna che produce un valore logico BASSO. Il microcontrollore può quindi eseguire il codice appropriato in base al pulsante premuto.
In conclusione, comprendere il layout e i principi di funzionamento della matrice di pulsanti 4×4 è essenziale per progettare e implementare un sistema efficace. Utilizzando il principio di scansione, il microcontrollore può rilevare quale pulsante viene premuto ed eseguire il codice appropriato.

Prima di iniziare a integrare la matrice di pulsanti 4×4 con Arduino, è necessario raccogliere i seguenti componenti:
Una volta che hai tutti i componenti, puoi iniziare a collegare la matrice di pulsanti 4×4 con la scheda Arduino. Ecco una guida passo passo:
#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'}
};
byte rowPins[ROWS] = {2, 3, 4, 5}; // Connect to the row pinouts of the keypad
byte colPins[COLS] = {6, 7, 8, 9}; // 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();
if (key) {
Serial.println(key);
}
}
Questo è tutto! Hai integrato con successo la matrice di pulsanti 4×4 con Arduino. Ora puoi utilizzare la tastiera per inserire dati e controllare i tuoi progetti Arduino.
Prima di poter iniziare a programmare il tuo Arduino per una matrice di pulsanti, devi configurare l'IDE Arduino. Codice postale del Regno Unito Arduino IDE è una piattaforma software che ti consente di scrivere e caricare codice sulla tua scheda Arduino. Puoi scaricare Arduino IDE da sito ufficiale di Arduino.
Dopo aver scaricato e installato l'IDE Arduino, è necessario selezionare la scheda e la porta corrette. Per fare questo, vai a Tools menu e selezionare Board e poi scegli la tua scheda Arduino. Successivamente, vai a Tools menu di nuovo e selezionare Port e poi scegli la porta a cui è collegata la tua scheda Arduino.
Per programmare il tuo Arduino per una matrice di pulsanti, devi scrivere un codice che scansioni la matrice e rilevi quando viene premuto un pulsante. Puoi usare il Keypad libreria per semplificare questo processo. IL Keypad La libreria consente di definire la dimensione e il layout della matrice dei pulsanti e fornisce funzioni per la scansione della matrice e il rilevamento della pressione dei pulsanti.
Ecco uno snippet di codice di esempio che esegue la scansione di una matrice di pulsanti 4×4:
#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'}
};
byte rowPins[ROWS] = {9, 8, 7, 6}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {5, 4, 3, 2}; //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();
if (key != NO_KEY){
Serial.println(key);
}
}
In questo esempio, definiamo una matrice di pulsanti 4×4 e specifichiamo le connessioni dei pin per le righe e le colonne della matrice. Creiamo quindi un Keypad oggetto e passare il layout della matrice e le connessioni dei pin. Infine, utilizziamo il getKey() funzione per scansionare la matrice e rilevare la pressione dei pulsanti.
Un problema comune con le matrici di pulsanti è che possono produrre più pressioni di pulsanti quando un pulsante viene premuto o rilasciato. Questo è noto come “rimbalzo” e può essere causato dalle proprietà fisiche del pulsante o dalle proprietà elettriche della matrice.
Per evitare il rimbalzo, puoi utilizzare una tecnica chiamata “debouncing”. Il antirimbalzo comporta l'aggiunta di un ritardo tra la pressione dei pulsanti per consentire la stabilizzazione dei segnali elettrici. Puoi usare il Bounce2 libreria per semplificare questo processo. IL Bounce2 la libreria fornisce funzioni per eliminare la pressione e il rilascio dei pulsanti.
Ecco uno snippet di codice di esempio che utilizza il file Bounce2 libreria per antirimbalzare la pressione dei pulsanti:
#include <Keypad.h>
#include <Bounce2.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'}
};
byte rowPins[ROWS] = {9, 8, 7, 6}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {5, 4, 3, 2}; //connect to the column pinouts of the keypad
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
Bounce debouncer = Bounce();
void setup(){
Serial.begin(9600);
debouncer.attach(0, INPUT_PULLUP);
debouncer.interval(25);
}
void loop(){
char key = keypad.getKey();
if (key != NO_KEY){
debouncer.update();
if (debouncer.fell()){
Serial.println(key);
}
}
}
In questo esempio, usiamo il Bounce2 libreria per antirimbalzare la pressione dei pulsanti. Creiamo un Bounce oggetto e collegarlo al pin a cui è collegato il pulsante. Usiamo quindi il fell() funzione per rilevare quando il pulsante viene premuto e rimbalzare il segnale utilizzando interval() funzione.
Hai qualche domanda o desideri parlare direttamente con un rappresentante?