TxRx Inalambrico 433Mhz ASK/OOK

Para la transmisión/recepción simplificada usa el módulo RF 433MHz, que dispone de un pin para DATA único necesario para el ejemplo.

No se incluyen librerias para los periféricos de transmisión TX o Receptor RX

Transmisor: un bit alto y un bit bajo.

La señal de prueba se compone de un bit alto (1) por 100ms, y un bit bajo(0) por 100ms, suficiente para exponer el concepto que se quiere dar.

Sin embargo, el ancho de bit puede ser cambiado de forma simétrica, asimétrica, ajustado a las necesidades de uso.

La señal se aplica en dos formas:

  • pin de transmisión, pin 4, aplicado al transmisor RF433 en DATA
  • pin para LED, pint 13, del arduino, como señal visual .

Las instrucciones para el primer arduino que controla la transmisión corresponden a:

/* Prueba de transmisión,
 *  parpadeo de led y transmisión de bit
*/

#define TxRfPin 4 
#define ledPin 13 

void setup(){
    pinMode(TxRfPin, OUTPUT); 
    pinMode(ledPin, OUTPUT); 
    digitalWrite(TxRfPin,LOW); 
    digitalWrite(ledPin, LOW);   
}

void loop(){ 
    digitalWrite(TxRfPin, HIGH); 
    digitalWrite(ledPin, HIGH); 
    delay(100); 
    
    digitalWrite(TxRfPin,LOW); 
    digitalWrite(ledPin, LOW); 
    delay(100); 
 }

Receptor

El receptor se arma con otro arduino y el periférico receptor. El pin DATA del receptor se conecta al arduino usando como entrada el pin analógico A0; se obtienen valores en el rango [0, 1023].

Una muestra de lo recibido en forma gráfica se obtiene de «Serial Plotter» del programa arduino, y los datos del «Serial Monitor»

0
0
0
0
0
0
0
0
0
1023
1022
1023
1023
1023
1023
1023
1023
1022
1023
1023
1023
1023
1023

Dado que los valores obtenidos son lecturas analógicas y pueden variar, se usan umbrales para la detección de un bit 1 y un bit 0 para encender o apagar el led del receptor.

Encender o apagar el led se decide con los valores de umbral.

/* 
*  Receptor RF 433
*  Prueba de recepción data analógico
*/

#define RxRfPin A0 
#define ledPin 13 
unsigned int data = 0;   
const unsigned int umbralAlto = 800; 
const unsigned int umbralBajo = 400;

void setup(){
    pinMode(ledPin, OUTPUT);
    digitalWrite(ledPin, LOW);
    Serial.begin(9600);
 }
 
void loop(){
    data=analogRead(RxRfPin);
    Serial.println(data);
    if(data>umbralAlto){
        digitalWrite(ledPin, HIGH);
    }
    if(data<umbralBajo){
        digitalWrite(ledPin, LOW);
    }
}

Esquematico de conexiones


Información adicional

Especificaciones técnicas del RF433 de geektech:

Transmisor

  • voltaje de funcionamiento: 3V ~ 12V\n\r
  • corriente de trabajo : max 40mA (12V ) , min 9mA ( 3V )
  • Resonance : ondas de sonido ( SAW)
  • modo de modulación: ASK / OOK
  • frecuencia de trabajo: 315MHz-433.92MHz,
  • Transmission potencia : 25 mW ( 315 MHz a 12 V )
  • Frequency : + 150 kHz (max)
  • velocidad: 10Kbps
  • self : negativo
  • Aerial Longitud: 24cm ( 315MHz ) , 18 cm ( 433,92 MHz )

RX especificaciones técnicas:

  • voltaje de funcionamiento: 5.0VDC + 0.5V
  • corriente de trabajo: 2.5mA (5.0VDC)
  • principio de funcionamiento: superheterodyn
  • Método de trabajo : OOK / ASK
  • Operating Frecuencia : 315 MHz , 433,92 MHz,
  • ancho de banda : 2 MHz ( 315 MHz , con el resultado de la prueba en Lowing la sensibilidad 3DBm )
  • sensibilidad: sobresale -105dBm (50)
  • señal de salida: señal de nivel eléctrico TTL total transmitir

Referencia: https://arduinobasics.blogspot.com/2014/06/433-mhz-rf-module-with-arduino-tutorial.html Revisado wl 14/04/2018

Publicado por

Edison Del Rosario

edelros@espol.edu.ec / Profesor del FIEC/FCNM-ESPOL