Blog de Ger Koper
Los llaveros de control remoto se utilizan típicamente para puertas de garaje y similares. También los utilizan los sistemas de apertura de puertas de automóviles. El protocolo de estos dispositivos parece ser relativamente estándar. Al pulsar uno de los botones, se envían una serie de pulsos de radiofrecuencia (rf) que son recibidos posteriormente por el equipo de apertura de puertas. Estos comparan la secuencia de código recibida con el código almacenado internamente y, cuando es igual, abren o cierran la puerta. Este principio también se utiliza para controlar la iluminación, transmitir información de la estación meteorológica, etc.
Este pequeño informe está en los llamados llaveros como se muestra arriba. Estos están disponibles en abundancia en la web. Tienen la ventaja de que tienen un mecanismo por el cual se pueden programar desde otro llavero. El procedimiento es relativamente simple, pero requiere cierta persistencia: eventualmente funcionará:
- Presione los botones A y B simultáneamente. El LED se enciende y después de un tiempo comienza a parpadear rápidamente. Esto indica que el llavero se borra y que los botones se pueden soltar.
- Ahora, al presionar cualquiera de los botones, el LED solo parpadea una vez que está muy corto. Esto indica que no se transmite ningún código.
- Llamemos a este llavero «vacío» número 1. El llavero del que queremos copiar es el número 2.
- Ahora copiaremos el código del botón X, ya sea A, B, C o D, del llavero 2 al llavero 1 botón Y (A, B, C o D).
- Pulsador X en el llavero 2, su LED se quemará continuamente para indicar que está transmitiendo las secuencias de código.
- Pulsador Y en el llavero 1, su LED da un parpadeo corto inicial y luego permanece apagado.
- Lleve los dos llaveros, manteniendo los botones presionados, juntos, generalmente de frente a frente, pero otras posiciones también pueden funcionar, hasta que el LED de la tecla 1 comience a parpadear. A continuación, los botones pueden ser liberados.
- Presione ahora el botón Y en el llavero 1 y el LED debe brillar continuamente para indicar que está transmitiendo un código. Si todo salió bien, este código también activa la puerta que estaba controlada por el llavero 2.
- Esto se puede repetir para los cuatro botones. También se pueden programar códigos idénticos para dos botones diferentes, la tecla no se quejará.
Es importante tener en cuenta que los llaveros de aspecto similar pueden tener protocolos diferentes, aunque similares. Siga las instrucciones del vendedor cuando sea necesario.
También se puede comprar una unidad de control que contiene dos relés que se pueden controlar desde dos botones de un llavero descrito anteriormente. Estas unidades también deben programarse, aunque vienen con llaveros preprogramados. La unidad tiene un selector de INMERSIÓN que establece el modo de control. Aquí usamos que un solo botón enciende y apaga. La unidad tiene dos LED que están al lado de los relés e indican el estado del relé: encendido o apagado. Cerca de la tecla de control hay otro LED. Parpadea al recibir una señal de rf codificada de un llavero.
Si se desea operar con códigos diferentes a los codificados de fábrica, se procede de la siguiente manera
- Los códigos se borran presionando el botón hasta que el LED comience a parpadear.
- Ahora, las teclas ya no pueden cambiar los relés, aunque el LED puede parpadear para indicar que se ha recibido un código.
- Al presionar el botón de la unidad una vez, la unidad entra en modo de programación, el LED se enciende.
- Presione el llavero primero el botón que es para controlar el relé A. El LED parpadeará para indicar la recepción. Suelte el botón. El LED permanece encendido.
- Presione ahora en el llavero el botón que es para controlar el relé B. El LED parpadeará para indicar la recepción y se apagará.
- La unidad ahora está programada. Pulsar los dos botones activará ahora los relés A y B.
- Tenga en cuenta que pulsar dos veces el mismo botón solo programará el relé A!
Puede ser interesante, usar un código completamente diferente con los llaveros y la unidad. Esto se describe para una Raspberry Pi en un instructable escrito por george7378. A continuación, un ejemplo de un rastro de un código de botón.
La señal de rf está encendida durante el tiempo «alto», típicamente alrededor de 0,5 ms, y apagada durante la señal» baja», alrededor de 1 ms. Estas secuencias se repiten con un intervalo de aproximadamente 10 ms, de modo que se envían cientos de secuencias de código presionando el botón durante un segundo más o menos. El código se puede leer fácilmente, un alto corto seguido de un bajo largo se interpreta como un 1 binario, mientras que un alto largo seguido de un bajo corto es un 0 binario. La secuencia de código binario consta de 25 bits, aquí 1111 0000 0101 0110 0101 1110 1. Hay 225 = 33.554.432 códigos diferentes posibles con estos 25 bits.
Con el pequeño programa Python descrito por el instructable mencionado anteriormente, es relativamente simple ingresar su propio código. El uso de una antena de 17,2 cm en el transmisor de 433 MHz hace que la codificación de los llaveros sea mucho más sencilla. Especialmente si se hace grande el número de repeticiones de secuencia, es decir, se cambia NUM_ATTEMPTS de 10 a 100.
Ya hay muchos códigos diferentes posibles con esta secuencia de 25 bits, pero si uno imagina que el número de bits, el tiempo «alto», el tiempo «bajo» y el tiempo de repetición se pueden variar a voluntad, uno ve por qué generalmente no hay demasiada interferencia entre unidades y llaveros de varios orígenes. Habrá límites en el tiempo y los códigos utilizados, pero queda mucha variación para un conjunto dado.
Algunas observaciones sobre los programas descritos en instructable.
- Utiliza el mismo puerto GPIO para enviar y recibir. Me resultó más fácil tener diferentes unidades para que ambas se puedan conectar simultáneamente.
- Usar en la primera línea el código
#!/usr/bin/python
y hacerlo ejecutable por ejemplo
chmod +x TransmitRF.py
permite llamar al programa de forma más sencilla como
./TransmitRF.py a_on
y repetir su operación.
- En lugar de usar ReceiveRF.py, el programa para leer la secuencia de código de los llaveros, prefiero usar mi Analizador Lógico Analógico Digital+Analógico Logic 4 de Saleae. Da mucha más libertad en el análisis de los datos.