Parte III
Casa e giardino interattivi
I listati e le risorse grafiche dei capitoli sono disponibili sul sito
www.hoeplieditore.it/6323-9.
Capitolo 8
Un sistema di controllo degli accessi
In questo capitolo
Lettura di un tastierino numerico
Uso degli array di caratteri
Nessun genio che si rispetti lascerebbe il proprio covo in balìa degli invasori. Il progetto presentato in questo capitolo prevede la realizzazione di un sistema di controllo degli accessi che sblocca una porta solo introducendo il codice corretto in un tastierino numerico standard, a dieci tasti. Il sistema visualizza in tempo reale il codice su un display LED a sette segmenti e una volta inserito il codice corretto mostra un messaggio di benvenuto.
Il progetto utilizza un display a sette segmenti di quattro cifre, del tipo che avete sicuramente visto nei film di spionaggio degli anni Sessanta e un tastierino standard con una disposizione dei tasti di tipo telefonico. La porta viene chiusa con un meccanismo di bloccaggio elettrico che si sblocca solo inserendo il codice corretto.
Potete acquistare sistemi di questo tipo presso i negozi di ferramenta e serrature, ma è molto più divertente costruirselo da soli e sfruttare l’occasione per acquisire ancora più competenze nell’utilizzo di Arduino. È inoltre possibile modificare il sistema in modo che accetti l’input da un lettore di schede RFID (lo vedremo nel Capitolo 9).
I componenti
La Figura 8.1 mostra i componenti necessari per il progetto.
Creeremo il prototipo su una breadboard per assicurarci che tutto funzioni correttamente e poi inseriremo il tutto in un contenitore appropriato una volta che saremo sicuri che funzioni. Per l’inserimento nel contenitore, vorrete probabilmente ricostruire il circuito su una basetta millefori (una stripboard), nel qual caso dovrete procurarvene una di piccole dimensioni. Vi sono molti collegamenti in questo progetto e dunque dovreste procurarvi anche del cavo a nastro per eseguire tutte le connessioni richieste. Ecco di cosa avete bisogno.
Un tastierino numerico (SparkFun COM-08653 o Rapid 78-0305).
Un display a LED a sette segmenti per quattro cifre, a catodo comune (Lite-ON LTC-4727JR di Digi-Key; 160-1551-5ND o HDSP-B09G di Farnell 1003341).
Un driver per display a LED a otto cifre Max 7219 o 7221.
Due condensatori: un condensatore elettrolitico da 10 μF (microfarad) e un condensatore ceramico a disco da .01 μF.
Due resistenze: da 2.2 Kohm e 33 Kohm. Queste possono variare a seconda del modulo a LED e del tipo di relé.
Un relé in miniatura da 5 V CC (come Hamlin HE721A0510 da Jameco #1860109 o Farnell #9561757).
Un transistor NPN 2N2222 o simile.
Un diodo 1N4001 o simile.
Una serratura elettrica da 12 V CC. Ve ne sono molte fra cui scegliere (articolo #5192 su
SmartHome.com
o GAE Series Electric Strike su
onlinesecurityproducts.co.uk
).
Un cavetto a due conduttori per bassa tensione (18-22 AWG) per portare l’alimentazione dal trasformatore al contenitore del progetto e da qui alla serratura.
Un contenitore appropriato per inserire il tutto (per esempio Serpac A27BK, Jameco #373456 o Farnell #775538). Le dimensioni minime sono circa di 15 × 8 × 4 cm.
Figura 8.1 I componenti necessari per questo progetto.
Una piccola basetta millefori di tipo stripboard (opzionale).
Qualche pezzo non troppo lungo di cavo a nastro (opzionale).
Fascette di fissaggio a parete.
Pistola per colla a caldo.
Un metro per le misurazioni.
Piccoli utensili per eseguire fori nel contenitore e per installare la serratura sulla porta.
Potete scaricare gli schemi elettrici e i diagrammi a colori di collocazione dei componenti dal sito Web del libro (www.hoeplieditore.it/6323-9.
Come per altri progetti, anche questo si basa su Arduino UNO. Ma non c’è niente di particolare sul codice e quindi dovreste poterlo realizzare con qualsiasi versione della scheda Arduino.
Il tastierino contiene delle piste conduttive sul circuito stampato interno. La pressione di un pulsante connette due di queste piste, una per la riga e una per la colonna che si incrociano sotto il pulsante. Ogni riga e colonna è connessa a un piedino di output del tastierino, che potete connettere ai pin digitali della scheda Arduino. Quando premete un pulsante, si attiva una connessione fra una riga e una colonna. Potete pertanto rilevare il tasto premuto, leggendo lo stato dei pin digitali di Arduino.
I vari produttori assegnano piedini di output differenti alle righe e alle colonne del loro tastierino. Due dei tastierini più popolari sono stati elencati precedentemente e verranno utilizzati per il codice di esempio. La Figura 8.2 mostra il loro schema elettrico. Se utilizzate un tastierino differente, dovrete collaudarlo o consultare il suo datasheet per determinare come connettere i piedini di output ai pin digitali di Arduino. Vedremo come collaudare il tastierino più avanti in questo capitolo.
Figura 8.2 Contatti dei piedini di un tastierino a matrice.
La fonte di alimentazione dovrà essere a 12 V CC. La maggior parte dei produttori di serrature elettroniche offre modelli a 12 V CC, una tensione di alimentazione perfetta anche per la scheda Arduino. Inoltre, assicuratevi che il trasformatore fornisca un livello di corrente sufficiente per alimentare sia la scheda Arduino, sia la serratura elettronica. La scheda Arduino consuma solo 250 mA, ma è meglio stimare un consumo totale dei componenti elettronici a 500 mA. Il foglietto delle caratteristiche della serratura dovrebbe dire quanta corrente ha bisogno per funzionare. In caso contrario, potete utilizzare un tester per misurare la corrente attraverso la bobina dell’attuatore, mentre sta funzionando. La serratura GAE specificata nell’elenco dei componenti opera a 12 V CC e consuma 400 mA. Sommando il consumo di Arduino, si raggiungono i 950 mA. È opportuno prevedere un po’ di margine e dunque l’alimentatore deve fornir...