{"id":822,"date":"2019-12-25T22:53:24","date_gmt":"2019-12-25T22:53:24","guid":{"rendered":"http:\/\/robots-argentina.com.ar\/didactica\/?p=822"},"modified":"2020-11-04T15:17:13","modified_gmt":"2020-11-04T15:17:13","slug":"arduino-comunicacion-inalambrica-con-nrf24l01","status":"publish","type":"post","link":"https:\/\/robots-argentina.com.ar\/didactica\/arduino-comunicacion-inalambrica-con-nrf24l01\/","title":{"rendered":"Arduino: Comunicaci\u00f3n inal\u00e1mbrica con NRF24L01"},"content":{"rendered":"
La funci\u00f3n de este art\u00edculo es ofrecer una explicaci\u00f3n sobre c\u00f3mo establecer una comunicaci\u00f3n inal\u00e1mbrica entre dos placas Arduino usando el m\u00f3dulo transceptor NRF24L01<\/strong>.<\/p>\n <\/a><\/p>\n La primera comunicaci\u00f3n inal\u00e1mbrica que explicar\u00e9 ser\u00e1 b\u00e1sica: enviar un simple mensaje de texto, tipo \u00abHola Mundo\u00bb<\/em><\/strong>, de un Arduino a otro.<\/p>\n A continuaci\u00f3n podremos extender este ejemplo de comunicaci\u00f3n al env\u00edo de comandos de texto \u2014usando el mismo circuito y estructura de programa\u2014 para controlar un sistema cualquiera ubicado en el extremo receptor.<\/p>\n M\u00e1s adelante ofrecer\u00e9 un art\u00edculo con un ejemplo de comunicaci\u00f3n bidireccional entre placas Arduino. Un Arduino tiene conectado un potenci\u00f3metro con el que se controla un servo en el segundo Arduino. Y en el otro sentido, unos interruptores en el segundo Arduino servir\u00e1n para controlar LEDs en el primero.<\/strong><\/p><\/blockquote>\n M\u00f3dulo transceptor NRF24L01<\/strong><\/p>\n En la imagen se observa el m\u00f3dulo transceptor NRF24L01<\/strong><\/a>. Utiliza la banda de 2,4 GHz<\/strong> y puede operar con velocidades de transmisi\u00f3n de 250 kbps<\/strong> hasta 2 Mbps<\/strong>. Si se usa en espacios abiertos y, con menor velocidad de transmisi\u00f3n, su alcance puede llegar hasta los 100 metros. Para mayores distancias, hasta 1000 metros, existen m\u00f3dulos provistos con una antena externa en lugar de una antena trazada sobre la misma placa, como se observa en la imagen.<\/p>\n <\/a><\/p>\n El m\u00f3dulo puede usar 125 canales diferentes, lo que da la posibilidad de tener una red de 125 m\u00f3dems que funcionen con independencia uno de otro en un solo lugar. Cada canal puede tener hasta 6 direcciones, es decir, cada unidad puede comunicarse con hasta otras 6 unidades al mismo tiempo.<\/p>\n <\/a><\/p>\n El consumo de este m\u00f3dulo es de alrededor de 12 mA durante la transmisi\u00f3n, un valor menor al de un LED encendido. El voltaje de operaci\u00f3n del m\u00f3dulo es de 1,9 a 3,6V, pero lo bueno es que los dem\u00e1s pines toleran la l\u00f3gica de 5V, por lo que podemos conectarlo sin problemas a un Arduino sin necesidad de un convertidor de niveles l\u00f3gicos.<\/p>\n <\/a><\/p>\n Tres de estos pines son para la comunicaci\u00f3n SPI<\/strong>: MOSI<\/strong>, MISO<\/strong> y SCK<\/strong>, que deben conectarse a los pines de la interfaz SPI del Arduino. Se debe tener en cuenta que diferentes placas Arduino pueden tener los pines del interfaz SPI<\/strong> en diferentes posiciones. Los pines CSN<\/strong> y CE<\/strong> se pueden conectar a cualquier pin digital de la placa Arduino, y su funci\u00f3n es configurar el m\u00f3dulo en modo de espera o activo, as\u00ed como para alternar entre modo de transmisi\u00f3n o de comando. El \u00faltimo pin, IRQ<\/strong>, es un pin de interrupci\u00f3n que no es necesario utilizar.<\/p>\n Una vez conectados los m\u00f3dulos NRF24L01<\/strong> a las placas Arduino, llegar\u00e1 el momento de escribir los programas para el transmisor, y para el receptor.<\/p>\n Conexionado para utilizar Arduinos Uno R3 en ambos lados de la comunicaci\u00f3n:<\/strong><\/p>\n