Si eres un entusiasta de la electrónica y la programación, seguramente te has preguntado cómo decodificar y enviar señales de radiofrecuencia de 433 MHz con Arduino. En este artículo, te mostraremos cómo utilizar este popular microcontrolador para manipular señales RF y así poder controlar diferentes dispositivos de forma inalámbrica. ¡Sigue leyendo para descubrir cómo aprovechar al máximo esta tecnología!
Esta guía muestra cómo usar un Arduino para decodificar señales de 433 MHz desde controles remotos de RF y enviarlas usando un Arduino y un transmisor de 433 MHz para controlar de forma remota los enchufes de los interruptores de alimentación.
¿Por qué decodificar señales de RF?
He probado varios métodos para controlar el voltaje de la red, pero algunos de ellos requieren:
- Experiencia en el manejo de tensión alterna.
- Abrir agujeros en la pared/techo/interruptores
- Cambiar el cuadro eléctrico
- Conocimiento de los códigos eléctricos de cada país.
Es difícil encontrar una solución que sea segura y funcione para todos. Una de las formas más fáciles y seguras de controlar de forma remota dispositivos conectados a la red eléctrica es utilizar enchufes controlados por radiofrecuencia. ¿Por qué? El uso de enchufes con control remoto ofrece 5 beneficios:
- bastante barato
- Fácil de conseguir
- Funciona con ESP8266 y Arduino
- Seguro de usar
- Funciona en todos los países.
Piezas requeridas
Para este tutorial necesitarás las siguientes partes:
- Arduino UNO – leer Los mejores kits de inicio de Arduino
- Tomas de mando a distancia RF 433 MHz
- Transmisor/receptor de 433 MHz
- tablero de circuitos
- Cables de puente
Nota: Debe comprar enchufes con control remoto que funcionen a una frecuencia de RF de 433 MHz. La frecuencia de RF debe aparecer en la página del producto o en la etiqueta.
Puedes utilizar los enlaces anteriores o ir directamente MakerAdvisor.com/tools ¡Para encontrar todas las piezas para tus proyectos al mejor precio!
Ejemplo
Esto es lo que parecen:
Configuración de los canales de RF
tengo mi control remoto en eso I Posición.
Los enchufes deben ubicarse en ambos lados. I Posición. He seleccionado canales 3 Y 4 para los enchufes (puedes usar cualquier canal).
Si los conecta a un tomacorriente, debería poder controlar los tomacorrientes remotos con su control remoto.
Instalación de la biblioteca RC Switch
La biblioteca RC Switch proporciona una manera fácil de controlar dispositivos controlados remotamente usando su ESP8266, ESP32 o Arduino. Lo más probable es que esto funcione con todas las tomas de corriente comunes y económicas.
- Haga clic aquí para descargar la biblioteca RC Switch. Deberías tener una carpeta .zip en tu Descargas Carpeta
- Descomprima la carpeta .zip y debería obtener carpeta rc-switch-master
- Cambie el nombre de su carpeta de
Maestro del interruptor RCA interruptor_rc - mueve eso interruptor_rc Carpeta a la carpeta de bibliotecas de instalación de Arduino IDE
- Luego vuelve a abrir tu IDE de Arduino
Abrir el boceto del decodificador
Necesita decodificar las señales que envía su control remoto para que Arduino o ESP8266 pueda reproducir estas señales y, en última instancia, controlar los enchufes.
La biblioteca contiene varios ejemplos de bocetos. Dentro del software Arduino IDE Tienes que archivo > Ejemplos > interruptor_rc > RecibirDemo_Avanzado. Se abre el siguiente boceto:
/*
Example for receiving
https://github.com/sui77/rc-switch/
If you want to visualize a telegram copy the raw data and
paste it into http://test.sui.li/oszi/
*/
#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch();
void setup() {
Serial.begin(9600);
mySwitch.enableReceive(0); // Receiver on interrupt 0 => that is pin #2
}
void loop() {
if (mySwitch.available()) {
output(mySwitch.getReceivedValue(), mySwitch.getReceivedBitlength(), mySwitch.getReceivedDelay(), mySwitch.getReceivedRawdata(),mySwitch.getReceivedProtocol());
mySwitch.resetAvailable();
}
}
Tienes que abrir el ejemplo a través de Archivo > Ejemplos > RC_Switch > RecibirDemo_Advanced para que incluya automáticamente el producción Archivo.
Después de conectar una placa Arduino a su computadora, siga estas instrucciones:
- Ir a Herramientas pestaña
- Elegir Arduino UNO tablón
- Elegir COM Puerto
- presione el Subir Botón.
Decodificador – diagramas de circuitos
Después de cargar el boceto, conecte un receptor de RF de 433 MHz al pin digital 2 de su placa Arduino UNO:
Decodificar señales de RF (códigos).
Abra el monitor serie Arduino IDE y comience a presionar los botones. Como se muestra en el vídeo de demostración a continuación:
Después de presionar cada tecla una vez, podrá ver el código binario de cada tecla (resaltado en rojo):
Almacene sus códigos binarios para cada pulsación de tecla (también puede utilizar los códigos decimales o de tres estados):
- Botón 3 ON = (24Bit) Binario: 000101010101000101010101
- Botón 3 APAGADO = (24Bit) Binario: 000101010101000101010100
- Botón 4 ON = (24Bit) Binario: 000101010101010001010101
- Botón 4 APAGADO = (24Bit) Binario: 000101010101010001010100
Guarde la duración de su pulso: 416 microsegundos y protocolo: 1.
Enviar las señales RF (códigos)
Debes personalizar el siguiente boceto con tus códigos binarios, longitud de pulso y protocolo:
/*
Based on the SendDemo example from the RC Switch library
https://github.com/sui77/rc-switch/
*/
#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch();
void setup() {
Serial.begin(9600);
// Transmitter is connected to Arduino Pin #10
mySwitch.enableTransmit(10);
// Optional set pulse length.
mySwitch.setPulseLength(REPLACE_WITH_YOUR_PULSE_LENGTH);
// Optional set protocol (default is 1, will work for most outlets)
mySwitch.setProtocol(REPLACE_WITH_YOUR_PROTOCOL);
// Optional set number of transmission repetitions.
// mySwitch.setRepeatTransmit(15);
}
void loop() {
// Binary code - button 3
mySwitch.send("000101010101000101010101");
delay(1000);
mySwitch.send("000101010101000101010100");
delay(1000);
// Binary code - button 4
mySwitch.send("000101010101010001010101");
delay(1000);
mySwitch.send("000101010101010001010100");
delay(1000);
}
En mi caso, la duración del pulso y el protocolo se ven así:
// Optional set pulse length. mySwitch.setPulseLength(416); // Optional set protocol (default is 1, will work for most outlets) mySwitch.setProtocol(1);
A continuación se muestra un ejemplo de un transmisor binario (debe reemplazarlo con sus propios códigos binarios):
mySwitch.send("000101010101000101010101");
Esquemas de remitente
Después de cargar el boceto en tu placa Arduino, arma este circuito:
Ambas salidas deben encenderse y apagarse continuamente.
Envolver
Espero que esta guía te haya resultado útil. Si te gusta esta publicación, probablemente también te gustarán las siguientes. Así que asegúrese de suscribirse al blog de RNT.
Puede utilizar los conceptos aprendidos en este tutorial con su ESP8266 o ESP32.
Gracias por leer.
Decodificación y Envío de Señales RF de 433 MHz con Arduino
En esta guía se muestra cómo utilizar un Arduino para decodificar señales de 433 MHz de controles remotos por RF, y enviarlas con un Arduino y un transmisor de 433 MHz para controlar de forma remota los interruptores de tomas de corriente.
¿Por qué Decodificar Señales RF?
He probado diferentes métodos para controlar el voltaje de red, pero algunos de los métodos requieren:
- Experiencia en el manejo de voltaje AC
- Abrir agujeros en la pared/techo/interruptores
- Modificar el panel eléctrico
- Conocer las reglas eléctricas de cada país
Es difícil encontrar una solución que sea segura y funcione para todos. Una de las formas más fáciles y seguras de controlar de forma remota los electrodomésticos conectados al voltaje de red es utilizando tomas controladas por radiofrecuencia (RF). ¿Por qué? Usar tomas controladas por control remoto tiene 5 beneficios:
- Relativamente económicas
- Fáciles de adquirir
- Compatibles con ESP8266 y Arduino
- Seguras de usar
- Funcionan en cualquier país
Partes Necesarias
Para este tutorial, necesitarás las siguientes partes:
- Arduino UNO
- Tomacorrientes controlados por RF de 433 MHz
- Transmisor/receptor de 433 MHz
- Protoboard
- Cables jumper
Nota: debes comprar tomas controladas por control remoto que operen a una frecuencia de RF de 433 MHz.
Puedes utilizar los enlaces anteriores o ir directamente a MakerAdvisor para encontrar todas las partes para tus proyectos al mejor precio.
Ejemplo
Aquí tienes cómo lucen:
¡Wow, qué interesante! Nunca había pensado en la posibilidad de jugar con señales RF de 433 MHz usando Arduino. ¡Definitivamente voy a probarlo en mi próximo proyecto! ¡Gracias por compartir este tutorial! ¡A experimentar!
¡Interesante! Nunca había pensado en la posibilidad de enviar señales RF con Arduino. ¡Tal vez pueda intentarlo en mi próximo proyecto!
¡Qué buen tutorial! Muy claro y conciso, seguro que lo pondré en práctica en mi próximo proyecto. ¡Gracias por compartir esta información!
¡Me encantó este tutorial! La forma en que explica cómo decodificar y enviar señales RF de 433 MHz con Arduino es muy fácil de entender. Definitivamente lo pondré en práctica en mis futuros proyectos. ¡Gracias por compartir esta información tan útil! ¡A probarlo pronto!
¡Este artículo me ha dado una idea genial para un proyecto que tengo en mente! Gracias por compartir este conocimiento de manera tan sencilla y práctica. ¡A probarlo!