// constants won't change. They're used here to set pin numbers:
const int buttonPin1 = 2; // нпн датчик снизу
const int buttonPin2 = 3; // нпн датчик шторка
#define PIN_RELAY1 13 // соленоид шторка
#define PIN_RELAY2 12 // соленоид 1
#define PIN_RELAY3 14 // соленоид 2
// variables will change:
int buttonState = 0; // variable for reading the pushbutton status
//int buttonState1 = 0;
void setup() {
pinMode(buttonPin1, INPUT); // вход кнопки
pinMode(buttonPin2, INPUT); // вход кнопки
pinMode(PIN_RELAY1, OUTPUT);
pinMode(PIN_RELAY2, OUTPUT);
pinMode(PIN_RELAY3, OUTPUT);
digitalWrite(PIN_RELAY1, HIGH); // исходное состояние реле
digitalWrite(PIN_RELAY2, LOW); // исходное состояние реле
digitalWrite(PIN_RELAY3, HIGH); // исходное состояние реле
delay(3000);
digitalWrite(PIN_RELAY3, LOW); // исходное состояние реле
}
void loop() {
// read the state of the pushbutton value:
buttonState = digitalRead(buttonPin1);
if (buttonState == HIGH){
delay(50);
buttonState = digitalRead(buttonPin1);
if (buttonState == HIGH){
while (true) {
delay(100);
buttonState = digitalRead(buttonPin1);
if (buttonState == LOW){
digitalWrite(PIN_RELAY1, HIGH);
delay(600);
digitalWrite(PIN_RELAY1, LOW);
digitalWrite(PIN_RELAY2, HIGH);
break;
}}}}
buttonState = digitalRead(buttonPin2); // это считываем шторку
if (buttonState == HIGH){
digitalWrite(PIN_RELAY1, HIGH);
delay(500);
digitalWrite(PIN_RELAY1, LOW);
digitalWrite(PIN_RELAY2, LOW);
}
}