26-07-2021, 21:04
Witam jestem tu nowy
Od jakichś 5 lat bawię się z arduino ale z dłuższymi przerwami
chciałbym wykonać zdalne sterowanie do wciągarki leśnej :
-nadajnik z przełącznikiem dzwigienkowym (on)off(on)
-odbiornik z przekaźnikami sterujący elektrozaworami wciągarki
narazie napisałem mini program sterujący jednym przekaźnikiem
tylko nie wiem dlaczego odbiornik nie wysyła do nadajnika (3333) informujących o włączeniu przekaźnika
i gdy puszczę przycisk to przekaźnik się nie wyłącza.
może ktoś mi doradzić w czym tkwi problem ?
ewentualnie proszę was o podsuniecie innego pomysłu na sterowanie chwilowe dwóch przekaźników za pomocą 2x hc12 i 2x nano,
bo siedzę nad tym już drugi dzień i albo przekaźnik nie chce się wyłączyć albo sa lagi, a postanowiłem sobie ze nie odpuszczę i walczę z tym cały czas
Kod nadajnika:
Kod odbiornika:
Od jakichś 5 lat bawię się z arduino ale z dłuższymi przerwami
chciałbym wykonać zdalne sterowanie do wciągarki leśnej :
-nadajnik z przełącznikiem dzwigienkowym (on)off(on)
-odbiornik z przekaźnikami sterujący elektrozaworami wciągarki
narazie napisałem mini program sterujący jednym przekaźnikiem
tylko nie wiem dlaczego odbiornik nie wysyła do nadajnika (3333) informujących o włączeniu przekaźnika
i gdy puszczę przycisk to przekaźnik się nie wyłącza.
może ktoś mi doradzić w czym tkwi problem ?
ewentualnie proszę was o podsuniecie innego pomysłu na sterowanie chwilowe dwóch przekaźników za pomocą 2x hc12 i 2x nano,
bo siedzę nad tym już drugi dzień i albo przekaźnik nie chce się wyłączyć albo sa lagi, a postanowiłem sobie ze nie odpuszczę i walczę z tym cały czas
Kod nadajnika:
Kod:
#include <SoftwareSerial.h>
SoftwareSerial hc12nadajnik(10, 11); // RX, TX
#define guzik1 3
int dane =0;
void setup() {
pinMode(guzik1,INPUT_PULLUP);
Serial.begin(9600);
hc12nadajnik.begin(9600);
}
void loop()
{
if(hc12nadajnik.available())
dane = hc12nadajnik.parseInt();
Serial.println(dane);
if (digitalRead(guzik1)==LOW)
hc12nadajnik.println(1111);
if(dane==3333 && digitalRead(guzik1)==HIGH)
hc12nadajnik.println(0000);
delay(20);
hc12nadajnik.flush();
}
Kod odbiornika:
Kod:
#include <SoftwareSerial.h>
SoftwareSerial hc12odbiornik(10, 11); // RX, TX
#define przekaznik 2
int dane =0;
void setup() {
hc12odbiornik.begin(9600);
pinMode(przekaznik, OUTPUT);
Serial.begin(9600);
}
void loop() {
if(hc12odbiornik.available())
dane = hc12odbiornik.parseInt();
if(dane == 1111)
digitalWrite(przekaznik, HIGH);
if(przekaznik==HIGH)
hc12odbiornik.println(3333);
delay(20);
hc12odbiornik.flush();