Comunicación bidireccional entre Arduinos con módulos NRF24L01

0
1437

En este post, aprenderemos a configurar y utilizar módulos NRF24L01 para la comunicación bidireccional inalámbrica entre dos Arduinos. A través del uso del protocolo SPI, conectaremos los módulos NRF24L01 a cada Arduino y utilizaremos un pulsador y un LED para enviar y recibir señales entre los dispositivos.

Para este proyecto, utilizaremos dos Arduinos y módulos NRF24L01 para comunicación bidireccional inalámbrica por radiofrecuencia. Los módulos NRF24L01 tienen la capacidad de ser configurados como emisores o receptores, o para realizar ambas funciones (transceptores). Estos módulos se conectan a los Arduinos a través del protocolo SPI.

Para distinguir entre los dos Arduinos en nuestro código, los llamaremos «Arduino A» y «Arduino B». Además, cada Arduino tendrá un pulsador conectado al pin digital 7 y un LED al pin digital 6.

NRF24L01
Montaje del sistema de comunicación bidireccional RF

A la hora de programar los dos Arduino, al ser una comunicación bidireccional,  tenemos que declarar esta vez dos canales (const uint64_t canal[2] = {0xF0F0F0F0E1LL,0xF0F0F0F0D2LL};). Por el canal “0” que es por el que escribe el Arduino “A” tiene que leer el Arduino “B”, y en contraposición, por el canal “1” que es por donde escribe el Arduino “B” tiene que leer el Arduino “A” como se muestra a continuación.

NRF24L01
Canales para el sistema bidireccional RF

Es importante dar tiempo a los módulos NRF24L01 para que puedan recibir y transmitir información, para lo cual se utiliza un pequeño retraso (delay) en el código. Los programas para cada Arduino escucharán a través de un canal específico para ver si están recibiendo información mediante radiofrecuencia (RF) del otro Arduino, y en función del valor recibido encenderán o apagarán el LED conectado.

Luego de verificar esto, dejarán de escuchar por el canal y enviarán el valor del pulsador al otro Arduino. Este proceso se repite continuamente en la función «loop». Si deseas obtener más información sobre el funcionamiento de los programas, recomendamos leer los comentarios incluidos en el código.

Lista de Materiales
  • 2 Arduinos UNO Rev.3
  • Cable USB tipo A-B
  • 2 módulos NRF24L01
  • 2 Condensadores electrolíticos de 10µF y más de 5V
  • 2 Pulsadores
  • 2 Resistencias de 10KΩ
  • 2 LED 5mm (de cualquier color)
  • 2 Resistencias de 220Ω
  • Fuente de alimentación de 12VDC/3000mA (DC12300)
  • Protoboard
  • Cables de conexión
Código del programa

NRF24L01_Bidireccional_A

NRF24L01_Bidireccional_B

Video

En este post, hemos aprendido a utilizar módulos NRF24L01 para la comunicación bidireccional inalámbrica entre dos Arduinos. Hemos visto cómo conectarlos a cada Arduino a través del protocolo SPI y cómo utilizar un pulsador y un LED para enviar y recibir señales.

También hemos visto cómo programar los Arduinos para que escuchen y transmitan a través de canales específicos y cómo utilizar un retraso (delay) para dar tiempo a los módulos para que puedan recibir y transmitir información.

Gracias por leer este post. Espero que hayas aprendido algo nuevo sobre la configuración y uso de módulos NRF24L01 para la comunicación bidireccional inalámbrica entre Arduinos. Si tienes alguna pregunta o comentario, no dudes en dejármelo a continuación.

0 0 votes
Article Rating
Suscríbete
Notify of
guest

0 Comments
Inline Feedbacks
View all comments