Показано с 1 по 2 из 2
  1. #1
    Пользователь
    Регистрация
    04.12.2008
    Возраст
    47
    Сообщений
    75
    Вес репутации
    210

    По умолчанию управление зеркалами

    всем привет. возникла необходимость в управлении зеркалами. написали скетч.

    ///тогда так
    int Vpravo=0; ///Состояние // 1-правое //0- левое

    void setup() { /// обьявляем входы //
    digitalWrite(2,HIGH); // кнопка L
    digitalWrite(3,HIGH); //кнопка R
    digitalWrite(4,HIGH); // кнопка 1
    digitalWrite(5,HIGH); // кнопка 2
    digitalWrite(6,HIGH); // кнопка 3
    digitalWrite(13,HIGH); // кнопка 4 //////////////////////////////изменили
    //// обьявляем выходы
    pinMode(8, OUTPUT); ///реле К1 ///
    pinMode(9, OUTPUT); ///реле К2 /
    pinMode(10, OUTPUT); ///реле К3 /
    pinMode(11, OUTPUT); ///реле К4 //
    pinMode(12, OUTPUT); ///реле К5 //
    pinMode(7, OUTPUT); ///реле К6 ///////////////////////////////////////////изменили
    pinMode(8, LOW);
    pinMode(9, LOW);
    pinMode(10, LOW);
    pinMode(11, LOW);
    pinMode(12, LOW);
    pinMode(7, LOW);//////////////////////////////////////////////////изменили

    }

    void loop() { ///включае правое зеркало //вкл нулем//акт уровень 0
    if (digitalRead(2)== LOW && digitalRead(3)!= LOW)
    {Vpravo=1;} ///запоминаем
    ///включае левое зеркало
    if (digitalRead(3)== LOW && digitalRead(3)!= LOW)
    { Vpravo=0;}//запоминаем
    ////джостик////// L ///////////
    if(Vpravo==1&&digitalRead(4)==LOW&&digitalRead(5)= =HIGH&&digitalRead(6)==HIGH&&digitalRead(13)==HIGH )// нажат кн1
    { pinMode(8, HIGH); } // k1
    if(Vpravo==1&&digitalRead(4)==HIGH&&digitalRead(5) ==LOW&&digitalRead(6)==HIGH&&digitalRead(13)==HIGH )// нажат кн2
    { pinMode(9, HIGH);pinMode(10, HIGH);} // k2 k3
    if(Vpravo==1&&digitalRead(4)==HIGH&&digitalRead(5) ==HIGH&&digitalRead(6)==LOW&&digitalRead(13)==HIGH )// нажат кн3
    {pinMode(8, HIGH);pinMode(9, HIGH); } // спасибо
    if(Vpravo==1&&digitalRead(4)==HIGH&&digitalRead(5) ==HIGH&&digitalRead(6)==HIGH&&digitalRead(13)==LOW )//нажат кн4
    {pinMode(10, HIGH); }
    ////////////////////// R /////////////////////////////////
    if(Vpravo==0&&digitalRead(4)==LOW&&digitalRead(5)= =HIGH&&digitalRead(6)==HIGH&&digitalRead(13)==HIGH )// нажат кн1
    { pinMode(11, HIGH); } // k4
    if(Vpravo==0&&digitalRead(4)==HIGH&&digitalRead(5) ==LOW&&digitalRead(6)==HIGH&&digitalRead(13)==HIGH )// нажат кн2
    { pinMode(12, HIGH);pinMode(7, HIGH);} // k5 k6
    if(Vpravo==0&&digitalRead(4)==HIGH&&digitalRead(5) ==HIGH&&digitalRead(6)==LOW&&digitalRead(13)==HIGH )// нажат кн3
    {pinMode(11, HIGH);pinMode(12, HIGH); } // k4 k5
    if(Vpravo==0&&digitalRead(4)==HIGH&&digitalRead(5) ==HIGH&&digitalRead(6)==HIGH&&digitalRead(13)==LOW )//нажат кн4
    {pinMode(7, HIGH); } ///k6

    if(digitalRead(4)==HIGH&&digitalRead(5)==HIGH&&dig italRead(6)==HIGH&&digitalRead(7)==HIGH)// если ничего не нажато
    { pinMode(8, LOW);pinMode(9, LOW);pinMode(10, LOW);pinMode(11, LOW);pinMode(12, LOW);pinMode(13, LOW);} //// все откл
    }
    всё работает,но 13 пин при включении зажигания уводит зеркало.... можно ли на другой вход переназначить? не пойму....

  2. #2
    Продвинутый
    Регистрация
    15.12.2008
    Возраст
    37
    Сообщений
    229
    Вес репутации
    392

    По умолчанию Re: управление зеркалами

    Там где настраивали входы-выходы изменили, а в цикле не изменили, вот и работает как запрограммировано. Там где //если ничего не нажато 13 нога уходит в 0 а потом в цикле выполняется.
    Последний раз редактировалось manu_245; 25.10.2016 в 02:19.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •