发射装置: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发送测量的最简单/最好的方法是什么。
(在这种情况下40
或39
)
我想通过连接接收器单元并运行PIGPIO的RaspberryPi接收此值。
我很确定我没有真正掌握Virtual Wire的语法,并希望获得有关如何准备和发送消息的一些帮助。
答案 0 :(得分:0)
使用RaspberryPi上的UART端口从arduino上的UART接收数据。小心RaspberryPi是3.3V,Arduino是5V。如果你直接连接可以打破你的RaspberryPi。使用电阻将5V转换为3.3V。