Cómo funcionan los módulos RF Tx Rx de 433 MHz y cómo interactúan con Arduino

Los módulos RF Tx Rx de 433 MHz son componentes importantes en proyectos de comunicación inalámbrica con Arduino. En este artículo, exploraremos cómo funcionan estos módulos y cómo se pueden utilizar en conjunto con Arduino para crear soluciones innovadoras y efectivas. ¡Sigue leyendo para descubrir todo lo que necesitas saber para comenzar a utilizarlos en tus propios proyectos!

¿Interesado en hacer que su próximo proyecto Arduino sea inalámbrico por el precio de una taza de café? ¡Entonces elija un módulo transmisor y receptor RF de 433 MHz!

Está disponible en línea por menos de dos dólares, lo que la convierte en una de las opciones de comunicación de datos más baratas del mercado. Y lo mejor de todo es que este módulo es tan pequeño que puedes integrarlo en casi cualquier proyecto.

Descripción general del hardware

Echemos un vistazo más de cerca a los módulos transmisores y receptores de RF de 433 MHz.

El transmisor

Cómo funcionan los módulos RF Tx Rx de 433 MHz y cómo interactúan con Arduino

Este pequeño módulo sirve como transmisor. Es tan simple como parece. El corazón del módulo es un resonador SAW sintonizado para funcionar a 433,xx MHz. Además, cuenta con un transistor de conmutación y algunos componentes pasivos.

Cuando la entrada de DATOS es alta, el oscilador produce una onda portadora de salida de RF constante a 433,xx MHz, y cuando la entrada de DATOS es baja, el oscilador deja de funcionar; Esto da como resultado una onda de amplitud modulada. Esta técnica se conoce como manipulación por desplazamiento de amplitud, que analizaremos con más detalle en un momento.

Recipiente

Cómo funcionan los módulos RF Tx Rx de 433 MHz y cómo interactúan con Arduino

Este módulo en particular es un receptor. A pesar de su apariencia, es tan sencillo como el módulo transmisor. Consta de un circuito de RF sintonizado y unos amplificadores operacionales (amplificadores OP) que amplifican la onda portadora recibida. La señal amplificada luego se envía a un PLL (Bucle de bloqueo de fase), que permite que el decodificador se «bloquee» a un flujo de bits digitales, lo que da como resultado una salida decodificada mejorada y una inmunidad al ruido.

PREGUNTE – Modificación por desplazamiento de amplitud

Como se mencionó anteriormente, estos módulos utilizan una técnica llamada Modificación de desplazamiento de amplitud, o ASK, para transmitir datos digitales por radio. La manipulación por desplazamiento de amplitud implica cambiar la amplitud de la onda portadora (en nuestro caso, la señal de 433 MHz) en respuesta a una señal de datos entrante.

Se parece mucho a la técnica de modulación de amplitud utilizada en la radio AM. Debido a que sólo tiene dos niveles, a veces se le llama manipulación por desplazamiento de amplitud binaria.

Puedes pensar en ello como un interruptor de ENCENDIDO/APAGADO.

  • En 1 lógico, se transmite la onda portadora.
  • En 0 lógico, no se transmite ninguna señal.

A continuación se muestra una ilustración de la modulación de amplitud:

Cómo funcionan los módulos RF Tx Rx de 433 MHz y cómo interactúan con Arduino

La ventaja de la manipulación por desplazamiento de amplitud es que es muy fácil de implementar. El circuito decodificador es bastante sencillo de diseñar. Además, ASK requiere menos ancho de banda que otras técnicas de modulación como FSK (Frequency Shift Keying). Esta es una de las razones por las que es rentable.

La desventaja de ASK es que es susceptible a la interferencia de otras radios y al ruido ambiental. Sin embargo, siempre que transfiera datos con relativa lentitud, puede funcionar de manera confiable en la mayoría de los entornos.

Configuración de pines del transmisor y receptor de RF de 433 MHz

Echemos un vistazo a la distribución de pines de los módulos transmisores y receptores de RF de 433 MHz.

Cómo funcionan los módulos RF Tx Rx de 433 MHz y cómo interactúan con Arduino

DATOS Pin acepta datos digitales para su transmisión.

VCC suministra energía al transmisor. Se puede utilizar cualquier voltaje CC positivo entre 3,5 V y 12 V. Cabe señalar que la salida de RF es proporcional a la tensión de alimentación. Cuanto mayor sea el voltaje, mayor será el alcance.

Tierra es el pin de tierra.

antena Es un pin que se conecta a la antena externa. Para mejorar el alcance, debes soldar un cable sólido de 17,3 centímetros de largo a este pin. Se discutirá en detalle más adelante.

Cómo funcionan los módulos RF Tx Rx de 433 MHz y cómo interactúan con Arduino

VCC suministra energía al receptor. A diferencia del transmisor, el receptor necesita una tensión de alimentación de 5 V.

DATOS Los pines emiten los datos digitales recibidos. Ambos pines están conectados internamente, por lo que puedes usar cualquiera de ellos para la salida de datos.

Tierra es el pin de tierra.

antena Es un pin que se conecta a la antena externa. Para mejorar el alcance, debes soldar un cable sólido de 17,3 centímetros de largo a este pin.

Cableado de los módulos transmisor y receptor de RF de 433 MHz al Arduino

Ahora que entendemos completamente estos módulos, ¡es hora de ponerlos en práctica!

Dado que estamos enviando datos entre dos placas Arduino, necesitamos dos placas Arduino, dos placas de pruebas y algunos cables de puente.

Cableado para el transmisor

Cablear el transmisor es sencillo ya que sólo tiene tres conexiones.

Conecte el pin VCC del módulo al pin de 5V del Arduino y GND a tierra. El pin de entrada de datos debe conectarse al pin digital n.° 12 del Arduino. Intente utilizar únicamente el pin digital n.º 12 para la entrada de datos, ya que la biblioteca que utilizamos utiliza este pin de forma predeterminada.

La siguiente tabla enumera las conexiones de pines:

Canal arduino
VCC 5V
Datos 12
Tierra Tierra

El cableado se muestra en la siguiente imagen.

Cómo funcionan los módulos RF Tx Rx de 433 MHz y cómo interactúan con Arduino

Cableado para el receptor

Una vez que haya cableado el transmisor, puede pasar al receptor. Cablear el receptor es tan fácil como el transmisor.

También en este caso sólo es necesario realizar tres conexiones. Conecte el pin VCC del módulo al pin de 5V del Arduino y GND a tierra. Conecte uno de los dos pines de salida de datos del medio al pin digital n.° 11 del Arduino ya que están conectados internamente.

La siguiente tabla enumera las conexiones de pines:

Recipiente arduino
VCC 5V
Datos 11
Tierra Tierra

El cableado se muestra en la siguiente imagen.

Cómo funcionan los módulos RF Tx Rx de 433 MHz y cómo interactúan con Arduino

Biblioteca RadioHead: una navaja suiza para módulos de radio

A diferencia de los módulos RF avanzados como el nRF24L01, el módulo RF de 433 MHz es un módulo RF simple sin detección de errores de transmisión de datos incorporada. Por lo tanto, es nuestra responsabilidad ante la CRC (Verificación de redundancia cíclica) en nuestro código.

Aquí está lo conocido Radiocabeza La biblioteca es conveniente. Realiza cálculos CRC, lo que hace que la comunicación sea más confiable. La biblioteca es tan versátil que se puede utilizar con cualquier tipo de módulo de RF, no solo con módulos de RF de 433 MHz.

En el lado del transmisor, la biblioteca RadioHead toma los datos, los encapsula en un paquete de datos (conocido como paquete RadioHead) con una suma de verificación CRC y luego los envía a otro Arduino con el preámbulo y el encabezado requeridos. Si los datos se reciben correctamente en el lado receptor, se notificará al Arduino receptor que los datos están disponibles.

El paquete RadioHead

El paquete RadioHead está estructurado de la siguiente manera: al comienzo de cada transmisión, se envía un flujo de 36 bits de pares de bits «1» y «0», conocido como «preámbulo de entrenamiento». El receptor necesita estos bits para ajustar su ganancia antes de recibir datos reales. Luego se agrega un «símbolo de inicio» de 12 bits, seguido de los datos reales (carga útil).

Al final del paquete, se agrega una secuencia de verificación de trama o CRC, que RadioHead vuelve a calcular en el extremo receptor. Si la verificación CRC es correcta, se notifica al dispositivo receptor. Si la verificación CRC falla, el paquete se descarta.

Así es como se ve el paquete RadioHead:

Cómo funcionan los módulos RF Tx Rx de 433 MHz y cómo interactúan con Arduino

Descargar la biblioteca

Puedes obtener la biblioteca desde airspayce.com o haciendo clic en el siguiente enlace:

Para instalar la biblioteca, inicie Arduino IDE y navegue hasta Bosquejo > incluir biblioteca > Agregar código postal Biblioteca y luego seleccione el archivo RadioHead que acaba de descargar. Para obtener más información sobre la instalación de una biblioteca, consulte Tutorial de instalación de una biblioteca Arduino.

código de ejemplo de arduino

En este sencillo experimento, intentamos enviar un breve mensaje de texto del remitente al receptor y ver si se puede decodificar. Será útil para aprender a utilizar los módulos y puede servir como base para futuros experimentos y proyectos prácticos.

Código para el transmisor

Aquí está el boceto que usaremos para nuestro transmisor:

// Include RadioHead Amplitude Shift Keying Library
#include <RH_ASK.h>
// Include dependant SPI Library 
#include <SPI.h> 
 
// Create Amplitude Shift Keying Object
RH_ASK rf_driver;
 
void setup()
{
    // Initialize ASK Object
    rf_driver.init();
}
 
void loop()
{
    const char *msg = "Hello World";
    rf_driver.send((uint8_t *)msg, strlen(msg));
    rf_driver.waitPacketSent();
    delay(1000);
}

Explicación del código:

Es un boceto rápido, pero eso es todo lo que necesitas para enviar un mensaje.

El boceto comienza con la integración de la biblioteca RadioHead ASK. El Biblioteca Arduino SPI También debe incluirse ya que la biblioteca de RadioHead depende de ello.

#include <RH_ASK.h>
#include <SPI.h>

Para acceder a funciones especiales relacionadas con la biblioteca ASK de RadioHead, primero necesitamos crear un objeto ASK.

// Create Amplitude Shift Keying Object
RH_ASK rf_driver;

En la función de configuración inicializamos el objeto ASK.

// Initialize ASK Object
rf_driver.init();

Iniciamos la función de bucle preparando un mensaje. Es sólo una cadena de texto almacenada en un puntero de carácter llamado msg. Recuerde, su mensaje puede ser lo que desee, pero no debe tener más de 27 caracteres para un rendimiento óptimo. Además, esté atento a la cantidad de caracteres que contiene, ya que los necesitará en el código del destinatario. En nuestro caso tenemos 11 caracteres.

// Preparing a message
const char *msg = "Hello World";

Luego el mensaje se envía con el send() Función. Esta función toma dos parámetros: una matriz de datos y la cantidad de bytes a enviar (longitud de los datos).

Normalmente esto es send() La función es seguida por la waitPacketSent() Función que espera a que se complete la transferencia. Finalmente, el boceto se detiene un segundo para que nuestro receptor pueda procesar todo.

rf_driver.send((uint8_t *)msg, strlen(msg));
rf_driver.waitPacketSent();
delay(1000);

Código para el destinatario

Aquí está el código de nuestro receptor. Conecte el circuito receptor a la computadora y cargue el siguiente código.

// Include RadioHead Amplitude Shift Keying Library
#include <RH_ASK.h>
// Include dependant SPI Library 
#include <SPI.h> 
 
// Create Amplitude Shift Keying Object
RH_ASK rf_driver;
 
void setup()
{
    // Initialize ASK Object
    rf_driver.init();
    // Setup Serial Monitor
    Serial.begin(9600);
}
 
void loop()
{
    // Set buffer to size of expected message
    uint8_t buf[11];
    uint8_t buflen = sizeof(buf);
    // Check if received packet is correct size
    if (rf_driver.recv(buf, &buflen))
    {
      
      // Message received with valid checksum
      Serial.print("Message Received: ");
      Serial.println((char*)buf);         
    }
}

Después de cargar el boceto, abra su monitor serie. Si todo está bien, deberías poder ver tu mensaje.

Cómo funcionan los módulos RF Tx Rx de 433 MHz y cómo interactúan con Arduino
Salida de módulo RF inalámbrico de 433MHz en monitor serie – receptor

Explicación del código:

El código del receptor, al igual que el código del transmisor, comienza cargando las bibliotecas RadioHead y SPI y creando un objeto ASK.

#include <RH_ASK.h>
#include <SPI.h> 
RH_ASK rf_driver;

En la función de configuración, inicializamos el objeto ASK y configuramos el monitor serie para mostrar el mensaje recibido.

rf_driver.init();
Serial.begin(9600);

En la función de bucle, creamos un búfer con el mismo tamaño que el mensaje transmitido. ¿Recuerdas que en nuestro caso son 11? Esto debe ajustarse a la longitud de su mensaje. Incluya todos los espacios y la puntuación, ya que todos cuentan como caracteres.

uint8_t buf[11];
uint8_t buflen = sizeof(buf);

Entonces llamaremos recv() Función. Esto activa el receptor. Si hay un mensaje válido disponible, se copia en el primer búfer de parámetros y devuelve verdadero. Si la función devuelve verdadero, el mensaje recibido se imprimirá en el monitor serie.

if (rf_driver.recv(buf, &buflen))
{
  Serial.print("Message Received: ");
  Serial.println((char*)buf);         
}

Luego volvemos al inicio del bucle y repetimos el proceso.

Mejora del alcance del módulo RF de 433MHz con una antena

La antena que utilice tanto para el transmisor como para el receptor puede tener un impacto significativo en el alcance que puede alcanzar. De hecho, podrías comunicarte felizmente a través de un metro sin antena. Con el diseño de antena adecuado, podrá comunicarse a una distancia de 50 metros.

La antena no tiene por qué ser complicada. Se puede utilizar un cable de un solo núcleo para crear una antena excelente tanto para el transmisor como para el receptor.

La longitud de la antena más eficaz corresponde a la longitud de onda de una frecuencia de transmisión. En la práctica, sin embargo, es suficiente la mitad o un cuarto de esta longitud.

El Longitud de onda de una frecuencia se calcula como:

Longitud de onda de frecuencia = Velocidad de transmisión (v)
frecuencia de transmisión (n)

La velocidad de transmisión en el aire corresponde a la velocidad de la luz, más precisamente 299.792.458 m/s. Entonces para la banda de 433 MHz la longitud de onda es:

Longitud de onda de frecuencia = 299.792.458m/s
433.000.000Hz
= 0,6924 metros
= 69,24 cm

Una antena de 69,24 cm es bastante larga e incómoda de manejar. Por tanto, utilizaremos una antena de cuarto de onda que mide 17,3 cm o 6,8 pulgadas.

Si enrolla la antena para hacerla más compacta, el alcance se reducirá significativamente. ¡Siempre es preferible una antena recta!

Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded

Funcionamiento de los módulos RF Tx Rx de 433 MHz y su interacción con Arduino

Interesado en hacer tu próximo proyecto de Arduino inalámbrico por el precio de una taza de café? ¡Entonces opta por un Módulo Transmisor y Receptor RF de 433 MHz!

Disponible en línea por menos de dos dólares, lo que lo convierte en una de las opciones de comunicación de datos más económicas disponibles. Y, lo mejor de todo, este módulo es tan pequeño que puedes incorporarlo en casi cualquier proyecto.

Descripción del Hardware

Echemos un vistazo más de cerca a los Módulos Transmisor y Receptor de 433MHz RF.

El Transmisor

Este pequeño módulo funciona como el transmisor. Es tan simple como parece. En el núcleo del módulo hay un resonador SAW ajustado para operar a 433.xx MHz. Además, tiene un transistor de conmutación y algunos componentes pasivos.

Cuando la entrada de DATOS está alta, el oscilador genera una onda portadora de RF constante a 433.xx MHz, y cuando la entrada de DATOS está baja, el oscilador deja de funcionar, lo que resulta en una onda modulada en amplitud. Esta técnica se conoce como Desplazamiento de Amplitud de Llave, que detallaremos más adelante.

El Receptor

Este módulo en particular es un receptor. A pesar de su apariencia, es tan simple como el módulo transmisor. Consta de un circuito sintonizado de RF y un par de amplificadores operativos (OP Amps) que amplifican la onda portadora recibida. La señal amplificada se envía a un PPL (Bucle de Bloqueo de Fase), lo que permite al decodificador «bloquearse» en una secuencia de bits digitales, lo que resulta en una salida decodificada mejorada y una inmunidad al ruido.

Desplazamiento de Amplitud de Llave (ASK)

Como se mencionó anteriormente, estos módulos utilizan una técnica conocida como Desplazamiento de Amplitud de Llave, o ASK, para transmitir datos digitales a través de la radio. En el desplazamiento de amplitud de llave, la amplitud de la onda portadora (señal de 433 MHz en nuestro caso) se modifica en respuesta a una señal de datos entrante.

Es muy similar a la técnica de Modulación de Amplitud utilizada en la radio AM. Debido a que solo tiene dos niveles, a veces se le llama Desplazamiento de Amplitud Binaria.

La ventaja del Desplazamiento de Amplitud de Llave es que es muy simple de implementar. La circuitería del decodificador es bastante sencilla de diseñar. Además, ASK requiere menos ancho de banda que otras técnicas de modulación como FSK (Desplazamiento de Frecuencia Binaria). Esta es una de las razones por las que es rentable.

La desventaja de ASK es que es susceptible a interferencias de otros equipos de radio y ruido ambiental. Sin embargo, siempre y cuando se transmitan datos a una velocidad relativamente lenta, puede funcionar de manera confiable en la mayoría de los entornos.

Pinout del Transmisor y Receptor de 433MHz RF

Echemos un vistazo al pinout de los Módulos Transmisor y Receptor de 433MHz RF.

  1. DATOS: acepta datos digitales para ser transmitidos.
  2. VCC: proporciona energía al transmisor. Se puede usar cualquier voltaje de CC positivo entre 3.5V y 12V.
  3. GND: es el pin de tierra.
  4. Antena: es un pin que se conecta a la antena externa. Para mejorar el alcance, debes soldar un alambre sólido de 17.3 centímetros a este pin. Se discutirá en detalle más adelante.

Conexión de los Módulos Transmisor y Receptor de 433MHz RF a Arduino

Ahora que tenemos un entendimiento completo de estos módulos, ¡es hora de ponerlos en uso!

Dado que enviaremos datos entre dos placas de Arduino, necesitaremos dos placas de Arduino, dos protoboard y algunos cables puente.

Cableado para el Transmisor

Es simple cablear el transmisor, ya que solo tiene tres conexiones.

Conecta el pin VCC del módulo al pin 5V de Arduino y GND a Tierra. El pin Data-in debe conectarse al pin digital #12 en Arduino. Intenta usar solo el pin digital #12 para la entrada de datos, ya que la biblioteca estamos usando utiliza este pin de forma predeterminada.

Las siguientes tabla enumera las conexiones de pines:

Transmisor Arduino
VCC 5V
DATA 12
GND GND

Cableado para el Receptor

Después de cablear el transmisor, puedes pasar al receptor. El cableado del receptor es tan sencillo como el del transmisor.

Una vez más, solo hay tres conexiones que hacer. Conecta el pin VCC del módulo al pin 5V de Arduino y GND a Tierra. Conecta cualquiera de los dos pines de data-out centrales al pin digital #11 de Arduino, ya que están internamente conectados.

Las siguientes tabla enumera las conexiones de pines:

Receptor Arduino
VCC 5V
DATA 11
GND GND

Biblioteca RadioHead – una navaja suiza para módulos inalámbricos

A diferencia de los módulos RF avanzados como el nRF24L01, el módulo RF de 433 MHz es un módulo RF básico sin detección de errores de transmisión de datos incorporada. Por lo tanto, es nuestra responsabilidad incorporar CRC (Comprobación de Redundancia Cíclica) en nuestro código.

En este punto es donde entra en juego la conocida biblioteca RadioHead. Maneja cálculos de CRC, lo que hace que la comunicación sea más confiable. La biblioteca es tan versátil que puede ser utilizada con cualquier tipo de módulo RF, no solo con módulos de 433 MHz RF.

En el extremo del transmisor, la biblioteca RadioHead toma los datos, los encapsula en un paquete de datos (conocido como Paquete RadioHead) con un CRC de verificación y luego los envía a otro Arduino con el preámbulo y encabezado necesarios. En el extremo del receptor, si los datos se reciben correctamente, el Arduino receptor es notificado de que los datos están disponibles.

El Paquete RadioHead

El Paquete RadioHead está construido de la siguiente manera: Al inicio de cada transmisión, se envía una corriente de 36 bits de pares de bits «1» y «0» conocida como «Preámbulo de Entrenamiento». Estos bits son necesarios para que el receptor ajuste su ganancia antes de recibir los datos reales. Luego se agrega un «Símbolo de Inicio» de 12 bits, seguido por los datos reales (carga útil).

Al final del paquete, se agrega una Secuencia de Comprobación de Trama o CRC, que es recalculada por RadioHead en el extremo del receptor y, si la comprobación de CRC es correcta, se alerta al dispositivo receptor. Si la comprobación de CRC falla, el paquete se descarta.

Descarga de la Biblioteca

Puedes obtener la biblioteca en airspayce.com o haciendo clic en el siguiente enlace: RadioHead.zip

Para instalar la biblioteca, inicia el IDE de Arduino, ve a Sketch > Include Library > Add.ZIP Library, y luego elige el archivo RadioHead que acabas de descargar. Para obtener más información sobre cómo instalar una biblioteca, consulta el tutorial Instalación de una Librería de Arduino.

Código de Ejemplo de Arduino

En este sencillo experimento, intentaremos enviar un breve mensaje de texto desde el transmisor al receptor y ver si se puede decodificar. Será útil para aprender cómo usar los módulos y puede servir como base para experimentos y proyectos más prácticos.

Código para el Transmisor

// Incluir Biblioteca RadioHead de Desplazamiento de Amplitud de Llave
#include <RH_ASK.h>
// Incluir Biblioteca SPI dependiente
#include <SPI.h> 

// Crear Objeto Desplazamiento de Amplitud de Llave
RH_ASK rf_driver;

void setup()
{
    // Inicializar Objeto ASK
    rf_driver.init();
}

void loop()
{
    const char *msg = "Hola Mundo";
    rf_driver.send((uint8_t *)msg, strlen(msg));
    rf_driver.waitPacketSent();
    delay(1000);
}

