Go Down

Topic: VirtualWire und 433MhZ (Read 1 time) previous topic - next topic

sschultewolter

Hallo, ich nutze folgende Sketch um mit den einfachen 433MhZ aus der Bucht eine Verbindung aufzubauen. Gelingt soweit fürs erste. Sender und Empfänger sind auf einem großen Breadboard ca 10cm auseinander. Habe noch keine externen Antennen angebaut. Reicht es da einfach, 17cm lange Litze (zB. vom Cat7 Kabel) zu nehmen und die aufzuwickeln. Im Tutorial stand etwas davon, dass der Data Pin ein freier, NICHT Pwm Pin sein muss. Stimmt das soweit, bzw. gibt es noch andere Beschränkungen auf die Pin Wahl?

Code: [Select]
// 433 Mhz-Sender angeschlossen an PIN 7

#include <VirtualWire.h>

#undef int
#undef abs
#undef double
#undef float
#undef round

void setup()
{
     // Initialise the IO and ISR
    vw_set_ptt_inverted(true); // Required for RF Link module
    vw_setup(2000);                 // Bits per sec
    vw_set_tx_pin(7);                // pin 3 is used as the transmit data out into the TX Link module, change this as per your needs 
}

void loop()
{
    const char *msg = "Testnachricht";       // this is your message to send

   vw_send((uint8_t *)msg, strlen(msg));
   vw_wait_tx();                                          // Wait for message to finish
   delay(200);
}


Code: [Select]
#include <VirtualWire.h>    // you must download and install the VirtualWire.h to your hardware/libraries folder

#undef int
#undef abs
#undef double
#undef float
#undef round

void setup()
{
    Serial.begin(9600);   

// Initialise the IO and ISR
    vw_set_ptt_inverted(true);    // Required for RX Link Module
    vw_setup(2000);                   // Bits per sec
    vw_set_rx_pin(8);           // We will be receiving on pin 4 i.e the RX pin from the module connects to this pin.
    vw_rx_start();                      // Start the receiver
}

void loop()
{
    uint8_t buf[VW_MAX_MESSAGE_LEN];
    uint8_t buflen = VW_MAX_MESSAGE_LEN;

    if (vw_get_message(buf, &buflen)) // check to see if anything has been received
    {
    int i;
     // Message with a good checksum received.

    for (i = 0; i < buflen; i++)
    {
        Serial.print((char)buf[i]);                     // the received data is stored in buffer
        }
    Serial.println("");
     }
}
Orginal Atmel AVRISP mkII zu verkaufen. Anfrage per PN ;)

volvodani

Ich habe dieses System für das hier genutzt
http://forum.arduino.cc/index.php?topic=211383
Ich habe eine extra Antenne dran 17cm auf einem Stift audgewickelt und dann eine gedrehte Antennte daraus geamacht.

Dies Funktioniert auch über zwei Etagen. Da ich aber max 75m sicht habe (multicopter) denke ich das die kein Problem ist.
Gruß
Der Dani
"Komm wir essen Opa!" - Satzzeichen retten Leben!

Go Up