• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
sterowanie przekaźnikami problem
#1
witam.
Jestem nowy na forum od niedawna posiadam arduino mega
chciałbym wykonać układ który załączał by 2 przekaźniki:
1. pierwszy przycisk (button) załącza 1 przekaźnik i nie wyłącza do momentu następnego przyciśnięcia. 2 przekaźnik oczekuje na sygnał drugiego przycisku.
2. drugi przycisk (button)  załącza 2 przekaźnik  i nie wyłącza do momentu następnego przyciśnięcia. 1 przekaznik oczekuje na sygnał z 1 buttona.
Ogólny zamysł jest taki że maja pracować niezależnie.
Napisałem kod ale nie rozumiem gdzie jest błąd jeżeli ktoś ma pomysł co jest nie tak to bedę wdzięczny za wszelkie rady.
Aktualnie układ działa tak ze mogę sterować jedynie jednym przekaźnikiem z obydwojgu przycisków.

Kod:
int buttonInput_1 =22;
int buttonInput_2 =24;

int buttonPushCounter_1 =0;
int buttonState_1=0;
int lastButtonState_1=0;

int buttonPushCounter_2 =0;
int buttonState_2=0;
int lastButtonState_2=0;

int relayOutput_1 =26;
int relayOutput_2 =28;

void setup () {
 
 pinMode(buttonInput_1,INPUT);
 pinMode(buttonInput_2, INPUT);

 pinMode(relayOutput_1, OUTPUT);
 pinMode(relayOutput_2, OUTPUT);

 Serial.begin(9600);
 }

void loop (){

            // button 1
 buttonState_1=digitalRead(buttonInput_1);
 if(buttonState_1 != lastButtonState_1){
   if(buttonState_1==HIGH){
     buttonPushCounter_1++;
     Serial.print(" relay 1 On");
     Serial.print(buttonPushCounter_1);
     }else{ Serial.print(" relay 1 Off");
     }
 }
 lastButtonState_1=buttonState_1;
 if(buttonPushCounter_1%4==0){
   digitalWrite(relayOutput_1, LOW);
   digitalWrite(relayOutput_2, HIGH);
   }else{
     digitalWrite(relayOutput_1, HIGH);
     digitalWrite(relayOutput_2, HIGH);
     }
     
               // button2:
 buttonState_2=digitalRead(buttonInput_2);
 if(buttonState_2 != lastButtonState_2){
   if(buttonState_2==HIGH){
     buttonPushCounter_1++;
     Serial.print(" relay 2 On");
     Serial.print(buttonPushCounter_1);
     }else{ Serial.print(" relay 2 Off");
     }
     delay(10);
 }
 lastButtonState_2=buttonState_2;
 if(buttonPushCounter_2%4==0){
   digitalWrite(relayOutput_2, LOW);
   digitalWrite(relayOutput_1, HIGH);
   }else{
     digitalWrite(relayOutput_2, HIGH);
     digitalWrite(relayOutput_1, HIGH);
     }
   }
 
Odpowiedź
  


Wiadomości w tym wątku
sterowanie przekaźnikami problem - przez stalker1992 - 07-12-2015, 20:12
RE: sterowanie przekaźnikami problem - przez JasQ - 07-12-2015, 21:44

Skocz do:


Przeglądający: 1 gości