Вы находитесь на странице: 1из 22

16/7/2017 Comunicacin Inalmbrica con mdulos de RF de 433Mhz

Contacte con nosotros Iniciar sesin

Buscar

0
S/. 0,00

CATEGORAS
All Blog News Comunicacin Inalmbrica con mdulos de RF de 433Mhz

ARTCULOS POPULARES

Tutorial trasmisor de celda de carga HX711, Balanza Digital ago 23, 2015

Con guracin del mdulo bluetooth HC-05 usando comandos AT ago 08, 2015

Tutorial Mdulo GPS con Arduino jun 25, 2015

ARTCULOS RECIENTES

Usando ESP8266 con el IDE de Arduino oct 21, 2016

Tutorial Sensor de Distancia SHARP sep 28, 2016

Arduino y ESP8266 como cliente web ago 24, 2016

http://www.naylampmechatronics.com/blog/32_Comunicaci%C3%B3n-Inal%C3%A1mbrica-con-m%C3%B3dulos-de-RF-de.html 1/22
16/7/2017 Comunicacin Inalmbrica con mdulos de RF de 433Mhz

PROMOCIONES ESPECIALES
Mdulo Joystick
Con este modulo podras conectrolar...

S/. 8,00 S/. 10,00

Todas los promociones especiales

ETIQUETAS

sensor robot cnc Servo infrarrojo LED LCD driver Fuente cable

NOVEDADES
Piezo Buzzer activo 12mm
Agrega alertas o efectos de sonido a tus proyectos

S/. 1,00

Piezo Buzzer activo 22mm


Agrega alertas o efectos de sonido a tus proyectos

S/. 7,00

Shield Display LCD TFT 3.5"


Pantalla de 3.5", colores vvidos, incluye lector de tarjetas microSD.

S/. 70,00

Mdulo expansor IO PCF8574


El PCF8574 es un expansor de E/S compatible con la mayora de...

S/. 12,00

http://www.naylampmechatronics.com/blog/32_Comunicaci%C3%B3n-Inal%C3%A1mbrica-con-m%C3%B3dulos-de-RF-de.html 2/22
16/7/2017 Comunicacin Inalmbrica con mdulos de RF de 433Mhz
Sensor de presin BMP280
Sensor de presin baromtrica BMP280 de alta precisin y de bajo consumo...

S/. 15,00

Sensor de Presin, Temperatura y Humedad BME280


Sensor de monitoreo ambiental ideal para aplicaciones de Drones e...

S/. 28,00

Mdulo GY-91 MPU9250 + BMP280 : Acelermetro, Giroscopio, Magnetmetro, Altmetro I2C


Sensor ultra compacto de 10 grados de libertad (DoF)

S/. 50,00

Shield Relay v2
La manera ms sencilla y rpida de controlar cargas de alta corriente...

S/. 45,00

Todas los nuevos productos

Comunicacin Inalmbrica con mdulos de RF de


433Mhz
Posted by Tutoriales 37 Comments

http://www.naylampmechatronics.com/blog/32_Comunicaci%C3%B3n-Inal%C3%A1mbrica-con-m%C3%B3dulos-de-RF-de.html 3/22
16/7/2017 Comunicacin Inalmbrica con mdulos de RF de 433Mhz

En este tutorial vamos a realizar una comunicacin inalmbrica entre dos Arduino usando
mdulos de radiofrecuencia de bajo costo.
Los mdulos RF de 433Mhz son muy populares por su bajo costo y 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.

http://www.naylampmechatronics.com/blog/32_Comunicaci%C3%B3n-Inal%C3%A1mbrica-con-m%C3%B3dulos-de-RF-de.html 4/22
16/7/2017 Comunicacin Inalmbrica con mdulos de RF de 433Mhz

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 MCUs , sin embargo existen algunas
libreras que nos ofrecen ciertas ventajas como: verificacin de errores, mejor transmisin,
Direccionamiento, Enrutamiento, mallas, etc.

Antena para mdulos de 433Mhz


La antena tiene una gran influencia sobre todo en el mdulo receptor, por lo que se
recomienda conectar un cable de cobre de unos 17cm de largo para alcanzar la frecuencia
de 433MHz.Tambien son muy comunes y eficientes antenas helicoidales de 5mm de
dimetro y 3.4cm de longitud. La posicin de la antena tambin afecta la recepcin de
datos.

Para este tutorial se est usando antenas helicoidales.

http://www.naylampmechatronics.com/blog/32_Comunicaci%C3%B3n-Inal%C3%A1mbrica-con-m%C3%B3dulos-de-RF-de.html 5/22
16/7/2017 Comunicacin Inalmbrica con mdulos de RF de 433Mhz

Comunicacin Serial con mdulos RF


Para este tipo de comunicacin solo basta con conectar el mdulo RF al Pin RX o TX del
Arduino dependiendo si es transmisor y receptor.
Para este ejemplo usaremos un Arduino el cual transmitir seriamente informacin a
travs del RF transmisor, el mdulo receptor est conectado a un conversor USB serial
(Puedes usar otro Arduino en lugar del conversor) y visualizaremos los datos des de la pc.
La conexin es la siguiente:
Conexiones del emisor:

http://www.naylampmechatronics.com/blog/32_Comunicaci%C3%B3n-Inal%C3%A1mbrica-con-m%C3%B3dulos-de-RF-de.html 6/22
16/7/2017 Comunicacin Inalmbrica con mdulos de RF de 433Mhz

Conexiones del receptor

Con respecto al programa se trabaja como si se tratase de una comunicacin serial


(UART) normal, con el inconveniente que no existe validacin o seguridad para saber si
los datos son transmitidos correctamente. Pero se puede usar para visualizar mensajes o
datos que sean redundantes o que no sean necesarios validar.
Para lograr una mejor transferencia se recomienda usar velocidades de 1200 o 2400
baudios o inferiores.
A continuacin se muestra un cdigo de ejemplo para testear nuestros mdulos.

void setup() {
// Inicializamos la comunicacin serial a 2400 baudios
Serial.begin(2400);
http://www.naylampmechatronics.com/blog/32_Comunicaci%C3%B3n-Inal%C3%A1mbrica-con-m%C3%B3dulos-de-RF-de.html 7/22
16/7/2017 Comunicacin Inalmbrica con mdulos de RF de 433Mhz

void loop() {
Serial.print("Hola mundo ... ");
Serial.print(millis()); // enviamos los ms transcurridos
Serial.println("ms");
delay(10);
}

Para visualizar los datos recibidos, en herramientas cambiamos al puerto COM al del
conversor, abrimos el Monitor serial y cambiamos la velocidad a 2400 baudios, debemos
recibir los datos como se muestra en la siguiente imagen

Existen varios mtodos para validar informacin, una de las ms fcil de implementar es
en enviar el mismo dato varias veces, por ejemplo 3 veces y en el receptor se debe validar
verificando que se reciba 3 veces el mismo dato. Otros mtodos son la paridad, agregar
tramas de validacin, sumar los bytes trasmitidos, etc.

http://www.naylampmechatronics.com/blog/32_Comunicaci%C3%B3n-Inal%C3%A1mbrica-con-m%C3%B3dulos-de-RF-de.html 8/22
16/7/2017 Comunicacin Inalmbrica con mdulos de RF de 433Mhz

Comunicacin inalmbrica RF entre Arduinos usando libreras


Una de las librera ms comunes y eficientes es la VirtualWire desarrollado por Mike
McCauley, con esta librera vamos a trabajar los proximos ejemplos del tutorial
Necesitamos descargar la librera VirtualWire e importarla a nuestro IDE Arduino.
A continuacin explicamos las funciones principales de la librera:

void vw_setup(uint16_tspeed)
Inicializar el software VirtualWire, como parmetro hay que indicarle la velocidad de
operacin, que representa los bits por segundo para la transmisin RF

void vw_set_tx_pin(uint8_t pin)


Estable el pin IO digital por donde se va a transmitir los datos

void vw_set_rx_pin(uint8_tpin)
Estable el pin digital IO por donde se va a recibir datos.

void vw_rx_start()
Empieza a escuchar los datos provenientes por el pin_rx, es necesario llamar a esta
funcin para poder recibir los datos

uint8_t vw_send(uint8_t *buf,uint8_tlen)


Enviar un mensaje con la longitud dada. La funcin termina rpido pero mensaje ser
enviado en el momento adecuado establecido por las interrupciones. Dnde: buf , es
el puntero al vector para trasmitir. Y len es el nmero de bytes a transmitir

void vw_wait_tx()
Hace una pausa hasta que se trasmitan todos los datos.

uint8_t vw_get_message(uint8_t * buf, uint8_t * len )


Si un mensaje est disponible (con buena suma de comprobacin o no), almacena el
mensaje en buf , devuelve true si la comprobacin es correcta. buf es puntero a la
ubicacin para guardar los datos de lectura y leng es un puntero a la cantidad de bytes
disponibles de buf.

Conexiones entre el modulo RF y Arduino.


Antes de empezar a programar necesitamos hacer las siguientes conexiones:
Conexiones del Emisor:

http://www.naylampmechatronics.com/blog/32_Comunicaci%C3%B3n-Inal%C3%A1mbrica-con-m%C3%B3dulos-de-RF-de.html 9/22
16/7/2017 Comunicacin Inalmbrica con mdulos de RF de 433Mhz

Conexiones del receptor:

Ej.1 Encender y apagar una Led de forma


inalmbrica:
http://www.naylampmechatronics.com/blog/32_Comunicaci%C3%B3n-Inal%C3%A1mbrica-con-m%C3%B3dulos-de-RF-de.html 10/22
16/7/2017 Comunicacin Inalmbrica con mdulos de RF de 433Mhz

En este ejemplo se encender un led conectado al pin 13 del Arduino, para apagar y
prender se lo har de forma remota desde otro Arduino, para enviar la orden lo haremos
desde la PC pero se lo puede hacer a travs de un pulsador.
El cdigo del Emisor es el siguiente:

#include <VirtualWire.h>

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);
}

Como se observa el programa enva inalmbricamente el dato que recibe por el puerto
serie.

EL cdigo del receptor se muestra a continuacin:

#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

pinMode(13, OUTPUT); //Configuramos el pin del Led como entrada


digitalWrite(13, false);
}

void loop()
{
uint8_t dato;
uint8_t datoleng=1;
http://www.naylampmechatronics.com/blog/32_Comunicaci%C3%B3n-Inal%C3%A1mbrica-con-m%C3%B3dulos-de-RF-de.html 11/22
16/7/2017 Comunicacin Inalmbrica con mdulos de RF de 433Mhz

//verificamos si hay un dato valido en el RF


if (vw_get_message(&dato,&datoleng))
{
if((char)dato=='a')
{
digitalWrite(13, true); //Encendemos el Led
}
else if((char)dato=='b')
{
digitalWrite(13, false); //Apagamos el Led
}
}
}

Para encender el led es necesario abrir el monitor serial del trasmisor y enviar una a o b
para encender o apagar el Led respectivamente

Ej.2 Enviando Mensajes Entre mdulos RF


En este ejemplo un Arduino enva una mensaje Hola mundo hacia otro Arduino receptor,
para visualizar el mensaje recibido usaremos el monitor serial.
Cdigo del Emisor:

#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 mundo";

digitalWrite(13, true); // Parpadeamos el led al enviar


vw_send((uint8_t *)msg, strlen(msg));
vw_wait_tx(); //Esperamos hasta que el mensaje se envie
digitalWrite(13, false);
delay(200);
}

Cdigo del receptor:

#include <VirtualWire.h>

http://www.naylampmechatronics.com/blog/32_Comunicaci%C3%B3n-Inal%C3%A1mbrica-con-m%C3%B3dulos-de-RF-de.html 12/22
16/7/2017 Comunicacin Inalmbrica con mdulos de RF de 433Mhz

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;

digitalWrite(13, true); // Parpadeamos el led al recibir


//verificamos si hay un dato valido en el RF
Serial.print("Mensaje: ");

for (i = 0; i < buflen; i++)


{
Serial.print((char)buf[i]);
}
Serial.println("");
digitalWrite(13, false);
}
}

Para visualizar los datos es necesario abrir el monitor serial del receptor.

http://www.naylampmechatronics.com/blog/32_Comunicaci%C3%B3n-Inal%C3%A1mbrica-con-m%C3%B3dulos-de-RF-de.html 13/22
16/7/2017 Comunicacin Inalmbrica con mdulos de RF de 433Mhz

Ej.3 Enviando datos y variables con los mdulos RF


La librera principalmente trasmite cadenas de bytes, que pueden ser una cadena de texto
o un dato convertido en cadena, pero cuando se necesitan enviar varios datos hay dos
formas de hacerlo, un mtodo es empaquetar todo en una sola trama y enviarlo, el
receptor debe de desempaquetar y obtener los datos.
Otra forma ms sencilla es enviar un inicio de trama diferente para cada dato, el cual
indicara al receptor que dato es el que se est enviando, el siguiente ejemplo lo hacemos
de esta forma, enviaremos dos datos, cada uno con un inicio de trama diferente.
Cdigo del emisor:

#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_tx_pin(2); //Pin 2 como salida para el RF
http://www.naylampmechatronics.com/blog/32_Comunicaci%C3%B3n-Inal%C3%A1mbrica-con-m%C3%B3dulos-de-RF-de.html 14/22
16/7/2017 Comunicacin Inalmbrica con mdulos de RF de 433Mhz

void loop()
{
char buf[VW_MAX_MESSAGE_LEN]; // Cadena para enviar
int dato1=millis()/1000; //variable con el tiempo en segundos
float dato2=3.14; //segundo dato para enviar
String str="";

str="i"+String(dato1); //convertimos el entero a String y agramos un inicio de trama


str.toCharArray(buf,sizeof(buf)); //convertimos el String en un array
vw_send((uint8_t *)buf, strlen(buf)); //Enviamos el array
vw_wait_tx(); //Esperamos hasta que el mensaje se envie

str="f"+String(dato2); //convertimos el float a String y agramos un inicio de trama


str.toCharArray(buf,sizeof(buf)); //convertimos el String en un array
vw_send((uint8_t *)buf, strlen(buf)); ////Enviamos el array
vw_wait_tx(); //Esperamos hasta que el mensaje se envie

delay(200);
}

Cdigo del Receptor

#include <VirtualWire.h>

void setup()
{
Serial.begin(9600); // Debugging only
Serial.println("Receptor: 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;
int dato1=0;
float dato2=0.0;
//verificamos si hay un dato valido en el RF
if (vw_get_message((uint8_t *)buf,&buflen))
{
int i;
String DatoCadena="";
if((char)buf[0]=='i') //verificamos el inicio de trama
{
for (i = 1; i < buflen; i++)
{
DatoCadena.concat((char)buf[i]);
}
dato1=DatoCadena.toInt();
Serial.print("Dato1 recivido: ");
Serial.println(dato1);
}
http://www.naylampmechatronics.com/blog/32_Comunicaci%C3%B3n-Inal%C3%A1mbrica-con-m%C3%B3dulos-de-RF-de.html 15/22
16/7/2017 Comunicacin Inalmbrica con mdulos de RF de 433Mhz

else if((char)buf[0]=='f') //verificamos el inicio de trama


{
for (i = 1; i < buflen; i++)
{
DatoCadena.concat((char)buf[i]);
}
dato2=DatoCadena.toFloat();
Serial.print("Dato2 recivido: ");
Serial.println(dato2);
}
}
}

Los datos lo visualizaremos en el monitor serial del receptor

Pueden adquirir los materiales usados en este tutorial en


nuestra tienda
-Arduino Uno R3

-Mdulo RF 433MHz TX y RX
http://www.naylampmechatronics.com/blog/32_Comunicaci%C3%B3n-Inal%C3%A1mbrica-con-m%C3%B3dulos-de-RF-de.html 16/22
16/7/2017 Comunicacin Inalmbrica con mdulos de RF de 433Mhz

-Mdulo RF 433MHz TX y RX
-Cable Dupont, hembra a macho 20cm x 20Und
Tags: rf radiofrecuencia

78 ? ? 0 ? Compartir 3

37 Comments

cristian
jul 17, 2016

como puedo hacer la antena helicoidal. que calibre de cobre y cuanto necesito?

Reply

Naylamp
jul 20, 2016

Cristian, prueba con un cable calibre AWG 20 y has un espiral con dimetro 5mm y
3.5 cm de longitud, las espiras no deben de tocarse entre s, como se muestra en la
imagen del tutorial. Saludos

Reply

Federico Mahieu
jul 27, 2016

Buenas tardes, consulta, si quisiera tener comunicacion entre tres arduinos es posible codificar las
seales de los transmisores y receptores?.-Gracias.-

Reply

Naylamp
jul 28, 2016

Con estos mdulos RF no se pueden trasmitir ms de uno a la vez, estos mdulos


bsicamente trabajan con modulacin ASK, con ausencia y presencia de seal que
definen los 1 y 0 lgicos, por eso cualquier otra seal de la misma frecuencia
interfiere en la transmisin. Si quieres conectar ms de un Arduino tu algoritmo
debe asegurar que solo uno transmita a la vez.

Reply

Doen
abr 24, 2017

en los datos que transmitas le puedes agregar una identificacin para que el
dispositivo descarte la informacin que no esta dirigida a l

http://www.naylampmechatronics.com/blog/32_Comunicaci%C3%B3n-Inal%C3%A1mbrica-con-m%C3%B3dulos-de-RF-de.html 17/22
16/7/2017 Comunicacin Inalmbrica con mdulos de RF de 433Mhz

Reply

Jonathan Ascencio
sep 27, 2016

Existe algn mdulo o que componentes requiero que me permita comunicar varios dispositivos a
la vez. Por ejemplo tengo 5 focos (llamemos cliente) que estn con un rele y arduino y quiero
controlar su encendido y apagado desde un arduino principal (llamemos servidor). Es posible y
que mdulos o componentes de comunicacin requiero, Gracias.

Reply

Naylamp
sep 30, 2016

Hola Jonathan, Si solo existe un Emisor y varios receptores si es posible trabajar


con estos mdulos. Desde el emisor aparte del dato que deseas enviar tambin
tienes que enviar un variable con el ID del receptor con el que quieres comunicarte,
en el receptor tienes que validar si el ID es el que le corresponde para aceptar los
datos que recibe. En cambio s ms de un arduino va a trasmitir tienes que usar
mdulos RF de varios canales, para que no haya interferencia entre ellos. Para este
caso puedes usar el NRF24L01.

Reply

Alberto
oct 2, 2016

Muchas Gracias, es el primer tutorial, de este mdulo, que encuentro claro, fcil y que funciona. Es
frustrante empezar en este mundo y nada ms que encontrar basura por la red. Voy a ver si soy
capaz de modificar tu cdigo para encender el led con un botn. Una vez ms gracias, estaba
completamente desanimado.

Reply

Enzo Brandoni
oct 12, 2016

Hola, me gustara saber como debera modificar la programacin si quiero hacerlo con un
interruptor nada mas, sin PC. Voy a alimentar las placas con fuentes de computadora a 5v y quiero
que empiecen a transmitir en el momento en que enciendo la fuente del Emisor. Muchas gracias.

Reply

Naylamp
oct 14, 2016

Hola Enzo, va a depender de lo que quieres transmitir, nuestro tutorial se los ha


separado en tres ejemplos. El primero para enviar un solo dato, el segundo para
enviar texto, y el tercero para enviar varios tipos de datos. En los ejemplos 2 y 3 el
emisor trabaja sin PC, solo basta con alimentar y empezaran a transmitir, en los
receptores solo usamos la PC para mostrar los datos recibidos.

Reply

http://www.naylampmechatronics.com/blog/32_Comunicaci%C3%B3n-Inal%C3%A1mbrica-con-m%C3%B3dulos-de-RF-de.html 18/22
16/7/2017 Comunicacin Inalmbrica con mdulos de RF de 433Mhz

osvaldo
nov 2, 2016

Hola y si lo que quiero es transmitir datos en tiempo real es decir enviarlos desde el monitor serial
y como puedo hacerle asi mismo como puedo agregarle una activacin mediante una seal de otro
sensor

Reply

Naylamp
nov 5, 2016

Estimado Osvaldo, los ejemplos que mostramos son la base para que implementes
sobre ellos cualquier aplicativo, por ejemplo si quieres enviar desde el monitor
serial, los datos recibidos desde la PC puedes almacenarlos en un string y
posteriormente enviarlo como un solo mensaje al receptor. O tambin leer carcter
por carcter e enviarlo de como variable tipo char.

Reply

Ivan
nov 15, 2016

Buenas tardes, quera hacerte una pregunta. Podras ayudarme a realizar un programa para
manejar un motor, variando su velocidad con un potencimetro o a travs del monitor serial? Soy
estudiante de secundaria y estoy en proyecto para construir un Drone. Te agradecera mucho si
me ayudaras. Saludos.

Reply

Naylamp
nov 16, 2016

Estimado Ivn, Para la parte de radiofrecuencia puedes usar el ejemplo 3, aqu


envas la velocidad como una variable int dato1=analogRead(A0); y en A0 estara tu
potencimetro. En el receptor despus de leer la velocidad envalo al PWM de tu
motor, esto en caso sea un motor DC.

Reply

Felipe Vallejo
nov 24, 2016

Oye en que cambiara el programa para ponerle un pulsador

Reply

Felipe Vallejo
nov 24, 2016

Oye en que cambiara el programa para ponerle un pulsador

Reply

Naylamp

http://www.naylampmechatronics.com/blog/32_Comunicaci%C3%B3n-Inal%C3%A1mbrica-con-m%C3%B3dulos-de-RF-de.html 19/22
16/7/2017 Comunicacin Inalmbrica con mdulos de RF de 433Mhz

nov 26, 2016

Hola Felipe, En el ejemplo 1, el emisor seria as:


void loop() {
char dato[1];
if (digitalRead(buttonPin) == HIGH) {dato[0] ='a';}
else {dato[0] ='b';}
vw_send((uint8_t*)dato,sizeof(dato));
vw_wait_tx();
}

Reply

Giovanni Sosa
nov 24, 2016

Tengo una duda, es necesaria la antena para que funcione? Realice todo tal y como esta, con los
modulos a 2 cm de distancia sin antena pero no funciona, no se si sea necesaria la antena porque
estan casi pegados y aun asi nada :/

Reply

Naylamp
nov 26, 2016

Hola Giovanni, en una comunicacin serial podra fallar, pero usando libreras a esa
distancia si debera transmitir. Pero ponle una antena, si es distancias cortas
puedes trabajar con cualquier trozo alambre como antena.

Reply

Argelia Zalazar
dic 3, 2016

Disculpe, cree usted que podria ser posible utilizar el mismo arduino como emisor y receptor? y
que este reciba y mande seales a otro arduino emisor-receptor?

Reply

Naylamp
dic 14, 2016

Hola, Justamente esa es la limitacin de estos mdulos, que trabajan en un solo


sentido, y solo puede haber un emisor activo, si hubieran ms de un emisor habra
interferencia entre ellos. Lo que podras hacer es usar mdulos de diferente
frecuencia. Por ejemplo para transmitir en un sentido 433MHZ y para el sentido
contrario 315Mhz. Otra Opcin es apagar el modulo transmisor despus de enviar.
Para que el otro transmisor pueda responder. De igual manera tendras que pagar
el receptor sino estara recibiendo lo que el mismo arduino enva.

Reply

arturo
feb 13, 2017

http://www.naylampmechatronics.com/blog/32_Comunicaci%C3%B3n-Inal%C3%A1mbrica-con-m%C3%B3dulos-de-RF-de.html 20/22
16/7/2017 Comunicacin Inalmbrica con mdulos de RF de 433Mhz

Hola Naylamp. Una duda. los modulos RF vienen programados para funcionar unicamente con su
pareja?, algo asi como que manejen una codificacion interna que no permita que el modulo
receptor reciba una seal de un modulo emisor diferente a la pareja con el cual viene. no se si me
explico bien. Quiero colocarlo para manejar una cantonera elctrica de una puerta y usar el emisor
como una especie de control remoto que le genere la seal al receptor que activara la cantonera y
abrira la puerta y no me gustara que alguien con un modulo de los mismos, al emitir una seal,
sea recibida por mi modulo receptor y active la cantonera elctrica. Hay seguridad respecto a la
seal que recibe?

Reply

Naylamp
feb 13, 2017

Hola Arturo, estos modulo RF no vienen emparejado, con respecto a seguridad no


son una buena opcin, cualquiera que tenga programado otro mdulo con la misma
librera y velocidad puedes trasmitir o recibir datos. Existen chips codificadores
como el SC2272 que tienen una direccin de 8 bits para el emparejamiento, pero
para muchas aplicaciones esto an es inseguro.

Reply

Carlos
mar 6, 2017

Buena tarde Naylamp, te pregunto, fui a descargar la libreria y me sale que fue actualizada y ahora
no es VirtualWire sino RadioHead, ahora pregunto, cual es la nueva sintaxis que se utiliza con esta
nueva libreria? realmente he buscado pero no he podido encontrar como cambia. Por favor
colaborame. Gracias.

Reply

Naylamp
mar 7, 2017

Hola Carlos, aun no revisamos la actualizacin a RadioHead, pero se debe usar la


clase RH_ASK y sus funciones que son similares a las de VirtualWire, Pero aun
esta disponible la versin de VirtualWire te recomendamos trabajar con esa hasta
que haya documentacin suficiente.

Reply

ruben
mar 15, 2017

Hola , me gustara saber si mediante estos mdulos y arduino puedo transmitir audio (obviamente
en una sola direccion)

Reply

Naylamp
mar 31, 2017

Hola Rubn, No es posible transmitir audio, estos mdulos solo aceptan estados
digitales, y trasmiten a baja velocidad.

http://www.naylampmechatronics.com/blog/32_Comunicaci%C3%B3n-Inal%C3%A1mbrica-con-m%C3%B3dulos-de-RF-de.html 21/22
16/7/2017 Comunicacin Inalmbrica con mdulos de RF de 433Mhz

Reply

Carlos Coaquira
abr 11, 2017

Hola Naylamp, te felicito por tu aporte, es meritorio lo que haces, te pido me apoyes en este
proyecto, tengo 20 emisores (pulsador), en un radio de 50 metros y 01 receptor conectado al PC
que sea capaz de identificar quien puls el boton para enviarlo a una app y este asu vez enviar
un mensaje a otro dispositivo. Que me podrias aconsejar. Gracias de antemano.

Reply

Naylamp
abr 30, 2017

Hola Carlos, en cada emisor enva un identificador, como un inicio de trama para
poder diferenciar quien envi la cadena, el receptor con el identificador podr saber
en que Arduino se presion el pulsador. Tienes que enviar la cadena varias veces,
pues si se presionan dos pulsadores a la vez, ambos emisores funcionaran a la vez
provocando interferencia entre ellos

Reply

Yair Rojas
abr 15, 2017

Necesito alambre para hacer bobinas o simple cable

Reply

Naylamp
abr 30, 2017

Hola Yair, puedes usar cualquier cable, si es esmaltado o con aislante es mejor,
evitar que se oxide.

Reply

dcelin
may 29, 2017

Hola, Naylamp excelente trabajo. Soy estudiante de ingeniera electrnica y estoy algo
atascado con lo que pretendo hacer tengo un cdigo de emisin, este emite los datos que
escribo por el monitor serie, el receptor toma esos datos y los manda a un display lcd 16*2..EL
problema consiste en que solo se pueden trasmitir hasta 27 caracteres y necesito mandar ms,
lo que me planteo hacer mandar una cadena de 27 caracteres, el numero 27 va a ser un 1 o un
0. cuando reciba estos caracteres los debe recorrer y mirar el ultimo, si es un 1 debe guardar
esto en una variable y esperar ah que le llegue el siguiente mensaje, cuando reciba el siguiente
mensaje lo recorre y verifica si es un "1 o un 0" si es un 1 hace el mismo procedimiento de
guardar y esperar, si es un 0 debe guardar la informacin y mandar al lcd cada mensaje
recibido en un intervalo de tiempo por ejemplo 15 seg.
El 1 significa que entran mas mensajes.
El 0 significa que ya no va a mandar mas mensajes y que debe mostrar todo
Reply

http://www.naylampmechatronics.com/blog/32_Comunicaci%C3%B3n-Inal%C3%A1mbrica-con-m%C3%B3dulos-de-RF-de.html 22/22

Вам также может понравиться