2016-12-03 10 views
1

Передающее устройство: Arduino Micro с передатчиком 433 МГц через VirtualWire и ультразвуковым датчиком. подключены к 5В и заземления, а также:Отправка Int через VirtualWire (433MHz)

ультразвуковым датчиком: Trigger Pin: 11 Echo Pin: 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 МГц. (в этом случае 40 или 39)

Я хотел бы получить это значение с RaspberryPi, который имеет блок приемника, подключенный к нему, и выполняется PIGPIO.

Я уверен, что на самом деле я не получаю синтаксис Virtual Wire и буду благодарен за помощь в подготовке и отправке сообщения.

ответ

0

Используйте порт UART на RaspberryPi для получения данных от UART на ардуино. Будьте осторожны, RaspberryPi - 3,3 В, а Arduino - 5 В. Если вы подключаетесь напрямую, вы можете разорвать ваш RaspberryPi. Используйте resister для преобразования 5V в 3.3V.