bclose

Los módulos de radio NRF2401

Usando radios para comunicar nuestros Arduinos

Objetivos

.

 
    • Presentar los módulos de radio NRF2401.
    • Describir la forma de conectarlos a nuestros Arduinos o similares.
    • Presentar un par de programas sencillos que nos permitan usarlos en nuestros proyectos para enviar y recibir órdenes o datos.
    • En este primer ejemplo de programa la comunicación será unidireccional..
 

 

Material requerido.

 

Imagen de Arduino UNO Arduino UNO o equivalente.
Transceptor de radio Un par de módulos de radio NRF2401,
conexiones Algunos cables de protoboard, preferiblemente Dupont macho/hembra más una protoboard
tienda online prometec

Las conexiones de radio

 

Hemos visto en anteriores sesiones, que poder usar conexiones inalámbricas nos ofrece unas posibilidades a las que resulta difícil renunciar cuando te acostumbras, y hemos hecho pruebas de conexiones tanto WIFI como Bluetooth.

Las WIFI nos permiten conectarnos a Internet con facilidad y podemos publicar páginas Web con valores de nuestros sensores y Arduinos o simplemente acceder a estos Duinos y pasarles parámetros u órdenes. EL BlueTooth es ideal si queremos controlar nuestros Arduinos sin más controlador que un móvil que ya llevamos habitualmente en el bolsillo.

Pero tanto el BT como el WIFI tienen unas limitaciones considerables en lo que se refiere a la distancia a la que podemos usarlo. No pasa más allá de 20 metros y eso en condiciones óptimas, pero no es raro que necesitemos más distancia, digamos 50 m, 0 200 m, y porque no un kilómetro.

Como siempre, cuando hay una necesidad en el mercado, surge alguien dispuesto a ofrecer una solución en forma de electrónica, y en esta ocasión vamos a presentar una solución magnifica para el tipo de problema que planteamos. Un medio de dar órdenes a un Arduino o similar, a una distancia que puede variar entre 50 metros y hasta digamos un kilómetro.

En esta sesión vamos a presentar y dar los primeros pasos con unos magníficos dispositivos de radio basados en el chip de Nordic semiconductor  NRF24, y que podemos encontrar en multitud de módulos de diferentes fabricantes, compatibles entre sí, por muy poco dinero, que es lo que nos gusta en esta casa.

Este dispositivo NRF2401, integra en un único chip, toda la electrónica y bloques funcionales precisos, para establecer comunicaciones RF (Radio Frecuencia) entre dos o más puntos a diferentes velocidades, (Hasta 2  Mb/seg) con corrección de errores y protocolo de reenvió cuando es necesario, sin intervención del control externo, lo que nos permite aislarnos de tobo el trabajo sucio y complicado relacionado con la transmisión física.

Las características más destacadas son:

 
  • Muy baratos, unos pocos dólares.
  • Operan en la banda de 2.4Ghz, que es de libre uso a nivel mundial.
  • Velocidad configurable de 250kb, 1 Mb o 2Mb por segundo.
  • Muy bajo consumo en Stand By (Cuando no se usan).
  • El alcance depende de si hay visión directa entre los nodos, o por el contrario hay obstáculos, pero nos ofrece un mínimo de unos 20 m hasta un máximo e 80m en óptimas circunstancias, en el modelo básico con la antena integrada.
  • Podemos encontrar modelos con antenas más eficaces por un coste un poco superior (no mucho no os asustéis) que aumentan de forma importante el alcance hasta casi un km.
  • Si no queremos complicarnos la vida son muy fáciles de usar y configurar y además son los enlaces más baratos que podemos encontrar para vincular nuestros Arduinos.
  • Compatibles con todo un rango de modelos de diferentes tipos y fabricantes.
 

 

Las ondas de radio

 

A finales del siglo XIX, James C. Maxwell estableció las leyes del electromagnetismo que describen la propagación de las ondas electromagnéticas y la relación que existe entre los campos magnéticos y la electricidad (de ahí el nombre) estableciendo una de las teorías básicas que regulan el funcionamiento del mundo moderno.

