Mando a distancia para puerta
III
III
Modo dialogo con lista
Arduino
Arduino
En los dos anteriores montajes había realizado un mando a distancia con diferente modos de programa.
El primero mandaba los códigos directamente, en el segundo realizaba una negociación entre llave y puerta basada en una formula.
Para este montaje utilizo el mismo circuito, pero ahora negocia los códigos mediante una lista almacenada tanto en la llave y la puerta.
La lista debe ser la misma tanto en la llave como en la puerta.
Esquema de puerta y mando.
Circuito de la puerta y de la llave.
Diagrama del dialogo entre llave y puerta.
La lista de códigos está almacenada en 2 arrays.
Como no me quería complicar mucho, solo he utilizado 2 arrays de 16 números.
Para hacerlo algo más seguro deberíamos haber creado las arrays de 256 números.
byte LISTAcodigo0[15]={12,9,5,11,8,6,13,4,1,0,7,2,14,3,10};
byte LISTAcodigo1[15]={13,0,5,2,11,9,4,12,6,1,8,10,7,14,3};
El numero de orden en el array se sacan del tiempo de funcionamiento del arduino.
time = millis();
x=time & 0x0F;
y= 0x0F & (time>>8);
La variable CODIGO2 se saca de los micro-interruptores , como es normal deberá ser el mismo en la llave y en la puerta.
Esta variable es utilizada para modificar el numero de orden.
x=(x+CODIGO2) & 0x0F;
x=LISTAcodigo0[x];
y=(y+CODIGO2) & 0x0F;
y=LISTAcodigo1[y];
Información de la llave ======================= | Información de la puerta ======================== |
___LLAVE Lista___12 Pulsado Boton de Apertura Respuesta a la pregunta Pulsado Boton de Apertura Respuesta a la pregunta ___LLAVE Lista___4 Pulsado Boton de Apertura Respuesta a la pregunta ___LLAVE Lista___12 Pulsado Boton de Apertura Respuesta a la pregunta | ____Puerta Lista____12 Peticion de apertura CORRECTO Peticion de apertura CORRECTO Peticion de apertura ERROR Peticion de apertura CORRECTO |
Tampoco me he metido mucho en asegurar la seguridad ante la fuerza bruta, solo he metido retardos para hacerlo más difícil.
En lo personal prefiero el modo de códigos por fórmula, pero este método es otro mas, y debía realizarlo.
En todo los montajes se podría realizar un registro de entrada y de salida, y horas. Pero eso es otra historia...
PROGRAMA
Hasta pronto.
Juan Galaz