Wpis z mikrobloga

Witam, mam problem z połączeniem nadajnika RF - 433MHz z czujnikiem URM07. Sam czujnik działa prawidłowo, nadajnik sam też. W jednym kodzie już tak nie jest - po ustawieniu vwsetup() na jakąkolwiek wartość różną od 0 czujnik wyrzuca odległość 0 - po ustawieniu komentarza w tej linijce czujnik działa poprawnie. Oto kod:

#include
#include

#define header_H 0x55 //Header
#define header_L 0xAA //Header
#define device_Addr 0x11 //Address
#define data_Length 0x00 //Data length
#define get_Dis_CMD 0x02 //Command: Read Distance
#define checksum (header_H+header_L+device_Addr+data_Length+get_Dis_CMD) //Checksum

SoftwareSerial NewSerial(10, 11);

int setDistance = 150;
const char *message = "X";

unsigned char i = 0;
unsigned int distance1 = 5000;
unsigned int distance2 = 5000;
unsigned char Rx_DATA[8];
unsigned char CMD[6] = {
header_H, header_L, device_Addr, data_Length, get_Dis_CMD, checksum
}; //Distance command package

void setup()
{
NewSerial.begin(19200); //Serial1: Ultrasonic Sensor Communication Serial Port, Buadrate: 19200
Serial.begin(19200); //Serial: USB Serial Data output, baudrate: 19200
vw_set_ptt_inverted(true); // On a communication line means that each
// party is either transmitting or receiving ( like a walkie talkie)
vw_set_tx_pin(12); // set transmitter pin
vw_setup(4000);
}

void loop() {
for (i = 0; i < 6; i++) {
NewSerial.write(CMD[i]);
}
delay(100); //Wait for the result
i = 0;
while (NewSerial.available()) { //Read the return data (Note: this demo is only for the reference, no data verification)
Rx_DATA[i++] = (NewSerial.read());
}
distance1 = ((Rx_DATA[5] << 8) | Rx_DATA[6]); //Read the distance value
Serial.println(distance1);
}

Proszę o pomoc.
#arduino
  • 14
@jerzalke: Jeśli cię to jeszcze ciekawi to:
Rozwiązałem problem więc może się komuś jeszcze przyda. Biblioteka VirtualWire koliduje w pewien sposób z pinami 10 i 11 - nie działa na nich PWM, nie działa na nich RX/TX przez bibliotekę SoftwareSerial, a jedynie HIGH/LOW.