Todas la ubicuas emisiones de RF que nos rodean actualmente, fueron descritas por Maxwell y sus ecuaciones hace ya más de 100 años, y eso incluye las emisiones de radio en AM y FM, las de televisiones, tanto analógicas como digitales, la conexión de tu teléfono móvil y hasta las conexiones WIFI y Bluetooth de las que hemos hablado previamente.

Las primeras emisiones de radio viables se atribuyen  en 1901 Guillermo Marconi y son el precedente de toda la tecnología de radio actual apoyándose en los trabajos de Maxwell y Heinrich Hertz de quien deriva la unidad de medida de la frecuencia Hercios en español (Hertz en inglés)

 
  • La descripción de una onda de RF se realiza por su frecuencia, en Hercios, que indica el número de pulsos por segundo a los que bate la señal, y por su amplitud que indica la intensidad.
 

Ya hemos hablado antes del espectro de frecuencia y vamos a destacar que en la práctica llamamos RF a las señales de frecuencia inferior a los 300Ghz

Reparto por finalidad

Como podéis ver, el espectro de radiofrecuencias parece el camarote de los hermanos Marx, con los servicios de radio, TV, telefonía y demás por lo que es importante que los dispositivos que usemos emitan en el rango de frecuencias libres, es decir, en las que se permite que cualquiera emita y reciba, sin interferir con la operación normal de emisiones que operan los servicios sometidos a regulación.

Nuestros humildes módulos NRF2401 emiten a 2.4 GHz, lo que es banda libre y no requieren de ningún permiso para usarse en ninguna parte del mundo (Por mucho que os quieran meter miedo con esto). Pero a cambio, no tenemos garantía de que no haya alguien más emitiendo en esta banda en las cercanías, lo que puede producir interferencias con nuestra emisiones.

 
  • Cuando sintonizas tu emisora FM en el dial, digamos 103.4, es porque la emisora paga a la administración para ser la única que pueda emitir legalmente en esa frecuencia y de ese modo impida la interferencia de otros servicios comerciales.
  • Por eso el espectro de radiofrecuencias está sometido a un estricto control administrativo, en todos los países,  para evitar que señales en competencia interfieran entre si anulando la posibilidad de transmitir información valida.
 

 

Diagrama de conexión de un módulo NRF2401

 

Estos módulos usan el bus SPI para acelerar la conexión con el micro controlador por lo que vamos a ver la descripción de los pines necesarios para su conexión, en vista superior:

Descripcion de pines para el NRF2401

Hay dos librerías básicas para el manejo de los NRF2401s en Arduino, la NRF24 que es la que vamos a usar aquí (Porque me parece más sencilla) y la librería MIRF.

PINNRF2401Arduino UNOMEGA
GND1GNDGND
VCC23.33.3
CE39 9
CSN410 53
SCK51352
MOSI61151
MISO71250
IRQ82 –
 
  • Es importante recalcar que estos módulos funcionan a 3.3V; EL fabricante previene contra conectarles a 5V so pena de achicharrarlos.
  • La librería MIRF espera que hagas unas conexiones de pines diferentes, así que no te conviene usar este diagrama de conexión si pretendes utilizarla.
  • Tenéis que comprender que los modelos UNO y MEGA usan diferentes pines para el control del bus SPI y luego para rematar la faena, según la librería cambian de nuevo.
 

Vamos con el esquema de conexión de protoboard:

Diagrama de protoboard

Para poder emitir y recibir con estos módulos vamos a necesitar dos Arduinos configurados con estas conexiones a los que llamaremos emisor y receptor, porque inicialmente los programas van a ser distintos.

Empezaremos haciendo la prueba más sencilla posible. Uno de ellos, el emisor, radia una serie de números y el otro, el receptor, los recibe y muestra en la consola serie.

 
  • Aunque estos módulos consumen muy poco en uso o en Stand by, pueden absorber en el arranque más de lo que la fuente de 3.3V de Arduino puede proporcionar, lo que impide que arranque correctamente o que tenga un funcionamiento errático, especialmente en el caso del emisor.
  • Si buceáis en Internet, veréis cantidad de páginas recomendándoos usar unos condensadores entre los pines tal y cual.
  • Aunque tomar precauciones nunca sobra, los vagos somos incapaces de hacer algo así, mientras no se demuestre que es imprescindible.
  • En mi caso he comprobado que la manera más sencilla de evitar problemas (Que los he tenido) ha sido asegurarme de que el emisor tiene una alimentación correcta y abundante, mediante un alimentador externo de los típicos. Esta sencilla precaución ha hecho que en mi caso los problemas se reduzcan hasta desaparecer.

Power supply 

 

Programando las radios

 

Vamos a montar un primer ejemplo en el que crearemos dos programas diferentes que corren en dos Arduino diferentes. El primero será el programa emisor, que radiará números en secuencia desde 0 hasta el 255, y el segundo el programa receptor, que nos permitirá comunicarnos en una única dirección inicialmente.

Vamos con el programa emisor y para ello necesitamos la librería RF24-master, cuya última versión siempre podéis encontrar en https://github.com/maniacbug/RF24. Empezamos con unos cuantos includes, necesarios para el NRF2401 y para el bus SPI:

#include <nRF24L01.h>
#include <RF24.h>
#include <RF24_config.h>
#include <SPI.h>

Después tenemos que crear una instancia de la radio, indicándole los pins de control, y la siguiente línea indica el pipe a utilizar, que podemos imaginar como uno de los diferentes canales en los que la radio puede operar.

RF24 radio(9,10);
const uint64_t pipe = 0xE8E8F0F0E1LL;
 
  • El pipe es un numero de 64 bits, lo que indicamos con el tipo uint64_t , entero sin signo de 64 bits, y por si no estuviera suficientemente claro, le indicamos al compilador que se trata de un LL al final del número, o sea LongLong = 64 bits.
 

Y ahora basta con inicializarla en el setup:

void setup(void)
   {   Serial.begin(9600);
       radio.begin();
       radio.openWritingPipe(pipe);
    }

En el programa principal, simplemente vamos incrementando una variable para luego transmitirla por la radio

int msg[1] ;

void loop(void)
  {  for (int x=0;x<2255;x++)
       {  msg[0] = x ;
          radio.write(msg, 1);
       }
   }

Aqui os dejo el programa completo Prog_79_1_Emisor

En cuanto al programa receptor Prog_79_1_Receptor, tenemos que empezar incluyendo las mismas librerías, y un array mínimo para el entero a recibir, e instanciamos la radio como radio

#include <nRF24L01.h>
#include <RF24.h>
#include <RF24_config.h>
#include <SPI.h>

RF24 radio(9,10);
const uint64_t pipe = 0xE8E8F0F0E1LL;
int msg[1];

El setup es casi el mismo.

void setup(void)
   {  Serial.begin(9600); 
      radio.begin();
      radio.openReadingPipe(1,pipe);
      radio.startListening();
   }

Pero en vez de usar radio radio.openWritingPipe(pipe) para escribir, usamos radio.openReadingPipe(1,pipe) para poder leer y después radio.startListening() nos permite comenzar la escucha. Y ya solo falta el setup con el programa que recibe:

void loop(void)
   {   if (radio.available())
          {   int done = radio.read(msg, 1);
              Serial.println(msg[0]);
          }
   }

Se nos ha vuelto a perder la parte difícil, porque no me digáis que no es sencillo y elegante. El tema no da para más.  Si corréis los programas en Arduinos diferentes, la salida del receptor debería ser algo así:

Listado de numeros

Programa por el que no ganaremos ningún premio, pero que ilustra a la perfección como emitir datos numéricos uno a uno entre emisor y receptor mediante radio frecuencia. Si habéis llegado hasta aquí, enhorabuena acabáis de emitir por radio, vuestro primer mensaje.

Bueno, está bien. Enviar un carácter esta chupado, pero ¿Que pasa si hay que enviar un String completo, seguro que la cosa se complica?

Pues sí. Para enviar un mensaje de texto tenemos que cambiar un par de cosas. Primero definir un array de char suficiente para que quepa el mensaje:

char msg[16]="Prometec.net.\n" ;

Y después cambiar el loop para que envié los 16 caracteres

void loop(void)
   {  
       radio.write(msg, 16);
   }

Y por supuesto hay que cambiar el programa del receptor

void loop(void)
   {   if (radio.available())
           {   int done = radio.read(msg, 16);
               Serial.println(msg);
           }
   }

Basta con llamar a radio.write o radio.read con el array como parámetro y pasarle el número de caracteres que queremos enviar o recibir. Aquí tenéis el emisor y el receptor modificados.

Emisor_String

Receptor_String

He visto en Internet un programa que me encantó, porque lo que hace es colocar un LED rojo y uno Verde en los pines 3 y 5 de Arduino y después emite números entre 0 y 255 en el emisor mientras en el receptor corre un programa que controla que los números se reciban en el orden adecuado.

Cuando es así, ilumina brevemente la luz verde, en caso contrario la roja. Lo bueno de esto es que os sirve como ejemplo de si tenéis una buena recepción o no, ya que según el baile de los LEDs tenéis una idea bastante aproximada de los errores de trasmisión que tenéis en vuestra zona.

Usad el programa Prog_79_1_Emisor para el emisor y este programa en el receptor Prog_79_4.

 

Resumen de la sesión

.

 
    • Presentamos las unidades de radio NRF2401, que son ideales para muchos proyectos, porque son buenas, bonitas y baratas.
    • Vimos como conectarlas a nuestros Arduinos con confianza usando el SPI y un par de pines.
    • Descargamos y usamos la librería RF24 para el manejo de las radios y vimos los comandos básicos para enviar y recibir.
    • Hicimos un montaje de prueba con una comunicación en una única dirección.
 

 

 

 

(177) Comments

    • Jaime garcia

    hola, quisiera sabes si se puede utilizar dos módulos nrf24l01+ (uno con antena externa y uno sin antena externa) para hacer un enlace, debido a que tengo problemas de alcance y perdida de datos y no puedo usar dos módulos con antena externa.

  • Creo qu ya se por que tengo el error de void value not ignored as it ought to be, tengo instalada la libreria RF24-master pero la hecha por TMRh20 en lugar de la de manicbug, ya la tenia instalada anteriormente, pero con la nueva versión de arduino no están las carpetas de las librerías instaladas en la carpeta libraries del disco duro, solo estan las que son por default en arduino ide y no se como desintalarla, la instale con el gestor de librerias de arduino, y aunque copio la libreria de manicbug a la carpeta libraries me sigue dando el mismo error, supongo que por conflicto de librerias, como la pudo desinstalar e instalar la de manicbug?

    • Alberto

    Hola;
    Mi nombre es Alberto. Adquirí hace unos meses el GPS Shields DUINOPEAK así como el módulo NRF2410 en su tienda (atención exquisita). Ambos funcionan perfectamente por separado, pero cuando pongo el Shield del GPS en un arduino UNO y a través de este Shield conecto los pines del NRF2410 no consigo que funcione. Si programo un sketch para transmitir datos con NRF2410 en arduino UNO funciona correctamente, si trato de conectar los fines de este módulo al Shield del GPS el programa ya no funciona. He probado a encender un LED utilizando el Shields del GPS a modo de protoboard y funciona correctamente. ¿qué estoy haciendo mal?. Muchas gracias.

  • Hola, en el programa del receptor que publicaste me sale una falla en la linea 30 al compilar, me dice void value not ignored as it ought to be, no se donde se pueda encontrar el error, PD: no he podido hacer funcionar estos módulos todavía, agradecería tu orientación

    • Hola Roberto, he descargado el programa y no me da ningún error al compilarlo. Prueba a actualizar la libería y si no te funciona copianos el error completo a ver si podemos ayudarte. Un slaudo.

  • Estimados los e probado y tengo varias librerías, me podrían decir si en estos módulos la velocidad de transmisión afecta la distancia? es decir a menor velocidad es cierto que mayor distancia? lo otro e probado dos librerías la nRF24L01.h, que va junto con la RF24 y e probado la nRF24L01p.h, esta ultima muy facil de usar, alguien tiene datos al respecto con relación a distancia, en lo personal lo que mas e logrado conseguir son 500 mts pero nunca el kilómetro que promete…
    solo utilizo los que vienen con amplificador y antena externa.

    • Hola Crsitian, pues la verdad es que yo no lo he llegado a probar hasta tan lejos, a ver si alguien puede aportarnos algo. Un saludo.

    • Erik

    como puedo saber si mis módulos funcionan?, son el modelo con antena, los probé como scaner con el ejemplo de la librería nrf24 y me manda varios datos, pero a la hora de probar emisor y receptor no funciona, ya verifique las conexiones y el código y no logro ver cual es la falla, ya alimente con fuentes externas los arduinos, a lo que me refiero es que si hay alguna forma de saber si están dañados mis módulos, medir alguna resistencia o probar continuidad en algún lugar, ayuda por favor.

    • Hola Erik, estos módulos no tienen ningún led testigo que nos haga saber que funciona. Si por separado funcionan, es de suponer que funcionan bien, pero tampoco te puedo decir mucho más. Yo estoy utilizando un par de ellos para un coche RC y no me han dado problemas.

  • Buenas,

    Muchas gracias por los códigos, llevo dos días jugando como un niño pequeño con los módulos. Sin embargo, llevo cuatro horas peleándome con el que funciona de emisor. Lo he insertado en un viejo código que tenía de generación PPM y, a los pocos segundos de enviar tramas, se queda como bloqueado y no vuelve a funcionar hasta reiniciar el Arduino emisor. He puesto varios “chivatos” para que me digan en qué parte de las interacciones se queda y es dentro del loop justo al hacer unas cuantas radio.write(). Se para no solo la emisión, también el programa entero.

    Muchas gracias por vuestra ayuda! Un saludo desde Girona.

    Robert.

    • Hola Robert, puede ser que la alimentación durante la transmisión sea insuficiente, porque es el momento que tiene mayor pico de consumo, aunque lo digo un poco así a huevo. A ver si puedo hacer aluna prueba y te comento. Un saludo.

  • Buenas!

    Quería comentar un suceso que me trae un poco desquiciado desde hace tiempo.

    El caso es que estoy utilizando los módulos de radiofrecuencia tanto con arduino unos como con nanos (éstos últimos chinos). Cuando subo el programa emisor al arduino uno y empleo los nanos como receptores todo funciona según lo esperado, pero cuando quiero usar los arduinos nanos como emisores, solo me envían uno o dos paquetes de datos en los instantes posteriores a hacerles reset y posteriormente no envían nada.

    He probado comprando otros módulos de rf por si era ese el problema, pero no he conseguido solucionarlo.. alguien sabe que es lo que sucede??

    Saludos y buen post.

    • Hola Antonio, puede ser que la alimentación durante la transmisión sea insuficiente, porque es el momento que tiene mayor pico de consumo, aunque lo digo un poco así a huevo. A ver si puedo hacer alguna prueba y te comento. Un saludo.

  • Hola, soy novato en Arduino, y viendo los modulos nRF24L01 he pensado que se podrían usar para hacer un mando para controlar un robot que estoy haciendo.
    He probado el programa que envía números de 1 a 255 de un arduino a otro y veo que funciona muy bien.
    El problema es que tengo que enviar muchos códigos distintos para poder manejar las distintas partes del robot y he pensado que si utilizara un teclado 3×4 seria fácil enviar hasta 128 codigos distintos.
    El problema que me encuentro es que no se como pasar los datos char que me da el teclado para poder enviarlos por el nRF24L01 a pesar de que estoy haciéndole una conversión de cadena int con el comando atoi. Si me aparecen como caracteres y enteros en el modulo emisor, pero no recibe nada el modulo receptor.
    Debo de estar equivocándome en alguna parte.
    Desearia si es posible me ayudase para poder poner en orden mi programa.
    Gracias de antemano.Miguel
    P.D. El programa que he modificado es asi:
    //Envia 3 pulsaciones de teclado 3×4 como numero por nRF24L01
    #include
    #include
    #include
    #include
    #include

    int msg[1] ; // Array a transmitir
    RF24 radio(9,10); // Creamos un objeto radio del tipo RF2$
    const uint64_t pipe = 0xE8E8F0F0E1LL; // Usamos este canal
    String clave=”000″;
    char inicia_clave=’#’;
    const byte Filas=4;
    const byte Colum=3;
    char teclas[Filas][Colum]={
    {‘1′,’2′,’3’},
    {‘4′,’5′,’6’},
    {‘7′,’8′,’9’},
    {‘*’,’0′,’#’}
    };
    byte pinFilas[Filas]={8,7,6,5};// he dejado libre la linea 9 y 10 pues
    byte pinColum[Colum]={4,3,2};// son las que usa nRF24L01
    Keypad Teclado=Keypad(makeKeymap(teclas),pinFilas,pinColum,Filas,Colum);
    int numero;
    String strNumero;
    void setup(){
    Serial.begin(9600);
    radio.begin();
    radio.openWritingPipe(pipe); // Abrir para escribir
    Serial.println(“Empezamos”);
    Serial.println(“Pulsar # antes del numero”);
    }
    void loop(){
    strNumero=’0′;
    int n=0;
    char tecla=Teclado.getKey();
    if(tecla !=0){
    if(inicia_clave==tecla){
    while(n<3){
    clave[n]=Teclado.waitForKey();
    strNumero=strNumero+clave[n];
    n=n+1;
    }
    Serial.print("cadena= ");
    Serial.println(clave);
    numero=strNumero.toInt();
    Serial.print("numero= ");
    Serial.println(numero);
    msg[0] = numero;
    radio.write(msg, 1);
    }
    }
    }

    • Hola Miguel, en principio deberías poder enviar un array de char usando estos módulos, así que puedes convertir la cadena a un array de char y enviarlo.

    • Javier

    Hola, Buenos días.
    tengo dentro de un recogedor de persiana, un arduino nano, dos relés y el NRF24, todo funciona correctamente, pero a veces cuando pasa corriente por el relé para el motor de la persiana el NRF24 se queda sepia y tengo que reiniciar, ¿ debería de poner un condensador al NRF24 o intentar aislar los cables que vienen del motor ?, dentro del recogedor de la persiana tengo es espacio justo.

    Gracias de antemano.

    • Hola Javier, Hay varias cosas que puedes probar a ver que pasa. Lo del condensador siempre viene bien aunque habria que ir probando valores a ver que pasa. La otra es eparar la alimentacion de la electronica y el motor para aislarlos lo mejor posible

      • Hola, Buenas tardes.
        He revisado la alimentación y esta todo correcto, el problema esta en el motor que tengo conectado al relé es un motor de persiana de solo 140 W, pero genera bastante ruido eléctrico, exactamente siempre cuando el relé desconecta el motor, se me queda el NFR24 bloqueado, la duda que tengo sería un condensador en los polos del relé, pero de 100nf o 100uf, el rele es el típico de 10A.
        Saludos

  • Hola
    Y he realizado una conexión con la librería NRF24 y funciona correctamente para enviar y recibir con un canal pero quería saber cómo podría abrir dos canales distintos de emisión y luego elegir en el receptor el canal del que quiero los datos a modo de Mando de radiocontrol
    Muchas gracias

    • Hola Suso, no he hecho esa prueba pero no deberia ser muy complicado usando diferentes pipes

      • Es que la verdad no tengo claro la necesidad del segundo canal de transmisión ya que lo que estoy haciendo es un robot con un brazo (estilo andrómina) y lo que trasmito son velocidad, dirección y movimientos del brazo. Entonces en realidad ahora mismo lo que hago es enviar a través de un canal dos matrices de valores enteros, en la primera mando los datos de velocidad y dirección y en la segunda los valores de los ángulos de los servos del brazo.
        Pero no se, que opinas?
        Quizás parece más académico crear dos canales, uno para velocidad y dirección y otro para el brazo o incluso tres, uno para velocidad, otro para dirección y el tercero sería para el brazo. No se las ventajas que ofrecería, pero teóricamente así funcionaría un mando de radio control. Lo que sucede es que no sé como en la librearía del NRF21 indicar que canal estoy usando para el envío y luego en recepción cual es el canal que estoy recibiendo. A ver si alguien tiene idea de como indicar el número de canal que emite y el número de canal que recibe. Con uno, seguí tu tutoríal y la verdad es que va bien.

        • Hola tocayo.

          Si usas un módulo emisor y un módulo receptor en comunicación unidireccional, no tienes porqué crear más canales para enviar más datos (que creo que no sea posible). Por el mismo canal envías todos los datos que quieras empaquetados en un array, que luego en el receptor eliges qué dato quieres utilzar. En varios sketchs de prueba he podido enviar sin problemas datos de temperatura, humedad y valor analógico, incluido decimales.

          Si tuvieras varios nodos o módulos enviando información a un solo receptor, entonces sí tendrías que abrir un canal para cada emisor, lo que se llama una red en estrella o Multiceiver, pero creo que este no es tu caso.

          Saludos.

          • Muchas gracias Jesús, pues haré lo que dices, que además funciona perfectamente.

          • Imagen de perfil de Jesús Sánchez

            Por nada.
            Además, tienes parámetros para modificar la potencia, los reintentos, los canales de RF, la velocidad… con lo que puedes ajustar bastante para no perder paquetes.

            Saludos.

    • Antonio

    Esta antena tambien se puede usar con arduino micro o nano???

    • Hola Antonio.
      Sin problema. Un Micro y un Nano trabajan igual que un UNO.

  • sera posible conectar a estos modulos las lectoras rfid-rc522 enviar los datos a la placa aruino y recibir respuesta de validacion de usuario y activar un relee para abrir puerta te agradesco tu respuesta

    • No veo por qué no, y sería un proyecto muy chulo para por ejemplo controlar la apertura de una puerta de garaje, que estaríamos encantados de publicar en prometec. Un saludo.

    • Charlie

    Hola, buenas…
    El ejemplo del 123456… me funciona perfecto teniendo los dos arduinos conectardos vía USB al pc (un MacBook en mi caso), pero cuando empiezo a cambiar el modo de alimentación empieza a fallar muchísimo. Incluso falla con un alimentador para arduino de 5v comprado en esta web. Voy a montar un condensador tal como pone en alguna web que he visto, de que capacidad uf sería lo ideal, de 10uf?

    Gracias por toda la información vertida en esta web, sois un ejemplo de como fidelizar clientes. Seguid así.

    • Manu

    Hola, gracias por el tutorial.
    teniendo en cuenta que habláis de consumo de 1A…
    os parece que es posible usar el emisor con una bateria? de qué tipo debería ser?
    saludos

    • Hola Manu, deberías poder usar una batería pero asegúrate que tenga bastante capacidad o no te durará demasiado. Un saludo.

    • Hola Manu.

      Yo he usado, tanto una Li-Po de 3.7V y 3000mA más un convertidor DC-DC de 5V, como una 18650 de capacidad desconocida (China), y con ambas he alimentado todo el conjunto (Arduino, sensores, socket NRF y módulo NRF24).

      Saludos.

    • Luis Privado

    Hola! Estoy teniendo problemas con la comunicación y creo que puede ser debido a la potencia piso del emisor. Por lo que veo usas una fuente de alimentación externa para el emisor pero, ¿usas la fuente para alimentar el arduino emisor y desde este arduino alimentar el NRF24L01? ó, ¿con la fuente alimentas a 3.3V externamente el NRF24L01 independiente del arduino?. Muchas gracias

    • Hola Luis, tanto el emisor como el receptor tienen su propia alimentacion en el ejemplo y conviene que sea de al menos 1A porque los emisores pueden neceistar un cierto pico cuando envian señales

    • Hola Luis.

      Ultimamente he trabajado con estos módulos, tanto básicos como amplificados, y ciertamente los que traen antena externa y amplificador deben ser alimentados con una fuente aparte. No he visto necesario en el modelo básico (con antena integrada) y actuando como emisor, y lo he logrado hacer con los propios 5V de Arduino, sin problemas (red Multiceiver).

      Saludos.

Give a Reply

WordPress Anti-Spam by WP-SpamShield