jueves, 21 de septiembre de 2017

Arduino Ejemplos: El modulo NRF2401 comunicación Unidireccional

Buenas a todos!!!

Siguiendo con la comunicación inalámbrica le toca el turno a los módulos NRF2401. Estos pequeños módulos comunican con Arduino para poder transmitir y recibir datos en la banda de 2.4GHz.
Esto hace posible una comunicación a una distancia de unos 250 metros, más que considerable si lo comparamos con los módulos HC-06 que solo tiene un alcance de entre 5 y 10 metros.

Como casi todos los componentes para Arduino son módulos con un costo bastante reducido, lo que los hace mucho más atractivos a la hora de decantarse sobre una comunicación de tipo inalámbrica, aunque eso dependerá en gran medida del proyecto que vayamos a realizar.
En mi caso lo usaré para temas relacionados con el radio control, ya que estoy a medio camino de terminar un pequeño transmisor partiendo como base de un mando de Xbox.

Ahora veamos las especificaciones técnicas del modulo NRF2401:
  • Fuente de alimentación: 1.9 ~ 3.6V
  • Tasa de transmisión: +7dB.
  • Alcance de la transmisión: 20-30m (100m sin obstáculos).
  • Dimensiones: 15x29mm.
  • Funcionamiento en la banda ISM de 2.4GHz, no se necesita licencia y es libre en todo el mundo
  • 3 Velocidades de datos: 250Kbps, 1Mbps y 2Mbps.
  • Consumo eléctrico muy reducido.
  • Precio muy reducido



Tipos de comunicación:

  • Comunicación unidireccional: 
Es la comunicación que usaremos en este ejemplo y solo transmitimos de un NRF2401 a otro.

  • Comunicación bidireccional o Duplex : 
Con este tipo de comunicación mandamos datos de uno a orto y en ambos sentidos, aunque no al mismo tiempo. Es decir el modulo A envía un dato al módulo B y el módulo B responde al módulo A.


 Para empezar primero tenemos que tener descargada e instalada la librería RF24-master que la podéis descargar desde Github

Para realizar este ejemplo he utilizado:
  • 2 Arduino Nano
  • 2 Módulos NRF2401
  • 1 Pulsador
  • 1 Resistencia de 10K
Como nota, he de recordar que este modulo funciona a 3,3V ponerlo a más voltaje implicaría su rotura, así que cuidado al conectarlo. Hago este recordatorio por que la mayoría de los módulos que hay para Arduino suelen funcionar a 5V y es fácil confundirse. Dicho esto...

Esquema de conexiones con Arduino:


Este es el vídeo de como funciona:







Un saludo

13 comentarios :

  1. Realmente creo que exageras cuando dices que alcanza 250 metros en campo abierto, ni el propio fabricante es capaz de demostrarlo.
    Hay artículos de excelentes profesionales técnicos que ni se atreven a decir el alcance, solo publican las pruebas y ni uno solo habla más allá de unos 30 metros con buena calidad de recepción de datos.

    ResponderEliminar
    Respuestas
    1. Buenas Anónimo, he revisado como dices lo de los 250 metros, y si he revisado las paginas donde suelo ver las especificaciones y solo he visto una https://www.electronicaembajadores.com/es/Productos/Detalle/LCNRL01/modulos-electronicos/modulos-nrf24l01-/modulo-transceptor-nrf24l01-transceiver- pero lo normal que pone en todos los sitios es de 20 a 30 metros y 80-100 en campo abierto, Para más distancia ya seria con antena: https://electronilab.co/tienda/modulo-transceptor-rf-nrf24l01-2-4-ghz-antena-sma-lna-y-pa/ Gracias por comentar!!!

      Eliminar
    2. no me funciona ninguno lo he revisado y no es la conexión, con cuánto de corriente se alimentan los modulos y con cuánto de voltaje es quiero usar Nano arduino.

      Eliminar
  2. Buenas noches. No deseo polemizar el tema, solo contar la experiencia. He utilizado estos módulos poniendo un receptor controlado por un Arduino Uno conectado a un modulo de reles para encender unas lamparas. del otro lado 3 pulsadores en el emisor conectado a un Nano. Ubiqué receptor en un balcón de un cuarto piso y me fui alejando y haciendo pruebas dándome un alcance de alrededor de 300 metros con linea de vista. Hice la misma prueba pero cambiando los modulos nrF24L01 (como los del video) por los que vienen con antena y el resultado fue de mas de 500 metros hasta que se me acabó el espacio para alejarme mas, pero he leído que puede llegar a mil metros con linea de vista.
    Espero que esta experiencia sea útil para darse una idea de lo que se puede hacer con estos módulos y que le sirva a alguien.

    ResponderEliminar
    Respuestas
    1. Buenas Cesar Palacios!! Gracias por comentar tu experiencia. Pues a raíz del comentario de Anónimo hice unas pruebas y, no se si es por "modelo" de NRF2401 que utilizo, pero me decepcione bastante. Poniendo en el mando el módulo SIN antena y en el vehículo uno de iguales características me quede :O ... 50 Cm!!! Para la prueba utilice el los mismos Sketch que he utilizado y que están en la web.
      La cosa cambia cuando en el mando pongo el módulo con antena, de echo en el vídeo del tanque se ve que se aleja y sigue funcionando sin problemas a más de 50 metros (aprox). Me gustaría profundizar más el tema, no se si es por la tasa de transmisión lo que hace que disminuya tanto la distancia, pero seria interesante si has hecho mas pruebas de este tipo que comentaras tu experiencia, yo por mi parte seguiré haciendo pruebas a ver si consigo aumentar la distancia entre módulos Sin antena,
      Saludos!!!!

      Eliminar
    2. Hola amigo Peyutron. Me parece raro que no te haya funcionado, en mi caso trabajaron muy bien tanto con antena como el de antena incorporada en el cto. impreso.
      Te cuento que tenemos funcionando 10 maquinas para regar plantaciones de flores controladas con arduino mediante estos módulos. En la máquina hay un receptor que consta de un arduino Uno, tarjeta de 4 reles los cuales controlan las entradas digitales de un variador de velocidad, este receptor tiene un modulo CON antena. Por otro lado el transmisor consta de un arduino Nano, 3 botones pulsadores y un modulo nRF SIN antena.
      El operario va estirando una manguera con la ayuda de la maquina, la que va desenrollando la manguera que esta montada en una especie de carrete o tambor, esto lo hace con el control que tiene un botón para enrollar, otro para desenrollar y otro para prender y apagar una válvula solenoide para el paso del agua. Todo el conjunto funciona muy bien y el alcance no es problema porque solo se necesita unos 100 metros. El sistema ha sido muy estable y lleva funcionando mas de un año.
      Disculpa lo extenso, era para explicar un poco esta experiencia y animar a la gente a que investigue y utilice estos módulos que no son difíciles de manejar y tienen muchas posibilidades. un saludo desde Medellin, Colombia

      Eliminar
    3. no me funciona ninguno lo he revisado y no es la conexión, con cuánto de corriente se alimentan los modulos y con cuánto de voltaje es quiero usar Nano arduino. si pudiéran compartir sus conexiones y el tipo de fuente que usa. Muchas gracias

      Eliminar
    4. Buenas Hussenq, las conexiones y los consumos vienen en este mismo artículo. Otros proyectos que tengo con este módulo están hechos con Arduino NANO. Las fuentes que he utilizado sin problemas son el USB, una batería de 9,6V y otra de 7,4v, pero con el USB es mas que suficiente. Otra cosa son los módulos de WIFI esos si que necesitan ( o es recomendable) una fuente de 3,3 algo más potente. Pero para el NRF con el USB debería funcionar

      Eliminar
    5. estoy usando el modulo con antena y no se puede

      Eliminar
    6. Hussenq puedes mandarme una captura del monitor serial y del montaje al correo peyutron@gmail.com a ver si te puedo orientar un poco, saludos!!!

      Eliminar
  3. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  4. Un saludo Peyutron, muy bien explicado el programa. Tengo una duda. Necesito exactamente esta implementación pero con 7 pulsadores y un LED diferente para cada uno. Qué tendría que modificar en el programa? La verdad es que soy nuevo en esto de arduino y no me queda muy claro como puedo hacerlo. Muchas gracias de antemano

    ResponderEliminar
  5. Buenas Abraham, Ultimamente tengo poco tiempo para el blog y támbien hace bastante tiempo que no toco el nrf, tengo un proyecto (que retomare espero pronto), donde implemento más pulsadores, aunque el nivel es un poco avanzado, espero que pueda ayudarte a resolver tu duda, es este:
    http://www.infotronikblog.com/2017/11/xboxrc24-un-mando-radio-control-con.html
    Lamento no poder ser de más ayuda, aunque viendo tu duda, cuando disponga de más tiempo ampliare la entrada del blog añadiendo un ejemplo con varios pulsadores.
    Saludos!!!

    ResponderEliminar