2011-04-16 113 views
1

我是Arduino的新手。我有一些問題,通過RF模塊將兩個Arduino連接在一起。一切看起來都正確,但接收器不輸出從發送器發送的任何文本。我也嘗試將引腳10直接連接到Arduino nano,並且再次在接收器上沒有收到任何東西。Arduino串行通訊問題

如何解決這個問題?

// ARDUINO NANO TRANSMITTER 
#include <VirtualWire.h> 
int i; 
void setup() { 
    vw_set_ptt_inverted(true); 
    vw_setup(2000); 
    vw_set_tx_pin(10); 
} 

void loop() { 
    const char *msg = "Test Message"; 
    digitalWrite(13, true); 
    vw_send((uint8_t *)msg, strlen(msg)); 
    vw_wait_tx(); 
    digitalWrite(13, false); 
    delay(200); 
} 

// ARDUINO NANO RECEIVER 
#include <VirtualWire.h> 
int i; 
void setup() { 
    Serial.begin(9600); 
    vw_set_ptt_inverted(true); 
    vw_setup(2000); 
    vw_set_rx_pin(10); 
    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)) { 
     Serial.println("Found Something:"); 
     for (i = 0; i < buflen; i++) { 
      Serial.print(buf[i]); 
     } 
     Serial.println(""); 
    } 
} 
+0

還沒有用arduino完成RF,但是發現這個教程:http://letsmakerobots.com/node/12336 ...我沒有完全理解所有的東西,但是很冷,你嘗試添加#undefs後做#include? (#undef int #undef abs #undef double #undef float #undef round)。雙重檢查引腳也正確設置。 – 2011-04-16 18:01:06

+0

我也看過那篇文章,並嘗試過undef,我有一個感覺是RF收發器的問題。 – Joe 2011-04-17 11:27:39

+1

我會首先用直接連接工作。在此之前,RF模塊無法工作。 – 2011-05-09 11:38:54

回答

0

根據發射器的不同,您可能需要進行一些調整。我有幾個帶有電位器的RF模塊,我可以用小螺絲刀進行調整。我遇到的另一個問題是沒有足夠快地發送足夠的數據 - 發送單個字符失敗,但是發送完整的字符串可以正常工作。但是,這似乎不是你的情況的問題。