Aprire una serratura protetta da un sistema di allarme che protegge l’accesso ai locali mediante un codice segreto, è una più che lecita preoccupazione.
L’utilizzo del codice segreto tramite un tastierino numerico è il metodo più diffuso.
Digitando il codice corretto, si disattiva l’allarme permettendoci di aprire la porta senza attivare la sirena; lo stesso codice può sbloccare un eventuale chiavistello servo assistito.
Definisco le variabili e gli oggetti da inserire nel 3D System Panel.
La variabile di tipo UINT, permette di attribuire alla variabile “code”, un numero compreso tra 0 e 65535.
Volendo utilizzare un codice composto di più numeri, posso utilizzare la variabile di tipo ULONG (numero compreso tra 0 e 4294967295); con la funzione Switch Case stabilisco il numero di elementi da controllare.
Diagramma di flusso
code = 5555
Il Component Macro:
Keypremuto=keypad_3x4::GetNumber(),
Acquisisce il valore numerico del tasto premuto e lo inserisce nella variabile keypremuto.
La funzione Decisione:
if keypremuto <>255
Controlla se il tasto è premuto.
La funzione calcolo:
count = count +1,
Congiuntamente alla funzione Switch Case incrementa la variabile count ogni volta che il tasto è premuto, in modo da acquisire il numero successivo da attribuire, in successione, alle variabili A, B, C e D.
La funzione calcolo:
totale = A*1000 + B*100 + C*10 + D*1,
Trasforma i singoli numeri in un intero e lo attribuisce alla variabile totale.
La funzione decisione:
if code = totale,
Verifica se il numero inserito corrisponde al codice segreto.
Se il numero non corrisponde, esegue il ciclo che visualizza, “ritenta”, quindi azzera count e invia il programma al punto d’inserimento iniziale.
C Code
Come limitare i tentativi per induviduare il codice segreto
E’ facile decifrare un codice composto di quattro cifre, pertanto è opportuno limitare i tentativi d’inserimento bloccando il tastierino dopo il terzo e attivando un allarme.
Riccardo Monti