发射设备: Arduino Micro,433 via发射器,通过VirtualWire和超声波传感器。都连接到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的语法,我希望在如何准备和发送消息方面能得到一些帮助。
发布于 2016-12-03 21:31:20
使用RaspberryPi上的UART端口从arduino上的UART接收数据。小心RaspberryPi是3.3V,Arduino是5V。如果你直接连接,可能会破坏你的RaspberryPi。使用电阻将5V转换为3.3V。
https://stackoverflow.com/questions/40946578
复制相似问题