Explicación del Código:

  • Es un bosquejo corto, pero es todo lo que necesitas para enviar un mensaje.
  • El bosquejo comienza incluyendo la biblioteca RadioHead ASK. La Biblioteca SPI de Arduino también debe incluirse porque la biblioteca RadioHead depende de ella.
  • Para acceder a funciones especiales relacionadas con la biblioteca RadioHead ASK, primero debemos crear un objeto ASK.
  • En la función setup, inicializamos el objeto ASK.
  • Comenzamos la función loop preparando un mensaje. Es solo una cadena de texto que se almacena en un puntero de carácter llamado msg.
  • El mensaje se envía utilizando la función send(). Esta función toma dos parámetros: un arreglo de datos y el número de bytes (longitud de datos) a enviar.
  • Típicamente, la función send() se sigue de la función waitPacketSent(), que espera hasta que se complete la transmisión. Finalmente, el bosquejo se le da un segundo para permitir que nuestro receptor procese todo.

Código para el Receptor

// Incluir Biblioteca RadioHead de Desplazamiento de Amplitud de Llave
#include <RH_ASK.h>
// Incluir Biblioteca SPI dependiente
#include <SPI.h> 

// Crear Objeto Desplazamiento de Amplitud de Llave
RH_ASK rf_driver;

void setup()
{
    // Inicializar Objeto ASK
    rf_driver.init();
    // Configurar Monitor Serial
    Serial.begin(9600);
}

void loop()
{
    // Establecer el búfer al tamaño del mensaje esperado
    uint8_t buf[11];
    uint8_t buflen = sizeof(buf);
    // Comprobar si el paquete recibido tiene el tamaño correcto
    if (rf_driver.recv(buf, &buflen))
    {
        
        // Mensaje recibido con suma de comprobación válida
        Serial.print("Mensaje Recibido: ");
        Serial.println((char*)buf);         
    }
}

Explicación del Código:

  • El código del receptor, al igual que el del transmisor, comienza cargando las bibliotecas de RadioHead y SPI y creando un objeto ASK.
  • En la función setup, inicializamos el objeto ASK y configuramos el monitor serial para mostrar el mensaje recibido.
  • En la función loop, creamos un búfer del mismo tamaño que el mensaje transmitido. Recuerda, ¿son 11 en nuestro caso?
  • Luego llamamos a la función recv(). Esto activa el receptor. Cuando hay un mensaje válido disponible, lo copia en su primer parámetro de búfer y devuelve verdadero. Si la función devuelve verdadero, el mensaje recibido se imprime en el monitor serial.
  • Luego volvemos al comienzo del bucle y repetimos el proceso.

Mejorando el alcance del módulo RF de 433MHz con una antena

La antena que uses tanto para el transmisor como para el receptor puede tener un impacto significativo en el alcance que puedes alcanzar. De hecho, sin antena, serías afortunado de comunicarte a más de un metro. Con el diseño de antena adecuado, podrás comunicarte a una distancia de 50 metros.

La antena no tiene por qué ser complicada. Un solo alambre de núcleo se puede usar para hacer una excelente antena tanto para el transmisor como para el receptor.

La longitud de la antena más efectiva es igual a la longitud de onda de una frecuencia de transmisión. En la práctica, sin embargo, la mitad o un cuarto de esa longitud es suficiente.

La longitud de onda de una frecuencia se calcula como:

Longitud de onda de frecuencia = Velocidad de la transmisión (v) / Frecuencia de transmisión (f)

La velocidad de transmisión en el aire es igual a la velocidad de la luz, que es de 299.792.458 m/s para ser precisos. Por lo tanto, para la banda de 433 MHz, la longitud de onda es:

Longitud de onda de frecuencia = 299.792.458 m/s / 433.000.000 Hz = 0.6924 metros = 69.24 cm

Una antena de 69.24 cm es bastante larga e incómoda de usar. Es por eso que usaremos una antena de cuarto de onda, que mide 17.3 cm o 6.8 pulgadas.

Enrollar la antena para hacerla más compacta reducirá severamente su alcance. ¡Siempre es preferible una antena recta!

2 comentarios en «Cómo funcionan los módulos RF Tx Rx de 433 MHz y cómo interactúan con Arduino»

Deja un comentario