通过VirtualWire发送Int(433MHz)

时间:2016-12-03 10:08:57

标签: arduino radio arduino-ultra-sonic

发射装置:Arduino Micro,带有433Mhz发射器,通过VirtualWire和Ultra Sonic传感器。 两者都连接到5V和地以及:

超声波传感器: 触发引脚: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的RaspberryPi接收此值。

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

1 个答案:

答案 0 :(得分:0)

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