Tastiera elettronica a combinazione numerica 2015 Sommario Indruduzione ........................................................................................................................ 1 Firmware e funzionamento .................................................................................................. 2 Collegamento della scheda.................................................................................................. 3 Indruduzione Questa tastiera elettronica a combinazione numerica può essere usata per attivare o disattivare un allarme o per aprire un'elettroserratura. Dispone di un relè per l'attivazione di qualsiasi dispositivo elettrico o elettronico. Un LED e un buzzer indicano i vari stati della chiave. La tastiera elettronica è una tastiera a combinazione numerica per l'automazione di elettroserrature e carichi elettrici di diversa natura. http://larosagiuseppe.altervista.org/ 1 Tastiera elettronica a combinazione numerica 2015 L'utilizzo di 8 cifre numeriche permette di avere un numero di combinazioni pari a 16777216; la possibilità di separare la logica di controllo dalla tastiera permette di installare le due parti in zone diverse, incrementando la sicurezza anche in caso di manomissione dell'unita esterna (tastiera); la comunicazione tra i due moduli è affidata ad una trecciola colorata a 12 fili. Il LED posto nella parte anteriore notifica all’utente sia l'attivazione del relè e con un lampeggio ogni sei secondi il funzionamento di essa stessa e la presenza della tensione di rete. Un buzzer avvisa l'utente tramite un tono che la pressione dei tasti è avvenuta in oltre si attiva ogni volta che viene attivato il relè. Firmware e funzionamento Il firmware dell’ATMEGA328P è stato scritto in linguaggio C (Arduino UNO). Il sorgente del firmware è disponibile cliccando qui ed è possibile eseguire tutte le modifiche che si vogliono. In questa applicazione è stata usata l’EEPROM interna del microcontrollore per memorizzare le otto cifre del codice segreto. Alimentando il circuito, il LED3 si accende con un lampeggio ogni 6 secondi circa. Digitando sulla tastiera il codice valido attendere 2 secondi per l’apertura dell’elettroserratura o l’attivazione di un altro dispositivo, il LED3 lampeggia 3 volte e il buzzer SG1 si attiverà per tutto il tempo della durata dell’impulso del relè K1. Quando viene inserito il codice non completo e si abbandona la digitazione del codice, dopo circa 10 secondi di inattività si resettano le operazioni intraprese. Per cambiare il codice segreto a otto cifre: premere il tasto cancelletto (#) per 3 secondi il LED3 si accenderà fisso per 2 secondi e il buzzer SG1 produrrà un suono lungo, alla fine del lampeggio del LED3 entro 10 secondi digitare il codice corrente. Se è corretto si attiva il relè K1 (come se avessimo digitato codice di apertura) e il LED3 inizia a lampeggiare velocemente per 3 secondi e SG1 si attiverà. Attendere la fine del lampeggio del LED3 ed inserire il nuovo codice. Confermare tenendo premuto per 3 secondi (fino a che la luce del LED3 non diventa fissa) il tasto cancelletto (#) il codice resterà memorizzato nella memoria EEPROM del microcontrollore IC2. Per cancellare dalla memoria del microcontrollore il codice segreto tenere premuto il tasto S2 (RESET CODE) per 3 secondi la password viene riportata al valore iniziale 12345678 (valore impostato nel sorgente del firmware). Se si volesse cambiare il tempo di durata dell’impulso del relè K1 basta modificare il valore della costante “#define temporele 2000” nel sorgente del firmware, che è stato impostato a 2000 nel valore desiderato. Se volessimo attivare il relè in modo bistabile e salvare in EEPROM l’informazione dello stato del relè. Allora, dovremo sostituire alle righe 164 a 168 il seguente codice: http://larosagiuseppe.altervista.org/ 2 Tastiera elettronica a combinazione numerica 2015 digitalWrite(relay,!digitalRead(relay)); if (digitalRead(relay)) EEPROM.write(100,0); else EEPROM.write(100,1); Alla riga 88: digitalWrite(relay,LOW); Dovremo cancellarla e sostituire con queste tre righe: pch=EEPROM.read(100); if (pch>0) digitalWrite(relay,LOW); else digitalWrite(relay,HIGH); Cosi facendo il relè funzionerà in modo bistabile e in mancanza di rete elettrica, quando ritornerà l'alimentazione il relè si ripristinerà allo stato precedente. Per vedere i numeri delle righe, il sorgente deve essere aperto con Notepad++ effettuate le modifiche e compilate con l’IDE di Arduino UNO. Collegamento della scheda Eseguite il collegamento come è rappresentato in figura, collegate un alimentatore a 12 V in grado di erogare 1 A. http://larosagiuseppe.altervista.org/ 3 Tastiera elettronica a combinazione numerica 2015 A questo punto potete collaudare la scheda inserendo la password iniziale 12345678 di conseguenza si accenderà il LED1 e lampeggerà il LED3 e il relè K1 si ecciterà per 2 secondi. Se il collaudo ha dato esito positivo la parte del circuito stampato contenente il pulsante la tastiera e il buzzer, può essere tagliata e staccata dalla scheda per essere fissata in un contenitore assieme alla tastiera (vedi soppra figura) in modo da tenerla divisa dalla scheda logica come in figura. Questo permette d’installare la tastiera accanto alla porta o cancello e la scheda logica in altro luogo meno accessibile in modo da non essere manomessa facilmente. http://larosagiuseppe.altervista.org/ 4