Gestione tastiere a ultimo aggiornamento 23 giugno 2019 |
|
l tastierino numerico č una periferica di input, ne
esistono di vari formati. I tasti sono disposti in formato matriciale.
La sua struttura a righe e colonne, permette di verificare facilmente
con l'ausilio di un microcontrollore quale dei tasti č stato digitato
tramite la lettura dei pin di output del tastierino stesso.
Il tastierino visibile in figura ha 16 tasti e presenta un'uscita con 8
pin che permettono la lettura della matrice righe/colonne:
|
SCHEMA ELETTRICO |
La tastiera puň essere trovata sul sito HOMOTIX, ricordo che quanti inseriranno in codice "ADRIROBOT_19" potranno utilizzare di uno speciale sconto, sono disponibili una tastiera 16 tasti e una tastiera 12 tasti.
Tutti i componenti sopra riportati sono presenti nel Kit Arduino Avanzato con Arduino Uno R3 Compatibile, venduto dal sito HOMOTIX, il kit č adatto a utenti esperti e principianti, con i componenti forniti č possibile realizzare una ampia varietŕ di progetti.
Per facilitare la decodifica dei tasti si puň
utilizzare Arduino con uno sketch che utilizza l'apposita libreria Keypad
che puň essere scaricata a questo link:
https://github.com/Chris--A/Keypad
, oppure, molto piů facilmente utilizzare l'apposita funzione fornita
dall'IDE.
Per cui andare al menu Sketch-> #includi
libreria -> Gestione librerie
ricercare keypad, saranno mostrate varie librerie, personalmente ho scelto quella realizzata da e scritta da Mark Stanley e Alexander Brevig.
Premendo su More info apparirŕ la possibilitŕ di scelta delle versioni e il tasto Installa
Premendolo la libreria verrŕ istallata e apparirŕ la versione attuale e la scritta INSTALLED
Ora andando sotto File ->Esempi e ricercando tra le librerie personalizzate, apparirŕ quella Keypad con alcuni esempi
Funzioni della libreria KeyPad
void
begin(makeKeymap(userKeymap))
Inizializza la mappa della tastiera, č
uguale a userKeymap
char waitForKey()
Questa funzione resta in attesa di una pressione di un tasto
Attenzione: Blocca tutta l'esecuzione del programma fino a quando non viene premuto un tasto.
Ciň significa che per esempio non lampeggiano i LED, non c'č nessun aggiornamento
dello schermo LCD.
char getKey()
Restituisce il tasto che viene premuto, se presente. Questa funzione non
blocca l'esecuzione del programma.
KeyState getState()
Restituisce lo stato attuale di uno qualsiasi dei tasti.
I quattro stati sono IIDLE, PRESSED, RELEASED eHOLD
boolean keyStateChanged()
Permette di sapere se vi č stato un cambiamento di stato.
setDebounceTime(unsigned int time)
Imposta la quantitŕ di millisecondi che l'utente dovrŕ tenere premuto un pulsante
fino a quando lo stato HOLD č attivato.
setDebounceTime (tempo unsigned int)
Imposta la quantitŕ di millisecondi che la tastiera attenderŕ fino a che non
accetta una nuova pressione del tasto / KeyEvent. Questo č il "tempo di ritardo"
metodo antirimbalzo.
addEventListener(keypadEvent)
Attivare un evento se la tastiera č utilizzata.
Esempio schema minimo di collegamento
Breadboard 830 punti |
Tastiera 16 tasti |
Jumper Dupont M/M 200mm |
Uno R3 ATmega328 Arduino Compatibile |
Lo sketch utilizzato sotto riportato, verifica i collegamenti della tastiera se sono corretti, premendo i vari tasti, attivando i monitor seriale saranno stampati i caratteri riportati sui relativi tasti premuti.
|
Gestione di due relč tramite tastiera
Breadboard 830 punti |
Tastiera 16 tasti |
2 moduli relč - 5V |
Jumper Dupont M/M 200mm |
Uno R3 ATmega328 Arduino Compatibile |
Lo sketch utilizzato sotto riportato, gestisce due moduli relč, per attivarli occorre premere:
I tasti 1 e 4 per il relč 1
I tasti 2 e 5 per il relč 2
NOTA: dato che la disposizione dei pin dei moduli relč non č standard occorre verificare quella del proprio modello. Anche il circuito di comando della bobina non č standard, alcune bobine si eccitano tramite il comando HIGH e altri con il comando LOW, nel caso modificare lo sketch
|
Gestione di due relč tramite tastiera - altra versione
Altra versione del comando tramite tastiera di due relč in questo caso viene utilizzato una scheda 1000Pads-Mini 2Relay board, lo sketch č identico al precedente.
Circuito di prova realizzato su breadboard
Nella foto č visibile i led rosso del relč attivato
Elenco revisioni | |
23/06/2019 | Aggiornato pagina |
13/10/2012 | Emissione preliminare |