Форум по Роботика

Технически форум => Електроника => Темата е започната от: Tsoni в Януари 26, 2014, 06:13:23 pm

Титла: RF 434 Mhz модули - май нещо изгоря...
Публикувано от: Tsoni в Януари 26, 2014, 06:13:23 pm
Здравейте!Някой работил ли е с тези модули от Роботев?До едно известно време се държаха наред, но изведнъж не може да се прати и една цифра.Съгурен съм че схемата ми е наред ето и кодовете:
Изпращане:

 #include <VirtualWire.h>

void setup()
{
  vw_set_ptt_inverted(true); // Required for DR3100
    vw_setup(2000);    // Bits per sec
        vw_set_tx_pin(3);
}

void loop()
{
  char *msg = "1";
  vw_send((uint8_t *)msg, strlen(msg));
    vw_wait_tx(); // Wait until the whole message is gone

}


Приемане:

#include <VirtualWire.h>

void setup()
{
  Serial.begin(9600);
  vw_set_ptt_inverted(true); // Required for DR3100
    vw_setup(2000);    // Bits per sec
    vw_set_rx_pin(2);
    vw_rx_start();       // Start the receiver PLL running
}

void loop() {
  uint8_t buf[VW_MAX_MESSAGE_LEN];
    uint8_t buflen = VW_MAX_MESSAGE_LEN;
   
    if (vw_get_message(buf, &buflen)) {
 
     digitalWrite(13, true);
     
     for (int i = 0; i < buflen; i++) {
       Serial.println(buf);
     }
     digitalWrite(13, 0);
    }
}


Ще съм благодарен ако някой тества самите кодове и  евентуално предположи къде може да е проблема или поне как да ги тествам поотделно дали работят.
 :)

Титла: Re: RF 434 Mhz модули - май нещо изгоря...
Публикувано от: AA в Януари 27, 2014, 03:22:56 pm
  Можеш да пуснеш бавна импулсна поредица като данни данни на предавателя - примерно 2-3 Hz и с един светодиод в изхода на приемника да контролираш какво получаваш. Така можеш да прецениш до някаква степен работи ли радиовръзката.
Титла: Re: RF 434 Mhz модули - май нещо изгоря...
Публикувано от: Tsoni в Януари 27, 2014, 05:27:17 pm
Може ли примерен код?
Аз пробвах изпращане на "1" с честота 5 Hz(слагах делей 200 в края на луупа) и нищо не ставаше - приемника не влизаше в иф-а за приемането на смислени данни.
Открих една функция с която се тества предавателя, но кода не иска да се компилира с нея - връща true ако предава данни
if (vw_tx_active == true) digitalWrite(13, 1);
Грешката е следната: vw_tx_active was not declared in this scope
Свалих последната версия на библиотеката уш, но просто не го възприема като функция...
Титла: Re: RF 434 Mhz модули - май нещо изгоря...
Публикувано от: AA в Януари 29, 2014, 08:19:48 am
  Не става дума за някакъв особен код. Изгенерирай с Ардуино-то импулсна поредица - примерно 200мс. високо ниво, 200мс. ниско. Включи към съответния изход светодиод през съпротивление 1кОм и той трябва да замига. Подай това като данни на предаателя. Включи към изхода на приемника друг светодиод през 1кОм. Трябва да имаш същото мигане.
  Не е проверка на 100% но вероятно ще те ориентира.