RF433 alıcı/verici ile veri gönderme
  • Merhaba arkadaşlar
    Yapmışolduğıum bir uygulama belki birilerinin işine yarar diye paylaşıyorum.

    İki potansiyometreden okunan bilgiyi kablosuz karşı tarafa gönderip seri ekranda yazdırıyor.
    20-25metreden çalışmaktadır, daha fazlasını denemedim.

    Verici bağlantıları
    --------------------------
    verici kart-----------arduino
    data bacağı-----------12
    vcc------------------5v
    gnd------------------gnd

    iki adet potansiyometrede A4 ve A5 e bağlı


    Alıcı bağlantısı
    ------------------------
    alıcı kart----------arduino
    data bacağı---------11
    vcc----------------5v
    gnd---------------gnd

    Verici programı
    -----------------------------
    #include < VirtualWire.h>

    int Sensor1Data[2];
    int s=1;
    char Sensor1CharMsg[4];

    void setup() {
    Serial.begin(9600);
    vw_setup(2000); // Bits per sec
    }

    void loop() {

    Sensor1Data[0]=analogRead(A5);
    Sensor1Data[1]=analogRead(A4);

    itoa(Sensor1Data[s],Sensor1CharMsg,10); // veriyi int den char a dönüştür.

    vw_send((uint8_t *)Sensor1CharMsg, strlen(Sensor1CharMsg)); // Mesajı gönder
    vw_wait_tx(); // Mesaj gönderilene kadar bekle
    if(s==0)
    s=1;
    else if(s==1)
    s=0;
    delay(40);
    }


    Alıcı programı
    -------------------------
    #include < VirtualWire.h>
    int Sensor1Data[2];
    int s;
    char Sensor1CharMsg[4];

    void setup() {
    Serial.begin(9600);
    vw_set_ptt_inverted(true);
    vw_setup(2000);
    vw_rx_start();
    }

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

    if (vw_get_message(buf, &buflen))
    {
    if(s==0)
    s=1;
    else
    s=0;
    int i;
    // Message with a good checksum received, dump it.
    for (i = 0; i < buflen; i++)
    {
    Sensor1CharMsg[i] = char(buf[i]); // gelen mesajı SensorCharMsg nin içine yerleştiriyor.
    }


    Sensor1Data[s] = atoi(Sensor1CharMsg); // gelen mesajı char dan integeraçeviriyor.

    if(s==0)
    {
    Serial.print("X=");
    Serial.print(Sensor1Data[s]);
    Serial.print("\t");
    }
    else
    {
    Serial.print("Y=");
    Serial.print(Sensor1Data[s]);
    Serial.println("");
    }

    for (i = 0; i < 4; i++) // önceden alınan mesajı siliyor
    {
    Sensor1CharMsg[i] = 0;
    }}}




    Seri ekran görüntüsünü yükleyemedim ama görüntü şu şekilde oluşuyor

    X=829 Y=289
    X=829 Y=289
    X=829 Y=289
    X=829 Y=289
  • merhaba açık alanda maksimum ne kadar mesafeden çekmektedir hiç test ettiniz mi bir daha

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook
Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.