XY-MK-5V 433Mhz Data Radio Range Report
At 3. v on the Transmitter we achieved 31 meters
At 5v on Transmitter we achieved 47 meters
At 7.2v on Transmitter we achieved 82 meters !
The Code used on the Transmitter is as follows
Code:
#include <LiquidCrystal.h>
#include <VirtualWire.h> typedef struct roverRemoteData { int TX_ID; int Sensor1Data;// The variable were the data from each sensor int Sensor2Data;// will be stored int Sensor3Data; int Sensor4Data; int Sensor5Data;// will be stored int Sensor6Data; }; void setup() { Serial.begin(9600); // LED // VirtualWire setup vw_setup(2000); // Bits per sec vw_set_tx_pin(11); } void loop() { struct roverRemoteData payload; payload.TX_ID = 3; payload.Sensor1Data =255;// analogRead(Sensor1Pin); payload.Sensor2Data =4;// analogRead(Sensor2Pin); payload.Sensor3Data =4;// analogRead(Sensor3Pin); payload.Sensor4Data =4;// analogRead(Sensor4Pin); payload.Sensor5Data =4;// analogRead(Sensor1Pin); payload.Sensor6Data =4;// analogRead(Sensor2Pin); vw_send((uint8_t *)&payload, sizeof(payload)); vw_wait_tx(); vw_send((uint8_t *)&payload, sizeof(payload)); vw_wait_tx(); vw_send((uint8_t *)&payload, sizeof(payload)); vw_wait_tx(); vw_send((uint8_t *)&payload, sizeof(payload)); vw_wait_tx(); } the RX code Code:
#include <VirtualWire.h>
int RX_ID; int TX_ID =3; typedef struct roverRemoteData { int TX_ID; int Sensor1Data;// The variable were the data from each sensor int Sensor2Data;// will be stored int Sensor3Data; int Sensor4Data; int Sensor5Data;// will be stored int Sensor6Data; }; void setup() { Serial.begin(9600); vw_setup(2000); vw_set_rx_pin(11); vw_rx_start(); } void loop() { struct roverRemoteData receivedData; uint8_t rcvdSize = sizeof(receivedData); vw_wait_rx(); if (vw_get_message((uint8_t *)&receivedData, &rcvdSize)) { if (receivedData.TX_ID == 3) { //Serial.println("------------------------New MSG-----------------------"); //Serial.print("TX ID = "); Serial.print(TX_ID); //Serial.print("Sensor1Data:"); Serial.print(receivedData.Sensor1Data); //Serial.print("Sensor2Data:"); Serial.print(receivedData.Sensor2Data); //Serial.print("SensorData3:"); Serial.print(receivedData.Sensor3Data); //Serial.print("SensorData4:"); Serial.print(receivedData.Sensor4Data); //Serial.print("SensorData5:"); Serial.print(receivedData.Sensor5Data); //Serial.print("SensorData6:"); Serial.println(receivedData.Sensor6Data); //Serial.println("-----------------------End of MSG--------------------"); } else { Serial.println(" ID Does not match waiting for next transmission "); } } } Please note that this code only prints out "3,255,4,4,4,4,4" as this was all that was needed for our tests. Hope this helps someone with there projects! |
||
|