• 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
Arduino Uno- sterowanie grupowe roletami
#1
Witam,
mam w budowanym domu 8 rolet. Nie mam jeszcze podłączonej automatyki i włączników, wszystkie kable mam podciągnięte w jedno miejsce.
Chcę na szybko zrobić sterowanie grupowe. Przychodzę otwieram wszystkie rolety 1 przyciskiem, wychodzę zamykam wszystkie drugim przyciskiem.
2 moduły ssr po 8 przekaźników (góra,dół) podłączone pod dwa piny Arduino plus dwa przełączniki.
Przy roletach niebezpieczne jest załączenie dwóch kierunków w jednym czasie. Program który skleiłem działa tak, ze nie mogę wysterować dwóch przekaźników w jednym czasie. Na stole z dwoma przekaźnikami to działa.

Dobrze to jest zrobione czy macie jakieś uwagi ?


Kod:
int pushButton2 =2;// piny dla włączników
int pushButton3 =3;// piny dla włączników

int relayPin8 = 8; // Wejście modułu przekaźnika podłączone do pinu 8
int relayPin9 = 9; // Wejście modułu przekaźnika podłączone do pinu 9

int relayPinA0 = A0; // Wejście modułu przekaźnika podłączone do pinu A0
int pushed[] ={0,0};
int relayStatus[] ={HIGH,HIGH};
void setup() {
pinMode(pushButton2, INPUT_PULLUP); // określenie statusu przełącznika na pinie 2 jako wejście sygnału
pinMode(pushButton3, INPUT_PULLUP); // określenie statusu przełącznika na pinie 3 jako wejście sygnału

pinMode(relayPin8, OUTPUT); // określenie statusu przekaźnika na pinie 8 jako wyjście sygnału
pinMode(relayPin9, OUTPUT); // określenie statusu przekaźnika na pinie 9 jako wyjście sygnału

pinMode(relayPinA0, OUTPUT); // określenie statusu przekaźnika na pinie A0 jako wyjście sygnału
digitalWrite(relayPin8, HIGH);// status przekażnika przy uruchomieniu płytki wyłączony OFF
digitalWrite(relayPin9, HIGH);// status przekażnika przy uruchomieniu płytki wyłączony OFF
}
void loop() {
if(digitalRead(2) == LOW) // jeżeli na pinie 2 zamkniemy przełącznik to..
{
digitalWrite(relayPin9,HIGH);// przekażnik pinu 9 wyłączony

delay(500);
digitalWrite(relayPin8,LOW);// przekażnik pinu 8 włączony
delay(5000);
digitalWrite(relayPin8,HIGH);
}
if(digitalRead(3) == LOW) // jeżeli na pinie 3 zamkniemy przełącznik to..
{
digitalWrite(relayPin8,HIGH);// przekażnik pinu 8 wyłączony

delay(500);
digitalWrite(relayPin9,LOW);// przekażnik pinu 9 włączony
delay(5000);
digitalWrite(relayPin9,HIGH);
}
}
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości