Arduino Uno- sterowanie grupowe roletami

Masz problem z Arduino? Tutaj możesz szukać pomocy.
ODPOWIEDZ
wierzba123
Młodszy majsterkowicz
Posty: 27
Rejestracja: 23 cze 2015, 14:29

Arduino Uno- sterowanie grupowe roletami

Post autor: wierzba123 » 29 mar 2020, 16:14

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: Zaznacz cały

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);
}
}

Co miesiąc do wygrania nagrody o wartości ponad 1600 zł!


ODPOWIEDZ

Strony partnerskie: