Accesso con Pin (KeyPad)

PROGETTO 023 – KeyPad 4×4 per digitare un Pin d’accesso.

Nuovo progetto tutto dedicato a voi!

Siamo al ventitreesimo , e per accontentare le molte richieste d’aiuto che mi sono arrivate via mail, Vi mostro come realizzare un sistema d’accesso a Pin che utilizza una matrice di pulsanti 4×4 di tipo flat. Si, sto parlando del modulo Keypad presente nella maggior parte dei kit commerciali di Arduino.

Il sistema simula un protocollo d’accesso gestito da Pin, per l’accensione di una led di stato che rappresenta l’avvenuto riconoscimento.

Il led è solo una soluzione di semplificazione progettuale, al suo posto è possibile inserire un qualsiasi altro attuatore come, per esempio, un relè per gestire un’elettro-serratura. Cosi facendo, con pochi componenti, abbiamo realizzato una serratura domotica che si apre digitando un Pin. Figo vero?

Lista dei componenti utilizzati e altro

Schema di collegamento

In base al modello di KeyPad i Pin di collegamento possono cambiare. Controllare sempre il datasheet e il codice per capire dove collegare i Pin colonna e dove i Pin di riga.
Questi sono i collegamenti ai Pin Arduino per la KeyPad utilizzata nel progetto.

Come funziona?

All’interno del codice da caricare sull’Arduino, sono presenti due variabili che rappresentano rispettivamente il Pin d’accesso iniziale e quello d’amministrazione.

//Ricordatevi che il Pin d'accesso dev'essere diverso dal Pin Admin
char Dato_Letto, Dato_Memorizzato[N_C], Pin[N_C] = "1234", PinAdmin[N_C] = "2803";

Il Pin d’accesso permette di attivare il led verde, se digitato in modalità Play. Mentre il Pin d’amministrazione permette di passare dalla modalità Play a quella Rec.

Si, il sistema è suddiviso in due modalità di funzionamento. Una dedicata alla verifica del della KeyPad ed eventualmente al controllo delle uscite, e l’altra che permette di cambiare il Pin d’accesso con uno nuovo senza dover ricaricare il codice modificato dal Pc all’Arduino.

Quando alimentiamo l’Arduino ci troviamo subito nella modalità Play e se proviamo a digitare un un Pin, ad ogni pressione dei pulsanti viene generato un suono da un buzzer.

Questo per avere una sorta feedback acustico che ci fa capire se abbiamo premuto, o meno, correttamente. Anche quando l’accesso viene consentito o negato, oppure quando si passa da una modalità all’altra, vengono generati dei suoni. Sempre diversi in modo da orientare l’utilizzatore.

Se il Pin viene digitato in maniera corretta i led verde si accenderà per un tempo X (modificando la variabile T_Accesso), per poi spegnersi e ritornare come prima. Al contrario se il Pin digitato non sarà corretto un suono grave ci avvertirà e non succederà nulla.

I led di controllo in realtà sono due, mi dimenticavo di quello rosso.

Digitando il Pin d’amministrazione si entra quasi rapidamente nella modalità Rec. Ora qualsiasi Pin digiteremo diventerà quello d’accesso. Ricordatevi che il Pin d’accesso è quello d’amministrazione devono sempre essere diversi. Questo per evitare conflitti.

Senza continuare a spiegare il suo funzionamento o come è strutturato programma, vi invito a scaricare il codice e provarlo da soli. Come sempre, una volta estratto tutto il contenuto del file zip, dovete copiare la libreria nella cartella “libraries” del vostro IDE oppure scaricarla dal gestore delle librerie.

Aprite solo il file rinominato come la cartella, tutti gli altri si apriranno in automatico.

Scarica lo sketch da questo link:
Progetto_023

Tutti i file compressi disponibili per il download, sono stati realizzati utilizzando il software IZArc. Il software è totalmente gratuito e scaricabile da qui. Per una corretta estrazione dei file, Vi consiglio di scaricarlo.

Nella sezione 100 Progetti con Arduino Uno puoi trovare articoli simili con file sorgenti liberamente scaricabili.

Per qualsiasi info, per un aiuto nella realizzazione dei vostri progetti, o più semplicemente per segnalarci degli errori o link corrotti, utilizzate la pagina Contattaci.

Grazie per aver letto questo articolo, se puoi leggine degli altri, commenta per sostenere il blog e iscriviti al mio canale Youtube. Seguimi anche su Instagram e Facebook dove puoi anche pubblicare i tuoi progetti sul gruppo Arduino For Peoplem.

You may also like...

13 Responses

  1. simone ha detto:

    ciao scusa io scarico lo sketch ma non concludo nulla non mi da il circuito di programmazione

    • peoplem ha detto:

      Ciao Simone, non riesco a capire cosa non ti da. Si più specifico. Quando scarichi il file zip dentro è presente il codice che dovrai aprire con l’IDE di Arduino. Per scompattarlo devi utilizzare iZarc come ben scritto nell’articolo.

  2. GEORGE DARIE ha detto:

    Ho la stesa problema citata in alto

  3. Pietro ha detto:

    Ciao Simone, innanzitutto grazie e complimenti per i tuoi video e tutorial. Vorrei provare a realizzare questo progetto (accesso con pin Keypad). Ho scaricato iZarc (comodissimo e molto intuitivo, anche in lingua italiana) e quindi ho aperto il file rinominato come la cartella (che in realtà ne contiene 3, ovvero _023_Accesso_con_Pin.ino, Play.ino e Rec.ino).

    Una volta lanciato in file “_023_Accesso_con_Pin.ino” , nell’IDE vedo tutti e tre i file, organizzati in tre “schede” , visibili in alto, sempre sullo stesso sketch.

    E’ corretto? Posso procedere alla complazione/caricamento o sbaglio qualcosa? Non ho mai visto un programma suddiviso in questo modo.

    Scusa per il lungo messaggio, magari la tua risposta può essere utile anche ad altri. A presto, Pietro.

    • peoplem ha detto:

      Ciao Pietro, parto col dire ceh no nmi chiamo Simone. Mi chiamo Vito!
      Si stai facendo bene. Ho suddiviso il programma in tre Tab per, eventualmente in futuro, rendere l’aggiunta di funzioni semplice.
      Tutto il sofware risulta cosi essere più ordinato e di facile comprensione (almeno per me).

      • Pietro ha detto:

        Ciao Simone…abbi pazienza. La fretta, la distrazione e la stanchezza hanno avuto la meglio. Grazie mille della risposta e vedo di compilare il tutto. Appena mi arriva il materiale mancante, rendo pubblico qui il risultato !! Grazie ancora e a presto, Pietro.

  4. Pietro ha detto:

    Sono ancora io. Nella prima parte di sketch, dove si assegnano i pin di ingresso su arduino (ai led e alla tastiera) non vedo la riga di codice relativa al buzzer, nè assegnazione del pin (dallo schema sembra il 10?) e neanche la riga di codice che lo gestisce. Dimenticanza? Potresti gentilmente commentare qui sotto come procedere? Grazie ancora, Pietro.

    • peoplem ha detto:

      Il sofware cosi come scritto funziona perfettamente. Garda bene le altre Tab, troverai sicuramente quello che cerchi. Quello che vedi in funzione sul video è lo stesso codice che ho caricato sul Blog.

      • Pietro ha detto:

        Perfetto. Verifico e non vedo l’ora di provare questo progetto !! So già dove poter trovarne la giusta applicazione. A presto e complimenti ancora, Pietro.

  5. Pietro ha detto:

    Ciao ancora Vito. Abbi tanta ma tanta pazienza. Ho controllato anche le altre Tab, ma proprio non riesco a trovare la riga di codice che identifica il PIN 10 al buzzer. Penso a questo punto di non riuscire davver a trovarlo…e proverò il codice lo stesso. Mi potresti comunque aiutare a capire dove è la parte di codice che gestisce questo benedetto buzzer? Grazie ancora e a presto, Pietro.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *