IoT comunicación entre el microcontrolador Arduino haciendo uso de módulo nRF24L01
IoT comunicación entre el microcontrolador Arduino haciendo uso de módulo nRF24L01
Al momento de necesitar hacer una comunicación inalámbrica, ya sea para recopilar datos o mover algún servo que active un mecanismo, los circuitos integrados de radio frecuencia son una alternativa recomendable, más si se trata de cubrir distancias superiores a los 20 metros.
Nordic Semiconductor ofrece un transceptor RF de Ultra Baja Potencia denominado nRF24L01. Las principales características son:
- Bajo costo
- Funcionamiento en la banda ISM de 2,4 GHz (banda para Industria, Ciencia y Medicina)
- Velocidad de datos en aire 256Kbps, 1Mbps y 2Mbps.
- Acelerador de protocolo de hardware mejorado ShockBurst ™
- Ultra bajo consumo de energía - meses o años de vida útil de la batería
- Consumo de 11.3mA mientras trasmite y 13.5mA mientras recibe
Conectar NRF24L01 a Arduino Uno R3
Observemos el esquema de conexión y los pasos a seguir para lograr los resultados esperados:

Figura 1
Es importante aclarar que la alimentación se debe realizar a 3.3V.
Un capacitor de 10μA es necesario para atenuar el ruido, muchas veces la falta de este componente nos provoca cantidad de inconvenientes y pérdidas de tiempo hasta encontrar el motivo por el cual no transmite.
Vamos a realizar un ensayo de comunicación inalámbrica entre dos Arduinos Uno R3. Para esto se deben armar dos circuitos iguales donde uno va a auspiciar de emisor y el otro de receptor. Al armado en la figura 1 podemos agregarle un led que nos señalice que los circuitos están funcionando correctamente.
| Circuito Emisor | Circuito Receptor | |
|
|
El circuito está construido para que al momento de emitir el mensaje, el emisor, el LED titile durante unos segundos, y luego el receptor hará lo mismo al recibir el mensaje enviado.
Hardware, Software y comunicación inalámbrica.
Para armar el circuito es necesario contar con:
- Placa Arduino Uno R3
- Capacitor de 10μA
- Resistencia de 220 Ohm
- Protoboard
- LED Cables de conexión
El programa está desarrollado utilizando las librerías SPI y RF24, solo es a ejemplo de mostrar el funcionamiento del módulo NRF24L01.
| Código Emisor | Código Receptor | |
| |
Hablemos de la comunicación.
La comunicación es el punto más importante, y si bien las características del módulo nRF24L01 son interesantes desde el punto de vista del control de errores y el acelerador (ShockBurst ™), también es importante al momento de evaluar un proyecto, la problemática del rango de alcance.

En ese sentido hay una opción del módulo que viene con un amplificador de potencia y antena externa.
Utilizando este módulo con amplificación de potencia, el alcance puede ser de hasta 1000 mts en condiciones de campo abierto, pero se logran alcances de 200 o 300 metros en condiciones de ciudad con una relativa visibilidad entre circuitos.<7p>
Otra opción del módulo es la que viene con antena incorporada.

Para este caso la distancia llega a unos 20 o 30 mts. Considerando el contexto ambiental, es decir, paredes u obstáculos que se presenten en el camino entre los dos circuitos.
Consideraciones a tener en cuenta.
- Armar una fuente de alimentación independiente de 3.c V que entregue por lo menos 500 ma.
- Es posible ajustar el amplificador de potencia a través de radio.
setPALevel (RF24_PA_MAX); - La velocidad de trasmisión se establece utilizando radio.
setDataRate (RF24_250KBPS); - Trabajar por encima de los canales de WiFi radio.
setChannel (108);
