Arduino y radiofrecuencia 433MHz con VirtualWire


En este tutorial aprenderemos a conectar 2 Arduinos de forma inalámbrica usando 2 módulos de radiofrecuencia de 433MHz. Estos módulos se venden en parejas (un emisor y un receptor) y por muy poco dinero permiten la comunicación sin cables entre dispositivos en un rango de hasta 100 metros si no hay obstáculos por medio.

Lo que haremos será enviar una señal de un Arduino (emisor) a otro (receptor) para que este último encienda o apague el led que tiene en el pin 13 según la orden recibida. Esto nos dará las bases para poder desarrollar proyectos más complicados basados en estos módulos de radiofrecuencia.

Para no complicarnos la vida usaremos la librería VirtualWire de Mike McCauley, esta librería se encarga de gestionar las funciones de los módulos RF como envío y recepción de paquetes de datos, comprobación de errores, etc… Para instalarla descargamos el paquete desde su web y descomprimimos la carpeta VirtualWire en la carpeta libraries de nuestra instalación del IDE de Arduino.

Descargar librería VirtualWire

Componentes necesarios para el proyecto

Para el desarrollo de este tutorial necesitaremos los siguientes componentes:

  • 2x Arduino (Nano, Mega, UNO,…)
  • 1x Par de emisor-receptor RF @ 433MHz
  • 1x Breadboard grande
  • 2x Baterías o pilas

Cableado y conexiones

Arduino y radiofrecuencia 433MHz con VirtualWire

El conexionado del emisor es muy simple, solo hay que conectar 3 cables. Alimentamos el emisor RF de 433MHz desde la salida de 5v del Arduino y GND y conectamos el pin DATA del emisor al pin Digital 12 del Arduino. Para el receptor RF hacemos lo mismo, lo alimentamos desde la salida de 5v del Arduino y negativo (GND), luego conectamos el pin DATA del receptor al pin Digital 11 del Arduino.

CONSEJO: Si os fijáis en las placas del receptor y del emisor veréis que tienen un pequeño agujero en una de las esquinas que esta marcado como ANT (antena), ahí podéis soldar un pequeño cable para mejorar la calidad y el alcance de la transmisión.

Sketch del emisor

Este es el sketch del emisor, como podéis ver envía “Encender” y “Apagar” en intervalos de 1 segundo.

Sketch del receptor

Gracias al módulo RF recibimos un montón de carácteres que se guardan en un array, entonces comprobamos si ese array es igual a ENCENDER o APAGAR y procedemos a encender o apagar el led del pin Digital 13 del Arduino.

Y con esto ya lo tendríamos todo listo para alimentar los Arduinos y ver como se enciende y apaga el LED. En la página web del autor podéis ver una lista completa de las funciones que implementa la librería, tenéis el enlace más arriba.

Compra los módulos RF en la tienda

[product id=”463″]  


[Total:3    Promedio:3/5]
Compartir en redes sociales: