Strona 2 z 2

Re: Zdalne sterowanie 433MHz na Arduino - prośba o pomoc

: 21 lis 2016, 5:52
autor: Krzysztof
Koniec już, proszę.

Re: Zdalne sterowanie 433MHz na Arduino - prośba o pomoc

: 21 lis 2016, 8:07
autor: Sławek
Racja, dzis jest Dzień Życzliwosci i pozdrowien ;)

Re: Zdalne sterowanie 433MHz na Arduino - prośba o pomoc

: 21 lis 2016, 9:24
autor: cyryl
mógł bym pomóc ;)
Co do modułów radiowych to polecił bym Ci zakup z wbudowanymi już kontrolerami i wyjściami na UART prosta obsługa ;) np taki https://botland.com.pl/moduly-radiowe/3 ... ntena.html jeśli zależy Ci na dalekim zasiegu
lub do 40 metrów https://botland.com.pl/moduly-radiowe/3 ... ntena.html ale lepszy jest ten pierwszy

Re: Zdalne sterowanie 433MHz na Arduino - prośba o pomoc

: 22 lis 2016, 22:32
autor: tryglaw
Witam

Kod sterowania przekaźnikami :

//czesc nadawcza 2 przekazniki

Kod: Zaznacz cały

#include <VirtualWire.h>
#define pin_p1 3
#define pin_p2 4
#define transmit_pin 10
int licznik;
int licznik1;

String stan, p1, p2;
char Msg[2];

void setup() {
  vw_set_tx_pin(transmit_pin);
  vw_setup(2000);
  pinMode(pin_p1, INPUT_PULLUP);
  pinMode(pin_p2, INPUT_PULLUP);
}

void loop() {

  if (digitalRead(pin_p1) == LOW) {
    while (digitalRead(pin_p1) == LOW) {
      delay(50);
    }
    licznik++;
  }
  if (licznik % 2 == 0) {
    p1 = "h";
  } else {
    p1 = "l";
  }

  if (digitalRead(pin_p2) == LOW) {
    while (digitalRead(pin_p2) == LOW) {
      delay(50);
    }
    licznik1++;
  }
  if (licznik1 % 2 == 0) {
    p2 = "h";
  } else {
    p2 = "l";
  }

  vw_setup(2000);
  String stan = p1 + p2;
  stan.toCharArray(Msg, (stan.length() + 1));

  vw_send((uint8_t *)Msg, strlen(Msg));
  vw_wait_tx();

  delay(10000);
}


// czesc odbiorcza do sterowania 2 przekażnikami

Kod: Zaznacz cały

#include <VirtualWire.h>
#define receive_pin 11
#define pin_pr1 3
#define pin_pr2 4

void setup() {
  vw_set_rx_pin(receive_pin);
  vw_setup(2000);
  vw_rx_start();
  pinMode(pin_pr1, OUTPUT);
  pinMode(pin_pr2, OUTPUT);
}

void loop() {

  uint8_t buf[VW_MAX_MESSAGE_LEN];
  uint8_t buflen = VW_MAX_MESSAGE_LEN;

  if (vw_get_message(buf, &buflen)) {

    String pr1, pr2;

    pr1 += char(buf[0]);

    pr2 += char(buf[1]);
    if (pr1 = "h") {
      digitalWrite(pin_pr1, HIGH);
    } else {
      digitalWrite(pin_pr1, LOW);
    }

    if (pr2 = "h") {
      digitalWrite(pin_pr2, HIGH);
    } else {
      digitalWrite(pin_pr2, LOW);
    }
  }
  delay(10000);     
}

Nie sprawdzałem czy działa, jestem w delegacji i nie mam arduino.
Wrócę do domu w piątek to przetestuję. Może do tego czasu dopiszę sterowanie serwa, chociaż mam wątpliwości co do dokładności działania takiego układu. Arduino mierzy 1024 poziomy napięcia z przedziału 0-5V. co daje rozdzielczość 0,0048V . Pływanie napięcia na potencjometrze będzie dawać ruchy serwa.

imrahil: poprawiłem formatowanie

Re: Zdalne sterowanie 433MHz na Arduino - prośba o pomoc

: 23 lis 2016, 8:50
autor: Krzysztof
Dziękuję bardzo :Piwo: :OK:
W weekend będę testował :mrgreen: