Novedades
Más comprados
- T7000 HNBC Pegamento Adhesivo T-7000 15ml NEGRO transparente Pantalla LCD Móvil 3,14€
- T7000 HNBC Pegamento Adhesivo T-7000 50ml NEGRO transparente Pantalla LCD Móvil 5,14€
- PANTALLA DE CRISTAL PARA GAME BOY 54,40€
- 3x caja plastico almacenaje joyas electrónica herramientas collar 16.5x12x6 16,00€
- 3x caja plastico almacenaje joyas electrónica herramientas collar 14.2x8.2x3.4 10,50€
Lo que nos diferencia del resto
Atención Personalizada
Estamos aquí para ayudarle, si necesita información sobre un producto, tiene alguna duda o requiere asistencia con su pedido, no dude en contactar con nosotros.
Presupuestos a medida
Pida presupuesto sin ningún tipo de compromiso, tenemos descuentos para docentes y precios especiales por volumen.
¿Necesita distribuidor?
Queremos ser su proveedor de electrónica ¿Necesita productos que no tenemos en el catálogo? Los buscaremos y le daremos presupuesto y plazo de entrega.
Materiales necesarios:
2 x Arduino UNO
2 x Modulo RF NRF24L01
2 x Protoboard
1 x Pulsador
1 x Led
1 x Resistencias
1 x Cables de conexión
Conozcamos mejor el NRF24L01.
Características.
-Frecuencia: 2.4 GHz ~ 2.5 GHz
-Tensión de funcionamiento: 3 ~ 3.6V Max
-Corriente: 115 mA
-Multi-frecuencia: 125 Frecuencias
-Alcance: 700-1000 metros para la versión con amplificador y 20-30 metros para la versión sin amplificador.
-Soporta hasta seis canales de recepción de datos
Posición de pines
Vista inferior del módulo NRF24L01. | Vista superior del módulo NRF24L01. |
Esquema de conexión con Arduino
Practicando con el NRF24L01
NOTA: En nuestro caso, para hacer las prácticas, usamos el NRF24L01 con amplificador y antena, aun así este tutorial tambien nos ayudará a usar el NRF24L01 sin amplificador ya que la forma de manejarlo es exatamente la misma.
Conexiones.
NOTA: El módulo NRF24L01 se conecta a Arduino del mismo modo que vimos en el esquema de más arriba.
Conexión del pulsador del sistema emisor. | Conexión del led del sistema receptor. |
Código.
Una vez montado los dos sistemas procedemos a cargar el código correspondiente en cada uno de ellos.
Código emisor.
/** Tutorial Arduino: Módulo NRF24L01 Más información en: http://www.leantec.es/blog/44_Tutorial-Arduino--Modulo-NRF24L01.html * Pins del SPI: * Hardware SPI: * MISO -> 12 * MOSI -> 11 * SCK -> 13 */ //Incluimos las librerías necesarias #include <SPI.h> #include <Mirf.h> #include <nRF24L01.h> #include <MirfHardwareSpiDriver.h> void setup(){ Serial.begin(9600); Mirf.cePin = 8; // Cambiamos el pin CE al 8 Mirf.csnPin = 7; // Cambiamos el pin CSN al 7 Mirf.spi = &MirfHardwareSpi; // Configuramos el SPI de Arduino por Hardware Mirf.init(); // Inciamos el módulo de RF Mirf.setRADDR((byte *)"clie1"); // Indicamos la dirección para recibir datos Mirf.payload = 1; // Indicamos el número de datos que se espera recibir Mirf.config(); // Configuramos el módulo de RF pinMode(3, INPUT); //Configuramos el pin 3 como entrada para leer el estado del pulsador } void loop(){ uint8_t estadoPulsador[1]; // Variables modificadas según valor del pulsador estadoPulsador[0]=digitalRead(7); // Leemos el pulsador Mirf.setTADDR((byte *)"serv1"); // Configuramos la dirección a donde vamos a enviar los datos Mirf.send(estadoPulsador); // Enviamos los datos while(Mirf.isSending()){} // Esperamos que termine la emisión }
Código recpetor.
/** Tutorial Arduino: Módulo NRF24L01 Más información en: http://www.leantec.es/blog/44_Tutorial-Arduino--Modulo-NRF24L01.html * Pins: * Hardware SPI: * MISO -> 12 * MOSI -> 11 * SCK -> 13 * * Configurable: * CE -> 8 * CSN -> 7 * */ #include <SPI.h> #include <Mirf.h> #include <nRF24L01.h> #include <MirfHardwareSpiDriver.h> int led=4; //Declaramos el led en el pin 4 unsigned long time=0;// Variable para controlar el tiempo entre dato y dato int estadoled=0; //Variable para almacenar el estado del rele //----------------------------- Configuramos Ardunio --------------------------------------- //------------------------------------------------------------------------------------------ void setup(void){ Serial.begin(9600); Mirf.cePin = 8; // Cambiamos el pin CE al pin 8 de arduino Mirf.csnPin = 7; //Cambiamos el pin CSN al pin 7 de arduino Mirf.spi = &MirfHardwareSpi; // Configuramos el SPI de Arduino por Hardware Mirf.init(); // Inciamos el módulo de RF Mirf.setRADDR((byte *)"serv1"); // Indicamos la dirección para recibir datos Mirf.payload = 1;// Indicamos datos que se espera recibir(1, estado del pusador) Mirf.config(); // Configuramos el módulo de RF time=0; // Ponemos a 0 el tiempo pinMode(led, OUTPUT); // Configuramos el pin 6 como salida del led } //--------------------------- Arrancamos el programa --------------------------------------- //------------------------------------------------------------------------------------------ void loop() { byte datos[1]; // Buffer para almacenar los datos if(!Mirf.isSending() && Mirf.dataReady()){ // Esperamos recibir un dato Mirf.getData(datos); // Copiamos al buffer los datos recibidos time = millis(); // Almacenamos el tiempo en la variable if(datos[0]==1){ //El estado del led cambia cada vez que el pulsador esta activado(una sola vez) estadoled=!estadoled; digitalWrite(led, estadoled); while(datos[0] == 1){ Mirf.getData(datos); // Copiamos al buffer los datos recibidos } } } if ( ( millis() - time ) > 1000 ) {//Comprobamos si desde la última vez que recibimos un dato hasta ahora ha pasado mas de 1 seg Serial.println("Error de recepcion de datos"); //Línea para ver en el terminal que recibe delay(500); //Paramos 0,5 seg } else{ //Si todo está correcto y estamos recibiendo datos, seguimos } }
Written by leantec.ES
Equipo de Leantec.ES
no funciona amigo ya conecte tal cual no hace nada ni siquiera enciende el tx del arduino para ver si hay comunicación cualquier cosa quedo atento
saludos como puedo utilizar mi movil y un hc-05 como si fuera el pulsador y poderlo controlar desde una aplicación en mi movil
Buenas tardes,
Decís arriba que «Soporta hasta seis canales de recepción de datos»…
¿Donde podemos ver los canales que estamos usando?
Muchas gracias, un saludo.
Saludos
donde puedo decargar las librerias mirf en archivo zip?
gracias