рдЖрдЧрдВрддреБрдХ рдХрд╛рдЙрдВрдЯрд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдмрд╛рдерд░реВрдо рдкреНрд░рдХрд╛рд╢ рдирд┐рдпрдВрддреНрд░рдг


рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдмрд╛рдерд░реВрдо рдореЗрдВ рдкреНрд░рдХрд╛рд╢ рд╡реНрдпрд╡рд╕реНрдерд╛ рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рди рдкрд░ рдХрдИ рд▓реЗрдЦ рд╣реИрдВ, рдЙрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЧрддрд┐ рдпрд╛ рд╡реЙрд▓реНрдпреВрдо рд╕реЗрдВрд╕рд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИрдВред рдХрд┐рд╕реА рдиреЗ рд╡реАрдбрд┐рдпреЛ рдХреИрдорд░рд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рднреА рдмрдирд╛рдпрд╛, рд╡рд┐рдХрд▓реНрдк рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рд▓реЗрдХрд┐рди рдпреВрдЯреНрдпреВрдм рдХрд╛ "рд╕реНрдЯрд╛рд░" рдмрдирдиреЗ рдХрд╛ рдореМрдХрд╛ рд╣реИред рдЕрдкрдиреЗ рдлрд╛рдпрджреЗ рдФрд░ рдиреБрдХрд╕рд╛рди рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдХреНрдпреЛрдВ рдХреЛрдИ рдирд┐рдпрдорд┐рдд рдЖрдЧрдВрддреБрдХ рдХрд╛рдЙрдВрдЯрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреНрд░рдХрд╛рд╢ рдХрд╛ рд╕реНрд╡рдд: рд╕рдорд╛рд╡реЗрд╢ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЖрдЦрд┐рд░рдХрд╛рд░, рдЗрдирдХрдорд┐рдВрдЧ рдФрд░ рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдХреА рдЧрд┐рдирддреА рдХрд░рддреЗ рд╣реБрдП, рдЖрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдиреНрдпрд╛рдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХрдорд░реЗ рдореЗрдВ рдХреЛрдИ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдФрд░ рддрджрдиреБрд╕рд╛рд░ рдкреНрд░рдХрд╛рд╢ рдХреЛ рдЪрд╛рд▓реВ рдпрд╛ рдмрдВрдж рдХрд░реЗрдВред


рдореАрдЯрд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рджреЛ рдЕрд╡рд░рдХреНрдд рджреВрд░реА рд╕реЗрдВрд╕рд░ E18-D80NK рдФрд░ Arduino Pro Mini рдЦрд░реАрджреЗ рдЧрдП рдереЗред рдЦрд░реАрдж рдХреЗ рд╕рдордп рд▓рд╛рдЧрдд 250 рд░реВрдмрд▓ рдереАред рдФрд░ 60 рд░реВрдмрд▓ред рдХреНрд░рдорд╢рдГред
рдЖрдИрдЖрд░ рд╕реЗрдВрд╕рд░


рдпреЛрдЬрдирд╛рдмрджреНрдз рдЖрд░реЗрдЦ (рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдпреЛрдЧреНрдп)ред
рдпреЛрдЬрдирд╛


рд╕реЗрдВрд╕рд░ рдбреЛрд░ рдлреНрд░реЗрдо рдореЗрдВ рд▓рдЧреЗ рд╣реЛрддреЗ рд╣реИрдВред
рдПрдВрдмреЗрдбреЗрдб рд╕реЗрдВрд╕рд░

рдЪреВрдВрдХрд┐ рдмрд╛рдерд░реВрдо рдкреНрд░рдХрд╛рд╢ рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд╛ рд╕реНрд╡рдЪрд╛рд▓рди рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ , рдЗрд╕рд▓рд┐рдП рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рджреЛ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдкрд╣рд▓рд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдВрджреЛрд▓рди рдХреА рджрд┐рд╢рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдВрд╕рд░ рдХрд╛ рддрд░реНрдХ рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рднрд╛рдЧ, рдкреНрд░рдХрд╛рд╢ рдирд┐рдпрдВрддреНрд░рдХ (рдХреЗрдУ), рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ / рдкреНрд░рдХрд╛рд╢ рдХреЛ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдФрд░ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХреА рдЧрд┐рдирддреА рдореЗрдВ рд▓рдЧрд╛ рд╣реБрдЖ рд╣реИред
Arduino ProMini рдЖрдВрджреЛрд▓рди рдХреА рджрд┐рд╢рд╛ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рджрд╛рд▓реЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╕реАрдУ рдкрд░ рдкрд╣реБрдВрдЪрддреЗ рд╣реИрдВ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рдкреНрд░рдХрд╛рд╢ рдХреЛ рдЧрд┐рдирдиреЗ рдФрд░ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧреЗ рд╣реБрдП рд╣реИрдВред
рдЖрдИрдЖрд░ рдХрд╛рдЙрдВрдЯрд░ рдХреЛрдб
bool flag = 0;
bool flag2 = 0;
bool state = 0;
bool state2 = 0;
int DoorPin = 10; //
int pause = 500;
int StatusDoor = 0;
int status1 = 0;
int status2 = 0;

