2016-12-03 37 views
1

发送设备:带有433Mhz发送器的Arduino Micro通过VirtualWire和超声波传感器。 都连接到5V和地面以及:通过VirtualWire发送Int(433MHz)

超声波传感器: 触发引脚:11 回声引脚:12 433变送器: 发射器:11

到目前为止我的代码使用的NewPing库索尼克距离测量:

#include <NewPing.h> 
#include <VirtualWire.h> 
#define TRIGGER_PIN 10 
#define ECHO_PIN  12 
#define MAX_DISTANCE 500 
#define ledPin 13 

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); 


void setup() { 
    vw_set_tx_pin(11); 
    Serial.begin(115200); 
    pinMode(ledPin, OUTPUT); 
    vw_setup(2000); 
} 

void loop() { 
    delay(5000); 
    unsigned int uS = sonar.ping(); 
    Serial.print("Distance: "); 
    unsigned int Distance = (uS/US_ROUNDTRIP_CM); 
    Serial.print(Distance); 
    Serial.println("cm"); 
    digitalWrite(ledPin, HIGH); 
    delay(1000); 
    digitalWrite(ledPin, LOW); 
} 

这使我在串口监视器的输出是这样的:

Distance: 40cm 
Distance: 39cm 

我的问题:通过433 MHz发送测量的最简单/最好的方法是什么? (在这种情况下4039

我想与具有连接到它的接收器单元和运行PIGPIO一个树莓派接收此值。

我很确定我没有真正了解Virtual Wire的语法,并希望得到关于如何准备和发送消息的一些帮助。

回答

0

在RaspberryPi上使用UART端口从arduino上的UART接收数据。小心RaspberryPi是3.3V,Arduino是5V。如果你直接连接可以打破你的RaspberryPi。使用电阻将5V转换为3.3V。