1

发射设备:Arduino Micro,带有通过 VirtualWire 和超声波传感器的 433Mhz 发射器。均连接到 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 的语法,并且希望获得有关如何准备和发送消息的一些帮助。

4

1 回答 1

0

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

于 2016-12-03T13:31:20.497 回答