void setup() {
  pinMode(13, OUTPUT); //   
  pinMode(12, OUTPUT); //   
  pinMode(DoorPin, INPUT);
  digitalWrite(DoorPin, HIGH);  //   
  pinMode(2, INPUT);
  pinMode(3, INPUT);
  digitalWrite( 12 , LOW );
  digitalWrite( 13 , LOW );
}
void loop() {
  StatusDoor = digitalRead(DoorPin);    //   
  if (StatusDoor == HIGH) {             //   ,   
    if (!digitalRead(2) && !flag) {
      delay(5);
      flag = 1;
      if (flag2 == 0) {
        state = 1;
      }
    }
    if (!digitalRead(3) && !flag2) {
      delay(5);
      flag2 = 1;
      if (flag == 0) {
        state2 = 1;
      }
    }
    if (digitalRead(3) && digitalRead(2)) {
      if (!flag || !flag2) {
        state = 0;
        state2 = 0;
        flag = 0;
        flag2 = 0;
      }
      if (flag && state2) { //
        digitalWrite( 13 , HIGH );
        delay(pause);
        digitalWrite( 13 , LOW );
        flag = 0;
        flag2 = 0;
        state2 = 0;
      }
      if (flag2 && state) { //
        digitalWrite( 12 , HIGH );
        delay(pause);
        digitalWrite( 12 , LOW );
        flag = 0;
        flag2 = 0;
        state = 0;
      }
    }
  }
}


рдХреЗрдУ рджрд░рд╡рд╛рдЬреЗ рдХреЗ рд╕рд╛рдордиреЗ рд╕реНрдерд╛рдкрд┐рдд рдкрд╛рд░рдВрдкрд░рд┐рдХ рд╕реНрд╡рд┐рдЪ рд╕реЗ рдкреНрд░рдХрд╛рд╢ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдХреЗрдУ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реНрд╡рд┐рдЪ рд╕реЗ рдкреВрд░реЗ рдЕрдкрд╛рд░реНрдЯрдореЗрдВрдЯ рдХреА рд▓рд╛рдЗрдЯрд┐рдВрдЧ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛, рдкреНрд░рдХрд╛рд╢ рдХреА рд╕реНрдерд┐рддрд┐ рдкрд░ рдбреЗрдЯрд╛ рд╕рдВрдЪрд╛рд░рд┐рдд рдХрд░рдирд╛ рдФрд░ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рд╕рд░реНрд╡рд░ рд╕реЗ рдПрдордХреНрдпреВрдЯреАрдЯреА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдорд╛рдВрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред
рд▓рд╛рдЗрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЛрдб рднрд╛рдЧ
 if (digitalRead(22) != pre1) { //    
    delay(pause);
    digitalWrite(33, !digitalRead(33)); //   ..    
    pre1 = digitalRead(22); //   
    int out1 = digitalRead(33);
    String char_out1 = String(out1);
    char_out1.toCharArray(b, 2);
    client.publish("myhome/Lighting/BathRoom_Main", b); //   
    if (digitalRead(33) == HIGH) {
      posetitel = 1;
      bathswitch = 1;
    }
    else if (digitalRead(33) == LOW) {
      posetitel = 0;
      bathswitch = 0;
    }
  }
  if (digitalRead(2) == 1 && (millis() - previousMillis > 3000)) { //      
    previousMillis = millis();
    if (bathswitch == 1) {
      posetitel = 0;
      bathswitch = 0;
    }
    posetitel++; 
    if (posetitel > 0) {
      delay(50);
      digitalWrite(33, 1);// 
      if (posetitel > 5) {
        posetitel = 5;
      }
      delay(5);
      client.publish("myhome/Lighting/BathRoom_Main", "1"); //    
    }
  }
  if (digitalRead(3) == 1 && (millis() - previousMillis > 3000)) { //      
    previousMillis = millis();
    posetitel--;
    if (posetitel <= 0) {
      posetitel = 0;
      delay(50);
      digitalWrite(33, 0);// 
      delay(5);
      client.publish("myhome/Lighting/BathRoom_Main", "0"); //    
    }
  }



рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдЕрдиреБрднрд╡ рд╕реЗ, рд╣рдо рдпрд╣ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рд╕реНрддреБрдд рдкреНрд░рдгрд╛рд▓реА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЪрд╛рд▓реВ рд╣реИред рдпрд╣ рд╕рдЪ рд╣реИ рдХрд┐ рдХрднреА-рдХрднреА рдЭреВрдареЗ рдЦрд░рд╛рдмреА рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдХрд╛рд▓реЗ рдХрдкрдбрд╝реЗ рдкрд░ рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рд╣реА рдХрднреА, рдФрд░ рдпрджрд┐ рд╕реЗрдВрд╕рд░ рдкреНрд░рд╡реЗрд╢ / рдирд┐рдХрд╛рд╕ рджреНрд╡рд╛рд░ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕реЗрдВрд╕рд░ рд╕реЗ рдЖрдкрдХреЗ рд╣рд╛рде рдХреЛ рд▓рд╣рд░рд╛рдиреЗ рдпрд╛ рд╕реНрд╡рд┐рдЪ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
рдФрд░ рдЕрдВрдд рдореЗрдВ, рд╡реАрдбрд┐рдпреЛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред


рдкрд╣рд▓рд╛ рднрд╛рдЧ - рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо, рд╢реБрд░реБрдЖрддред

Source: https://habr.com/ru/post/hi389885/


All Articles