|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
  Raspberry Pi Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  AutoIt (Programación) Visual Basic Cosas de Windows Webs interesantes
Translate:
Búsqueda en este sitio:


.

Arduino en español
Circuitos con Arduino - Juan Antonio Villalpando

-- Tutorial de iniciación a Arduino --

Volver al índice del tutorial

___________________________

27E.- Bluetooth y nRF234L01 + RFX2401C. App Inventor. GFSK.

p9AA_bluetooth_radiofrecuencia.aia

- Vamos a enviar un mensaje desde el móvil al Arduino por Bluetooth con una aplicación realizada con App Inventor.

- Cuando el Arduino reciba ese mensaje lo Transmitirá mediante un módulo que contiene los chips nRF234L01 + RFX2401C a 2,4 GHz.

- El otro Arduino Recibirá el mensaje mediante otro módulo similar actuando como Receptor y lo mostrará en el Monitor Serie.

- nRF24L01_prelim_prod_spec_1_2.pdf

- RFX2401C.pdf

- RFaxis_Nordic_nRF24LE1_Range_Extension.pdf

- Documentación: http://maniacbug.github.io/RF24/classRF24.html

https://www.youtube.com/watch?v=CON0sWNDUco

- Un módulo puede recibir y transmitir a varios, cada uno deberá llevar su propia identificación (Pipe).

___________________________
- Conexiones de Arduino.

- Esta tarjeta tiene el nRF24L01 y el RFX2401C, este último es un PA (Power Amplifier), amplifica la señal de salida suministrada por el nRF24L01y también tiene un LNA ( Low-Noise Amplifier), esto es un amplificador de bajo ruido que amplifica la señal recibida en la antena con una sensibilidad de -100 dBm.

- Con esta pareja de chips, se puede alcanzar una distancia de 1000 m.

- 125 canales, cada canal ocupa 1 MHz.

- Alimentación 1,9 a 3,6 V

- Transferencia de datos: 250kbps, 1Mbps o 2Mbps.

- La potencia de salida del nRF25L01 se puede configurar en: 0 dBm, -6 dBm, -12 dBm o -18 dBm.

- Transmite paquetes de 32 bytes.

- Transmisión con reconocimiento ACK (Acknowledgement), esto es, transmite un paquete al receptor y este al cabo de los 130 µs le envía una respuesta de que lo ha recibido, esta respuesta provoca un pulso en el terminal IRQ del transmisor. Si el transmisor al cabo de un cierto tiempo no ha recibido confirmación ACK, vuelve a enviar el mismo dato.

- Si el receptor recibe a 250 Kbps su sensibilidad es de -94 dBm, si recibe a 2 Mbps su sensibilidad baja a -82 dBm, es decir cuanto mayor sea la velocidad de bits, menor es la sensibilidad.

- El RFX2401C puede suministrar una potencia de salida de unos 20 dBm.

- Antena 2,2 dBi

- Estos módulos pueden transmitir/recibir a una distancia de 1000 m, para ello es conveniente configurarlo para una velocidad de transmisión de 250 kbps, también es conveniente conectar a Gnd una de las conexiones Gnd cercanas a la antena (además del Gnd de los terminales), también sería conveniente poner un condensador de unos 10 uF en paralelo con la alimentación, y poner un módulo de alimentación independientede 3,3 V.

http://acoptex.com/project/9451/basics-project-083a-nrf24l01-24ghz-rf-transceiver-module-at-acoptexcom/#sthash.rAjpDn3a.dpbs

https://lastminuteengineers.com/nrf24l01-arduino-wireless-communication/


- Esquema.

___________________________
- Códigos de Arduino.

- Librería: https://github.com/nRF24/RF24

- Librería RF24.zip .

- Se envían paquetes de 32 bytes.

jBluetooth_Transmisor.ino

// Juan A. Villalpando
// kio4.com

#include <nRF24L01.h>
#include <RF24.h>
#include <SPI.h>
 
RF24 rf24(9,8); // (CE, CSN)
 
const byte identificacion[6] = "00005";
char caracterfinal = '\n';
String texto;
 
void setup(void){
   rf24.begin();
   rf24.openWritingPipe(identificacion);
   rf24.stopListening();
}
void loop(){
  if(Serial.available()) {
    texto = Serial.readStringUntil(caracterfinal);
    Serial.println(texto);
    char *msg = texto.c_str();
    rf24.write(&texto, sizeof(texto));
  }
}

 

jBluetooth_Receptor.ino

#include <nRF24L01.h>
#include <RF24.h>
#include <SPI.h>
 
RF24 rf24(9,8); // (CE, CSN)
 
const byte identificacion[6] = "00005";
 
void setup(void){
   Serial.begin(9600);
   rf24.begin();
   rf24.openReadingPipe(1,identificacion);
   rf24.startListening();
}
 
void loop(){
  if (rf24.available()){
    char texto[32] = {0};
    rf24.read(&texto, sizeof(texto));
    Serial.println(texto);
  }
}

___________________________
- Diseño.

___________________________
- Bloques.

_______________________________________________
- Otro modelo de tarjeta con el nF24L01.

- Este modelo no tiene el amplificador RFX2401C, por lo cual emite a una potencia menor y alcanza menor distancia.

- Módulo GWB: admite amplificador de ganancia unidireccional PA
- Intensidad de funcionamiento: 30mA
- Intensidad de emisión instantánea: 340mA
- Frecuencia de trabajo: 2,4 GHz
- Dstancia: 400 m con el modelo GWB
- 125 canales separados 1 MHz
- Modulación GFSK.

 

_____________________________________________________
- Modulación FSK, MSK, GMSK y GFSK.

- GFSK Modulation.

- Es un modulación de tipo FSK, como hemos visto anteriormente, pero se le aplica a la señal digital un filtro Gaussiano para suavizar la señal, que no se tan abrupto las subidas y bajadas de niveles, de esta forma de mejora el ancho de banda, como acabamos de ver en la modulación GMSK.


________________________________

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información