Comunicación inalámbrica con el transceptor NRF24L01

Vamos a aprender a utilizar el módulo de comunicaciones «NRF24L01» para enviar y recibir datos por radiofrecuencia a 2.4GHz

NIPLE incorpora entre sus módulos el transceptor nRF24L01+. Este dispositivo permite enviar y recibir datos punto a punto, o armar completas redes de transmisión. Son ideales para realizar telemetría en todo tipo de ambientes.

Los transceptores NRF24L01 son una serie de módulos de radiofrecuencia de 2,4GHz que se basan en el chip de Nordic Semiconductor nRF24L01+.

nRF24L01-LN-PA-1

El Nordic nRF24L01+ integra un completo transceptor RF de 2,4GHz, un sintetizador de RF y toda la lógica de banda base incluyendo un acelerador de protocolo por hardware (Enhanced ShockBurst™) con una interfaz SPI de alta velocidad para el controlador de la aplicación.

El módulo se consigue en dos versiones: transceptor de baja potencia y corto alcance (200 metros aproximadamente) con antena integrada y módulo con antena externa con una alcance de 1km aproximadamente.

Configuración del módulo transmisor

Para poder utilizar el módulo es necesario declararlo. Para esto seguimos la ruta: DECLARACIÓN DE DISPOSITIVOS >> NUEVO DISPOSITIVO >> COMUNICACIONES > NRF24L01.

TX_configuracion

Los parámetros a configurar son:

  • MODO: Transmisor
  • PIN CE, SCN, SCK, MOSI, MISO, IRQ: Definir pines de conexión al microcontrolador.
  • CANAL: Elegir el canal de transmisión. Deberá coincidir con el canal del receptor. Número decimal en el rango 01 a 127.
  • NRO. NODO: Identificación del módulo. No deben existir en la red dos módulos con el mismo número de nodo.
  • CANTIDAD BYTES TRAMA: Elegir la cantidad de bytes a enviar. Deberá coincidir con el receptor.

Programación

Para poner en marcha el módulo transmisor el primer paso es insertar el bloque «Inicializar» que contiene todas las rutinas necesarias para el funcionamiento del sistema.

TX_inicializar_1

TX_inicializar_2

ENVIAR DATOS:

Para poder enviar datos es necesario configurar unos pocos parámetros.

TX_enviar_1

Acción: Enviar
ID Destino: Elegir el ID del receptor al que queremos enviarle datos.
Tipo: Bytes (parámetro no editable).
Dato a enviar: elegir los datos a enviar entre registro, decimal, hexadecimal, binario, ASCII.

TX_enviar_2

Configuración del módulo receptor

Para poder utilizar el módulo es necesario declararlo. Para esto seguimos la ruta: DECLARACIÓN DE DISPOSITIVOS >> NUEVO DISPOSITIVO >> COMUNICACIONES > NRF24L01.

RX_Configuracion

Los parámetros a configurar son:

  • MODO: Receptor
  • PIN CE, SCN, SCK, MOSI, MISO, IRQ: Definir pines de conexión al microcontrolador.
  • CANAL: Elegir el canal de recepción. Deberá coincidir con el canal del transmisor. Decimal 01 a 127.
  • NRO. NODO: Identificación del módulo. No deben existir en la red dos módulos con el mismo número de nodo.
  • CANTIDAD BYTES TRAMA: Elegir la cantidad de bytes a recibir. Deberá coincidir con el transmisor.

Programación

El módulo informa al microcontrolador que recibió datos a través del cambio de estado del pin IRQ.

RX_envio_2

Es posible realizar la rutina de recepción mediante una interrupción por detección de flanco en el pin IRQ, o mediante un bucle infinito leyendo dicho pin.

RX_rutina

Cuando ingresa un dato se ejecutará esta rutina y a continuación insertaremos el bloque «Recibir» para guardar los datos arribados en un registro y utilizarlos a posteriori.

Puede descargar los archivos que complementan al tutorial (código fuente, esquemas y datasheets) haciendo clic AQUÍ.

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInShare on TumblrPin on PinterestDigg thisShare on RedditEmail this to someonePrint this page