PRCTICA DE LABORATORIO 04
Comunicacin Inalambrica via Radio Frecuencia (RF) a 433 MHz
I. OBJETIVOS:
En este laboratorio Ud. aprender a realizar la comunicacin de forma inalmbrica
mediante mdulos de Transmisin (TX) y Recepcin (RX) bidireccional.
II. MATERIALES:
01 Computadora personal
01 Tarjeta Arduino UNO R3 (Opcional) por cada grupo
01 Modulo transmisor SKR 315 + Modulo receptor SKR 315
02 antenas tipo ltigo (whip) de 17.5 cm
01 diodo LED de 3mm o de 5 mm de cualquier color
01 Resistencia de valor 560 (puede ser cualquier valor entre 330 y 1 K)
01 Protoboard
01 Cautil + pasta + estao
01 juego de cablecillos de 10 20 cm
En este Laboratorio se realizara una comunicacin inalmbrica entre dos Arduino usando
mdulos de radiofrecuencia RF de 433Mhz de bajo costo. Los mdulos RF de 433Mhz son
de fcil uso. Vienen en pareja, emisor (FS1000A) y receptor (XY-MK-5V), el tipo de
comunicacin es Simplex, es decir en un solo canal y unidireccional, son de baja velocidad
de transmisin pero para aplicaciones bsicas son muy tiles.
Modulo RF Modulo RF
Receptor Transmisor
La frecuencia de trabajo es de 433MHz, debido a que es una banda de libre uso. Para
utilizar estos mdulos basta con alimentarlos y conectar el pin de datos por un lado del
Transmisor (TX) y en otro el Receptor (RX). Para la programacin no es necesario agregar
ningn tipo de librera, ya que es un proceso "transparente", por lo que el programa sera
igual a usar una comunicacin serial (UART) entre 2 Microcontroladores (MCUs) , sin
embargo existen algunas libreras que nos ofrecen ciertas ventajas como: verificacin de
errores, mejor transmisin, Direccionamiento, Enrutamiento, mallas, etc.
IV. PROCEDIMIENTO:
1. Realice el conexionado de Arduino con el Modulo transmisor como muestra la figura 2.
Conecte el mdulo RF al Pin TX del Arduino dependiendo si es transmisor y receptor.
Pin 1: Tx
Nota:
Debe soldar
la antena de
16.5 cm
Pin GND
Pin 5v
Figura 2: Conexionado Arduino y Modulo Tx de 433 MHz
Nota:
Debe soldar
la antena de
16.5 cm
Pin GND
Pin 5v
void setup() {
Serial.begin(9600);
Serial.println("Emisor RF");
// Se inicializa el RF
vw_setup(2000); // velocidad: Bits per segundo
vw_set_tx_pin(2); //Pin 2 como salida para el RF
}
void loop() {
while (Serial.available() > 0)
{
char dato[1];
dato[0] = Serial.read();
//Enviamos el carcter recibido al RF
vw_send((uint8_t*)dato,sizeof(dato));
vw_wait_tx();
}
delay(200);
}
#include <VirtualWire.h>
void setup() {
Serial.begin(9600); // Debugging only
Serial.println("setup");
// Se inicializa el RF
vw_setup(2000); // velocidad: Bits per segundo
vw_set_rx_pin(2); //Pin 2 como entrada del RF
vw_rx_start(); // Se inicia como receptor
void loop() {
uint8_t dato;
uint8_t datoleng=1;
//verificamos si hay un dato valido en el RF
if (vw_get_message(&dato,&datoleng))
{
if((char)dato=='a')
{
digitalWrite(7, true); //Encendemos el Led
}
else if((char)dato=='b')
{
digitalWrite(7, false); //Apagamos el Led
}
}
}
5. Desde el Arduino Transmisor, para encender el LED remoto es necesario abrir el Monitor
Serial del Trasmisor y enviar una a o b para encender o apagar el LED
respectivamente
En esta experiencia el Arduino Transmisor enva una mensaje Hola mundo hacia otro
Arduino Receptor, para visualizar el mensaje recibido usaremos el Monitor serial.
#include <VirtualWire.h>
void setup()
{
Serial.begin(9600);
Serial.println("Emisor: Setup");
// Se inicializa el RF
vw_setup(2000); // velocidad: Bits per segundo
vw_set_tx_pin(2); //Pin 2 como salida para el RF
}
void loop()
{
const char *msg = "Hola Arduino te saludo";
#include <VirtualWire.h>
void setup()
{
Serial.begin(9600); // Debugging only
Serial.println("Emisor: Setup");
// Se inicializa el RF
vw_setup(2000); // velocidad: Bits per segundo
vw_set_rx_pin(2); //Pin 2 como entrada del RF
vw_rx_start(); // Se inicia como receptor
}
void loop()
{
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
//verificamos si hay un dato valido en el RF
if (vw_get_message(buf, &buflen))
{
int i;
}
Serial.println("");
digitalWrite(7, false);
}
}
9. Finalmente para visualizar los datos en el Receptor es necesario abrir el Monitor Serial.
10. Qu ocurre si enva por ejemplo dos datos diferentes 3.14 y 177?
_____________________________________________________________
_____________________________________________________________
V. INFORME FINAL: