You are on page 1of 3

Comunicación entre Arduinos por

radiofrecuencia
36 respuestas

Hola, el otro día compre en ebay este modulo de radiofrecuencia para Arduino:

FS1000A

Este módulo se compone de un receptor y un emisor que funcionan en la frecuencia 315Mhz, las
conexiones con Arduino son muy sencillas:
En el caso del emisor (XY-FST):



ATAD (Data) —> Pin digital 3 (Se puede cambiar por otro en el código del programa).
VCC —> +5V
GND —> GND

Para el receptor (XY-RF-5V):




GND —> GND
DATA —> Pin digital 3 (Se puede cambiar por otro en el código del programa).
DATA —> Este pin lo dejaremos sin conectar, solo usaremos un pin de datos (Podemos usar
cualquiera de los dos).
VCC —> +5V

Antes de cargar el código es necesario descargar e instalar la librería VirtualWire, el enlace de descarga
directa es el siguiente:
http://www.open.com.au/mikem/arduino/VirtualWire/VirtualWire-1.14.zip
El siguiente código permite enviar y recibir un mensaje entre dos placas Arduino:
Código para el emisor:

void setup() 6. { 7. vw_set_rx_pin(3). vw_wait_tx(). { 20. Serial. { 24. 17. 17. i < buflen.Download Raw . Serial. { 6. 11. //Prueba y transmision de texto con el modulo RF para Arduino http://zygzax. Serial. 10.println(). uint8_t buflen = VW_MAX_MESSAGE_LEN. } 27. // Esperamos a que termine de enviar el mensaje // Esperamos para enviar el siguiente mensaje 18.com 2. //TRANSMISOR 3.begin(9600). // Configuramos la conexion serie con el ordenador 9. //Prueba y transmision de texto con el modulo RF para Arduino http://zygzax. 16. } 13. uint8_t buf[VW_MAX_MESSAGE_LEN]. //Mensaje a enviar: 14. // Requerido por el modulo RF // Velocidad de conexion bps // Pin en el que conectamos la patilla data del transmisor } 10. delay(200). int i. // Requerido por el modulo RF // Velocidad de conexion bps // Pin en el que conectamos la patilla data del receptor // Arrancamos el receptor 12.com 2.Download Raw . 8. vw_setup(2000).Data hosted with ♥ by Pastebin. 7. &buflen)) 19. void setup() 5.com . 8. 11. 5.com .write(buf[i]). . } Código para el receptor: Data hosted with ♥ by Pastebin. vw_rx_start(). 9. #include <VirtualWire. void loop() 15. 21. 22. 15. // Mensaje con un chequeo correcto. vw_set_ptt_inverted(true). // Comprobamos si hemos recibido datos // Los datos recibidos son guardados en el buffer // y enviados por el puerto serie al ordenador 26. #include <VirtualWire. vw_set_tx_pin(3). 14. void loop() 12. { 16. { 13. i++) 23. if (vw_get_message(buf. vw_setup(2000). 25. 18. const char *msg = "HOLA MUNDO". vw_set_ptt_inverted(true).See Original 1.h> 4. for (i = 0. vw_send((uint8_t *)msg.h> 4. //RECEPTOR 3.See Original 1. strlen(msg)).

deberíamos ver el mensaje que estamos emitiendo desde la placa emisora. } 29. .28. } Una vez cargados los programas y en ejecución. conectando el monitor serie de la aplicación Arduino con la placa receptora a 9600.