Enviar pulso por RF

Se trata de RF queria saber como hacer para enviar un pulso a través de virtualwire.h, es decir quiero enviar una señal con un boton y que mi rx lo reconozca, sin uso de un control remoto.

#include <VirtualWire.h>
 
const int dataPin = 9;
const int dataPin = 10;//pin por donde salen los datos
//debe ser de los PWM
 
void setup()
{
    Serial.begin(9600);     
    vw_setup(2000);//Inicializamos los bits por segundo
    vw_set_tx_pin(dataPin);//Indicamos por donde bamos a escribir los datos
    //es por el pin por el que sale, el pin 9
}
 
void loop()
{
    while (Serial.available() > 0) //Comprobamos que la comunicación serie está disponible
    {
      char data[1];
      data[0] = Serial.read();//leemos lo que escribimos por el puerto serie y lo mandamos
      vw_send((uint8_t*)data,sizeof(data));//para que la estructura de datos sea correcta
      //lo mandamos. Hay que mandarlo con una estructura en concreto y especificamos el tamaño
      vw_wait_tx(); //Espearmos a que termie de escribirse       
    }
    delay(200);
}

VirtualWire implementa un protocolo de transmisión de datos, no puedes enviar simplemente un pulso.

No se entiende a qué te refieres.
¿De qué control remoto hablas?

Hola. Me referia a qué no quiero usar un control remoto con una frecuencia predeterminada, sino que quiero usar el módulo de RF de 433 e implementarle 2 botones uno de UP y el otro de DOWN

Vas a tener que usar dos arduinos, uno en el transmisor y otro en el receptor.

El código que subiste es el ejemplo de transmisor, si no me equivoco.
Lo que puedes hacer es modificarlo para que en lugar de enviar lo que recibe por puerto serie (por ej. lo que tecleas en la consola) envíe "UP" cuando pulsas ese botón y "DOWN" cuando pulsas ese otro. Solo lo doy como ejemplo, tu envía lo que quieras.

Del lado del receptor (revisa el ejemplo respectivo), cuando recibe "UP" incrementa una variable o enciende un LED o lo que sea que quieras que haga, por el contrario cuando recibe "DOWN" decrementa la variable o apaga el LED o lo que sea.

Solo tengo que escribir la orden tal cual? O tengo que poner algo de virtual wire?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.