4 аналоговых датчика и 6 светодиодов помогите написать программу

italius
Offline
Зарегистрирован: 19.12.2011

 Вот эти

D_2 и D_3 не могут  быть  включены вместе и разрешено включение поочередно после первого выключившегося, соответственно в паре с D_1 D_1_1.

italius
Offline
Зарегистрирован: 19.12.2011

 Другими словами определить комбинации работы:

Если комбинация D_1 и D_2 находится в работе, то допустима к работе комбинация D_1_1 и D_2 и недопустима ни одна комбинация с участием D_3. Комбинация с участием D_3 ждет отключения комбинаций с участием D_2. И соответственно если ранее подключились комбинации с участием D_3, то комбинации с участием D_2 ждут отключения комбинации с D_3.

LEVV2006
LEVV2006 аватар
Offline
Зарегистрирован: 15.04.2011
int D_1=11;
int D_1_1=10;
int D_2=12;
int D_3=13;
int A_1=0;
int A_2=1;
int Millis1 = 0;
int Millis2 = 0;
int interval = 3000;
int flag=0;


void setup() 
{                
  pinMode(D_1, OUTPUT);
  pinMode(D_1_1, OUTPUT);  
  pinMode(D_2, OUTPUT); 
  pinMode(D_3, OUTPUT); 
}
void proverka(int analog, int D)
{
  if (analog<450&&flag==0)
  {
    Millis1++;
    delay(1);
    if(Millis1==interval) 
    {
      Millis1=0;
      digitalWrite(D, 1);
      digitalWrite(D_2, 1); 
      flag=1;  
    }
  }
  if (analog>=450&&analog<=495)
    Millis1=0;




  if (analog>550&&flag==0)
  {
    Millis2++;
    delay(1);
    if(Millis2==interval) 
    {
      Millis2=0;
      digitalWrite(D, 1);
      digitalWrite(D_3, 1); 
      flag=1;  
    }
  }
  if (analog>=505&&analog<=550)
    Millis2=0;




  if (analog>495&&analog<500)
  {
    flag=0;
    digitalWrite(D, 0);
    digitalWrite(D_2, 0);
  }



  if (analog>500&&analog<505)
  {
    flag=0;
    digitalWrite(D, 0);
    digitalWrite(D_3, 0);
  }



}
void loop() 
{ 
  proverka(analogRead(A_1),D_1); 
  proverka(analogRead(A_2),D_1_1);
}

 

italius
Offline
Зарегистрирован: 19.12.2011

 ДД

LEVV2006

Аналоговые два датчика на одном входе, я так понимаю - описка? Верно?

Пока не проверял, проверю обязательно отпишусь.

С ув

LEVV2006
LEVV2006 аватар
Offline
Зарегистрирован: 15.04.2011

я исправил. пробуй и пиши как работает 

italius
Offline
Зарегистрирован: 19.12.2011

Ок! Просто сейчас со временем немного, чуть позже попробую. Результаты опишу.

italius
Offline
Зарегистрирован: 19.12.2011

 LEVV2006

ДД

Проверил. Работает непонятно как, даже описать не могу, пробовал словить ошибки но получалась, что появлялись другие и диапазон который сначала не считывался вдруг читался.

Как то не совсем правильно все включается.

Что посоветуете.

Все в собранном виде.

С ув

Игорь

LEVV2006
LEVV2006 аватар
Offline
Зарегистрирован: 15.04.2011

Я тут так подумал. Комбинации с D_1 и D_1_1 работают вместе. Если я правильно понимаю этого быть не должно. для начала проверим работу моего уменьшенного кода и функций. А именно скачало закомментируем
proverka(analogRead(A_1),D_1); и посмотрим как работает а потом переставим комментарий на proverka(analogRead(A_1),D_1_1); и тоже проверим.
 

italius
Offline
Зарегистрирован: 19.12.2011

 Комбинации  с  Д_1 и Д_1_1 могут работать вместе если нуждаются во включении одного и того же диода или Д_2 или Д_3

Другими словами комбинация Д_1 + Д_2 + Д_1_1 раррешена  как и комбинация Д_1 + Д_3 + Д_1_1, оключать Д_1 и Д_1_1 по мере достижения своей границы отключения и запретить сочетание комбинаций при работе в однот и тоже время типа Д_1 + Д_2 + Д_1_1 + Д_3 дождавшись завершения первой включившейся.

С ув

Игорь 

italius
Offline
Зарегистрирован: 19.12.2011

 Сейчас перепроверил

Как-то получше но все равно есть ошибки плана подвисания при работе датчиков.

LEVV2006
LEVV2006 аватар
Offline
Зарегистрирован: 15.04.2011

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

 

int D_1=11;
int D_1_1=10;
int D_2=12;
int D_3=13;
int A_1=0;
int A_2=1;
int Millis1 = 0;
int Millis2 = 0;
int interval = 3000;
int flag=0;


void setup() 
{                
  pinMode(D_1, OUTPUT);
  pinMode(D_1_1, OUTPUT);  
  pinMode(D_2, OUTPUT); 
  pinMode(D_3, OUTPUT); 
}
void proverka(int analog, int D)
{
  if (analog<450&&flag==0)
  {
    Millis1++;
    delay(1);
    if(Millis1==interval) 
    {
      Millis1=0;
      digitalWrite(D, 1);
      if (digitalRead(D_3)==0)
        digitalWrite(D_2, 1); 
      flag=1;  
    }
  }
  if (analog>=450&&analog<=495)
    Millis1=0;




  if (analog>550&&flag==0)
  {
    Millis2++;
    delay(1);
    if(Millis2==interval) 
    {
      Millis2=0;
      digitalWrite(D, 1);
      if (digitalRead(D_2)==0)
        digitalWrite(D_3, 1); 
      flag=1;  
    }
  }
  if (analog>=505&&analog<=550)
    Millis2=0;




  if (analog>495&&analog<500)
  {
    flag=0;
    digitalWrite(D, 0);
    digitalWrite(D_2, 0);
  }



  if (analog>500&&analog<505)
  {
    flag=0;
    digitalWrite(D, 0);
    digitalWrite(D_3, 0);
  }



}
void loop() 
{ 
  proverka(analogRead(A_1),D_1); 
  proverka(analogRead(A_2),D_1_1);
}

 

italius
Offline
Зарегистрирован: 19.12.2011

 LEVV2006

Огромное спасибо за помощь, пока проверить не смогу так как все на работе, завтра с утра проверю и сразу отпишусь

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

С ув

Игорь

italius
Offline
Зарегистрирован: 19.12.2011

 ДД

Итак произвел опробование:

После заливки датчик А_1 работает (управляет) только в сторону с подключением в комбинации Д_1 + Д_2, в комбинации с Д_1 + Д_3 не работает вообще. При работе с А_2 - аналогичная ситуация. После этих проверок начинает работать А_1 при противоположном движении и загорается только Д_1 (должен загораться только в паре). Затем начинает работать комбинация (после получения сигнала с А_2) Д_1_1 + Д_3, но с задержкой примерно в 1 сек (первой включается Д_1_1 а через 1 сек Д_3), затем внезапно начинает работать комбинация Д_1 + Д_3 (при получении с датчика А_1), но при изменении данных с датчика А_2, перестает работать и она погасив сначала Д_3 самостоятельно, а Д_1 при изменении данных с А_1. Ну и думаю, что это невсе, так как всех комбинаций не пробовал......

Может как-то алгоритм для вас не правильно написал?

Попробую разъяснить:

Датчики А_1 и А_2 - работают постоянно и условный диапазонработы и одного и другого определен как 450-550. Контрольная точка определена как среднее арифметическое в 500. При изменении значении, вышедших за границы диапазона и нахождении в этом положении более 3 сек, должны включиться исполнительные устройства, которые принудительно вернут значение датчиков в контрольную точку этих или этого датчиков (500).

Исполнительные устройства  Д_2 и Д_3 несут противоположные функции и естественно одновременно комбинации где есть эти компоненты, включаться не могут.

Пример - Д_1 + Д_2 и Д_1_1 + Д_3 не должны работать совместно, сначала должна закончить работу первая включившаяся комбинация и только после этого подключиться следующая очередная.

Варианты включении могут быть такими:

- Д_1 + Д_2

- Д_1 + Д_3

 

- Д_1 + Д_1_1 + Д_2 (очередность включения-отключения Д_1 и Д_1_1 могут быть разными и зависят от значений датчиков "А")

- Д_1 + Д_1_1 + Д_3 (очередность включения-отключения Д_1 и Д_1_1 могут быть разными и зависят от значений датчиков "А")

- Д_1_1 + Д_2

- Д_1_1 + Д_3

- Д_1_1 + Д_1 + Д_2 (очередность включения-отключения Д_1 и Д_1_1 могут быть разными и зависят от значений датчиков "А")

- Д_1_1 + Д_1 + Д_3 (очередность включения-отключения Д_1 и Д_1_1 могут быть разными и зависят от значений датчиков "А")

Если вдруг, что-то не понятно готов внести разъяснения.

Спасибо

С ув

Игорь

 

LEVV2006
LEVV2006 аватар
Offline
Зарегистрирован: 15.04.2011

 Да вроде всё понятно. Никогда не должно быть сочетания д2+д3 просто я пока не придумал чтобы боле менее грамотно заставить их выключать и включать. Сейчас происходит конфликт в коде. Буду думать. Но и сам подумай.

italius
Offline
Зарегистрирован: 19.12.2011

LEVV2006

Да я бы подумал, но познаний не хватает, а так-тол сижу изучаю и пробую, но дальше скетча с одним датчиком толком-то и не написал.

В обмен на вашу помощь готов оказать возможно-посильную в рекомендациях изготовления пневмоподвески (за исключением данного устройства)

С ув

Игорь 

LEVV2006
LEVV2006 аватар
Offline
Зарегистрирован: 15.04.2011

Там просто необходимо найти способ хитрого ветвление программы который бы использовал одну функцию для двух датчиков. Конечно можно представить это всё как раньше с множеством переменных. 

italius
Offline
Зарегистрирован: 19.12.2011

 LEVV2006

Вам как специалисту более понятно как профессионально обыграть код. Но если функционально работает правильно и первый вариант, то может вернуться к нему?

С ув

Игорь

LEVV2006
LEVV2006 аватар
Offline
Зарегистрирован: 15.04.2011

Попробуй этот 

int D_1=11;
int D_1_1=10;
int D_2=12;
int D_3=13;
int A_1=0;
int A_2=1;
int Millis1 = 0;
int Millis2 = 0;
int Millis3 = 0;
int Millis4 = 0;
int interval = 3000;
int flag1_1=0;
int flag1_2=0;
int flag2_1=0;
int flag2_2=0;
void setup() 
{                
  pinMode(D_1, OUTPUT);
  pinMode(D_1_1, OUTPUT);  
  pinMode(D_2, OUTPUT); 
  pinMode(D_3, OUTPUT); 
}
void loop() 
{

  if (analogRead(A_1)<450&&digitalRead(D_3)==0)
  {
    Millis1++;
    delay(1);
    if(Millis1==interval) 
    {
      Millis1=0;
      digitalWrite(D_1, 1);
      digitalWrite(D_2, 1); 
      flag1_1=1;  
    }
  }
  if (analogRead(A_1)>=450&&analogRead(A_1)<=495)
    Millis1=0;




  if (analogRead(A_1)>550&&digitalRead(D_2)==0)
  {
    Millis2++;
    delay(1);
    if(Millis2==interval) 
    {
      Millis2=0;
      digitalWrite(D_1, 1);
      digitalWrite(D_3, 1); 
      flag1_2=1;  
    }
  }

  if (analogRead(A_1)>=505&&analogRead(A_1)<=550)
    Millis2=0;


  if (analogRead(A_2)<450&&digitalRead(D_3)==0)
  {
    Millis3++;
    delay(1);
    if(Millis3==interval) 
    {
      Millis3=0;
      digitalWrite(D_1_1, 1);
      digitalWrite(D_2, 1); 
      flag2_1=1;  
    }
  }
  if (analogRead(A_2)>=450&&analogRead(A_2)<=495)
    Millis3=0;


  if (analogRead(A_2)>550&&digitalRead(D_2)==0)
  {
    Millis4++;
    delay(1);
    if(Millis4==interval) 
    {
      Millis4=0;
      digitalWrite(D_1_1, 1);
      digitalWrite(D_3, 1); 
      flag2_2=1;  
    }
  }

  if (analogRead(A_2)>=505&&analogRead(A_2)<=550)
    Millis4=0;


  if (analogRead(A_1)>495&&analogRead(A_1)<500){
    digitalWrite(D_1, 0);
    flag1_1=0;
  }

  if (analogRead(A_1)>500&&analogRead(A_1)<505){
    digitalWrite(D_1, 0);
    flag1_2==0;
  }
  
  if (analogRead(A_2)>495&&analogRead(A_2)<500){
    digitalWrite(D_1_1, 0);
    flag2_1=0;
  }
  
  if (analogRead(A_2)>500&&analogRead(A_2)<505){
    digitalWrite(D_1_1, 0);
    flag2_2=0;
  }

  if ( flag1_1==0&&flag2_1==0)
    digitalWrite(D_2, 0);
  else
    digitalWrite(D_2, 1);

  if ( flag1_2==0&&flag2_2==0)
    digitalWrite(D_3, 0);
  else
    digitalWrite(D_3, 1);

}



 

italius
Offline
Зарегистрирован: 19.12.2011

ДД

Датчик А_2 и его группа работает корректно (с первых проб)

Группы с участием Д_2 работают все корректно, пока с А_1 данные не требуют участия Д_3, как только Д_3 включился, то больше не выключается.

Это основная ошибка которую заметило.

С ув

Игорь 

LEVV2006
LEVV2006 аватар
Offline
Зарегистрирован: 15.04.2011

Попробуй убрать ветвление else в последних if – ах  

italius
Offline
Зарегистрирован: 19.12.2011

 LEVV2006

ДД

Рекомендации произвел

Изменений не наблюдал

Если стартую с датчика А_1 в комбинации с Д_3, то Д_3 уже не выключается.

С ув

Игорь

italius
Offline
Зарегистрирован: 19.12.2011
int D_FL=10;
int D_FR=11;
int D_RL=8;
int D_RR=9;
//int D_DOWN=13;
//int D_UP=12;
int A_FL=0;
int A_FR=1;
int A_RL=2;
int A_RR=3;
//int Millis1 = 0;
//int Millis2 = 0;
//int Millis3 = 0;
//int Millis4 = 0;
int interval = 3000;
//int flag1_1=0;
//int flag1_2=0;
//int flag2_1=0;
//int flag2_2=0;
void setup() 
{                
  pinMode(D_FL, OUTPUT);
  pinMode(D_FR, OUTPUT);  
  pinMode(D_RL, OUTPUT); 
  pinMode(D_RR, OUTPUT);
  //pinMode(D_DOWN, OUTPUT);
  //pinMode(D_UP, OUTPUT); 
}

 ДД LEVV2006

Может есть смысл попробовать подойти чуть по-другому:

Вот в условиях прописаны все начальные компоненты для основной работы, диапазоны у всех датчиков условно-одинаковые как и ранее от 450 до 550 со средней точкой в 500 и задержками в 3 сек.

Разделены на группы F и R (те что в коментариях пока не участвуют)

Диоды группы F могут загораться вместе если их диапазоны совпадают в стороны < или > и не могут загораться если значения разняться в противоположные стороны, соответственно загорается оди а другой ждет своей очередности. Данные условия действуют и на группу R.

Группы F и R (диоды) никогда не включаются вместе, действует условие первого вкючившегося, другой ждет очередности.

В части кода указаны компоненты и временно отключены как коментарии те пока которые лучше не задействовать.

Как ты относишься к такому пути?

Может что-то не ясно описал?

С ув

Игорь

LEVV2006
LEVV2006 аватар
Offline
Зарегистрирован: 15.04.2011

 ^

 |       Я пока ничего придумать не могу. Попробуй поставь везде сериал принт и посмотри на какой из стадий обработки данных возникает ошибка.

italius
Offline
Зарегистрирован: 19.12.2011

 LEVV2006

Вот попробовал описать другой путь.

Или попробовать по этому пути с 2 датчиками и одной группой, например, F?

Вдруг что-то не ясно - спрашивай.

С ув

Игорь

 

LEVV2006
LEVV2006 аватар
Offline
Зарегистрирован: 15.04.2011

Честно сказать я немного в ступоре. И голова у меня не варит так как я сейчас виду свой проект и он у меня не получается + я микруху спалил(((. Честно я не понимаю почему мой последний код не работает. Там всё логично. И вроде просто.
Если датчик а1 < 450 и д3 не включён то включается д2 и д1 + флаг ставится в положение что д2 включён.
Как только а1 =500 то д1 выключается и флаг тоже ставится в 0. А в последних if-ах выключается д2 по флагам.
Единственное там лишнее
116 else
117 digitalWrite(D_2, 1);
121 else
122 digitalWrite(D_3, 1);
Попробуй сам разобраться почему. Через сириал принт. Поставь на каждом узле принятия решений сериал принт с выводом той информации какая принимается в условиях и чтобы удобно было смотреть поставь задержку в конце.
 

italius
Offline
Зарегистрирован: 19.12.2011

 Вот смотрю на код и никак понять не могу где ошибка?

Может у кого-то есть другая идея решения условий?

Вот был кто-то говоря, что все так просто и вот пропал, ни обещанного куска кода и ни одного дельного совета.

С ув ко всем откликнувшимся.

Игорь

LEVV2006
LEVV2006 аватар
Offline
Зарегистрирован: 15.04.2011

Нужно не смотреть на код а разбираться. В нём ничего сложного нет. Ни функций, ни дополнительных библиотек. А поиск ошибки нужно искать путём вывода на сериал-монитор (даже не знаю как обозвать) флагов прохождения цикла программы.
Ладно сейчас попробую поставить их сам.
 

italius
Offline
Зарегистрирован: 19.12.2011

 LEVV2006

Да, честно говоря, кроме тебя никто толком то и не заинтересовался. Програмист из меня просто некудышный, конечно пробую что-то но как-то не идет никак.

С ув

LEVV2006
LEVV2006 аватар
Offline
Зарегистрирован: 15.04.2011

Я напаял вывод. Я убрал интервал чтобы было проще смотреть (как мне кажется). И добавил delay(100);. По сути можно и с интервалом использовать. Короче разберешься я надеюсь. Если хочешь включить интервал и посмотреть что выходит то просто сними все комментарии и задокументируй delay(100); Твои действия: подруби arduino залей скеч и оставь usb в arduino/ на компеляторе есть кнопка serial monitor/ нажми появится окно в котором и будет отображаться то через какие ветвления будет проходить цикл контролера. Для того чтобы удобней просматривать убери флажок Autoscroll. Твоя задача смотреть этот «отчёт» о понять на каком из этапов происходит сбой. (понять правильна ли логика алгоритма). И если где то ошибка исправить. Перезолить скеч и снова проверять))))). + описание стандартных «слов» в стандартной библиотеке которую ты используешь 

int D_1=11;
int D_1_1=10;
int D_2=12;
int D_3=13;
int A_1=0;
int A_2=1;
int Millis1 = 0;
int Millis2 = 0;
int Millis3 = 0;
int Millis4 = 0;
int interval = 3000;
int flag1_1=0;
int flag1_2=0;
int flag2_1=0;
int flag2_2=0;
void setup() 
{                
  pinMode(D_1, OUTPUT);
  pinMode(D_1_1, OUTPUT);  
  pinMode(D_2, OUTPUT); 
  pinMode(D_3, OUTPUT); 
  Serial.begin(9600);
}
void loop() 
{
  Serial.println("----------------------------------------------------------------------------------");
  Serial.print("A_1: ");
  Serial.println(analogRead(A_1));
  Serial.print("A_2: ");
  Serial.println(analogRead(A_2));
  Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
  if (analogRead(A_1)<450&&digitalRead(D_3)==0)
  {
    //  Millis1++;
    //   delay(1);
    //    if(Millis1==interval) 
    //   {
    Millis1=0;
    digitalWrite(D_1, 1);
    digitalWrite(D_2, 1); 
    flag1_1=1; 
    Serial.println("IF-1 A_1<450");
    Serial.print("D_1: ");
    Serial.println(digitalRead(D_1));
    Serial.print("D_2: ");
    Serial.println(digitalRead(D_2));
    Serial.print("flag1_1: ");
    Serial.println(flag1_1);
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
    //   }
  }
  //  if (analogRead(A_1)>=450&&analogRead(A_1)<=495)
  Millis1=0;




  if (analogRead(A_1)>550&&digitalRead(D_2)==0)
  {
    //   Millis2++;
    //   delay(1);
    //   if(Millis2==interval) 
    //  {
    Millis2=0;
    digitalWrite(D_1, 1);
    digitalWrite(D_3, 1); 
    flag1_2=1;

    Serial.println("IF-1 A_1>550");
    Serial.print("D_1: ");
    Serial.println(digitalRead(D_1));
    Serial.print("D_3: ");
    Serial.println(digitalRead(D_3));
    Serial.print("flag1_2: ");
    Serial.println(flag1_2);
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
  }
  //  }

  //  if (analogRead(A_1)>=505&&analogRead(A_1)<=550)
  Millis2=0;


  if (analogRead(A_2)<450&&digitalRead(D_3)==0)
  {
    //   Millis3++;
    //   delay(1);
    //   if(Millis3==interval) 
    //   {
    Millis3=0;
    digitalWrite(D_1_1, 1);
    digitalWrite(D_2, 1); 
    flag2_1=1;

    Serial.println("IF-2 A_2<450");
    Serial.print("D_1_1: ");
    Serial.println(digitalRead(D_1_1));
    Serial.print("D_2: ");
    Serial.println(digitalRead(D_2));
    Serial.print("flag2_1: ");
    Serial.println(flag2_1);
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
    //   }
  }
  //  if (analogRead(A_2)>=450&&analogRead(A_2)<=495)
  Millis3=0;


  if (analogRead(A_2)>550&&digitalRead(D_2)==0)
  {
    //    Millis4++;
    //   delay(1);
    //   if(Millis4==interval) 
    //   {
    Millis4=0;
    digitalWrite(D_1_1, 1);
    digitalWrite(D_3, 1); 
    flag2_2=1;  
    Serial.println("IF-2 A_2>550");
    Serial.print("D_1_1: ");
    Serial.println(digitalRead(D_1_1));
    Serial.print("D_3: ");
    Serial.println(digitalRead(D_3));
    Serial.print("flag2_2: ");
    Serial.println(flag2_2);
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
    //   }
  }

  // if (analogRead(A_2)>=505&&analogRead(A_2)<=550)
  Millis4=0;


  if (analogRead(A_1)>495&&analogRead(A_1)<500){
    digitalWrite(D_1, 0);
    flag1_1=0;

    Serial.println("495<A_1<500");
    Serial.print("D_1: ");
    Serial.println(digitalRead(D_1));
    Serial.print("flag1_1: ");
    Serial.println(flag1_1);
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
  }

  if (analogRead(A_1)>500&&analogRead(A_1)<505){
    digitalWrite(D_1, 0);
    flag1_2==0;
    Serial.println("500<A_1<505");
    Serial.print("D_1: ");
    Serial.println(digitalRead(D_1));
    Serial.print("flag1_2: ");
    Serial.println(flag1_2);
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
  }

  if (analogRead(A_2)>495&&analogRead(A_2)<500){
    digitalWrite(D_1_1, 0);
    flag2_1=0;
    Serial.println("495<A_2<500");
    Serial.print("D_1_1: ");
    Serial.println(digitalRead(D_1_1));
    Serial.print("flag2_1: ");
    Serial.println(flag2_1);
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
  }

  if (analogRead(A_2)>500&&analogRead(A_2)<505){
    digitalWrite(D_1_1, 0);
    flag2_2=0;
    Serial.println("500<A_2<505");
    Serial.print("D_1_1: ");
    Serial.println(digitalRead(D_1_1));
    Serial.print("flag2_2: ");
    Serial.println(flag2_2);
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
  }

  if ( flag1_1==0&&flag2_1==0)
  {
    digitalWrite(D_2, 0);
    Serial.println("flag1_1==0&&flag2_1==0");
    Serial.print("D_2: ");
    Serial.println(digitalRead(D_2));
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
  }


  if ( flag1_2==0&&flag2_2==0)
  {
    digitalWrite(D_3, 0);
    Serial.println("flag1_2==0&&flag2_2==0");
    Serial.print("D_3: ");
    Serial.println(digitalRead(D_3));
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
  }
Serial.println("------------------------------------------------------------");
delay(100);
}


 

italius
Offline
Зарегистрирован: 19.12.2011

 Спасибо LEVV2006

Завтра все попробую и естественно отпишусь

С ув

Игорь

italius
Offline
Зарегистрирован: 19.12.2011

 ДД

Проверил и вчера и сегодня и в результате даже не знаю что писать.

Как не работало не стабильно так и не работает

Другими словами в подключенном состоянии ошибки могут и не повторяться

Попробую еще как-то и возможно отпишусь о том что вижу на мониторе и положение диодов

С ув

Игорь

LEVV2006
LEVV2006 аватар
Offline
Зарегистрирован: 15.04.2011

А ничего и не должно было измениться. Исполнительный код я не менял. Вам нужно разобраться в чём ошибка используя в монитор. 

italius
Offline
Зарегистрирован: 19.12.2011

ДД

Это понятно!

Но поведение все-таки изменилось

Завтра скопирую мониторинг и выложу

С ув

Игорь

italius
Offline
Зарегистрирован: 19.12.2011

----------------------------------------------------------------------------------
A_1: 529
A_2: 477
 

LEVV2006
LEVV2006 аватар
Offline
Зарегистрирован: 15.04.2011

Вроде я разобрался. Аналоговые датчики не надёжны. А точнее они не могу выдавать данные в точной последовательности например (500-501-502…..) а выдают (500-510-516) вот в этом и проблема. Наш датчик не попадал в интервал например (500<A_2<505).
По этому и не работало. Я заменил условие выключение датчика на digitalRead(D_3)= =1&&analogRead(A_2)<510
Надеюсь это поможет))))) как попробуйте опишите что происходит. И добавьте лог монитора как код и сворачивайте его.
 

int D_1=11;
int D_1_1=10;
int D_2=12;
int D_3=13;
int A_1=0;
int A_2=1;
int Millis1 = 0;
int Millis2 = 0;
int Millis3 = 0;
int Millis4 = 0;
int interval = 3000;
int flag1_1=0;
int flag1_2=0;
int flag2_1=0;
int flag2_2=0;
void setup() 
{                
  pinMode(D_1, OUTPUT);
  pinMode(D_1_1, OUTPUT);  
  pinMode(D_2, OUTPUT); 
  pinMode(D_3, OUTPUT); 
  Serial.begin(9600);
}
void loop() 
{
  Serial.println("----------------------------------------------------------------------------------");
  Serial.print("A_1: ");
  Serial.println(analogRead(A_1));
  Serial.print("A_2: ");
  Serial.println(analogRead(A_2));
  Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
  if (analogRead(A_1)<450&&digitalRead(D_3)==0)
  {
    //  Millis1++;
    //   delay(1);
    //    if(Millis1==interval) 
    //   {
    Millis1=0;
    digitalWrite(D_1, 1);
    digitalWrite(D_2, 1); 
    flag1_1=1; 
    Serial.println("IF-1 A_1<450");
    Serial.print("D_1: ");
    Serial.println(digitalRead(D_1));
    Serial.print("D_2: ");
    Serial.println(digitalRead(D_2));
    Serial.print("flag1_1: ");
    Serial.println(flag1_1);
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
    //   }
  }
  //  if (analogRead(A_1)>=450&&analogRead(A_1)<=495)
  Millis1=0;




  if (analogRead(A_1)>550&&digitalRead(D_2)==0)
  {
    //   Millis2++;
    //   delay(1);
    //   if(Millis2==interval) 
    //  {
    Millis2=0;
    digitalWrite(D_1, 1);
    digitalWrite(D_3, 1); 
    flag1_2=1;

    Serial.println("IF-1 A_1>550");
    Serial.print("D_1: ");
    Serial.println(digitalRead(D_1));
    Serial.print("D_3: ");
    Serial.println(digitalRead(D_3));
    Serial.print("flag1_2: ");
    Serial.println(flag1_2);
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
  }
  //  }

  //  if (analogRead(A_1)>=505&&analogRead(A_1)<=550)
  Millis2=0;


  if (analogRead(A_2)<450&&digitalRead(D_3)==0)
  {
    //   Millis3++;
    //   delay(1);
    //   if(Millis3==interval) 
    //   {
    Millis3=0;
    digitalWrite(D_1_1, 1);
    digitalWrite(D_2, 1); 
    flag2_1=1;

    Serial.println("IF-2 A_2<450");
    Serial.print("D_1_1: ");
    Serial.println(digitalRead(D_1_1));
    Serial.print("D_2: ");
    Serial.println(digitalRead(D_2));
    Serial.print("flag2_1: ");
    Serial.println(flag2_1);
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
    //   }
  }
  //  if (analogRead(A_2)>=450&&analogRead(A_2)<=495)
  Millis3=0;


  if (analogRead(A_2)>550&&digitalRead(D_2)==0)
  {
    //    Millis4++;
    //   delay(1);
    //   if(Millis4==interval) 
    //   {
    Millis4=0;
    digitalWrite(D_1_1, 1);
    digitalWrite(D_3, 1); 
    flag2_2=1;  
    Serial.println("IF-2 A_2>550");
    Serial.print("D_1_1: ");
    Serial.println(digitalRead(D_1_1));
    Serial.print("D_3: ");
    Serial.println(digitalRead(D_3));
    Serial.print("flag2_2: ");
    Serial.println(flag2_2);
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
    //   }
  }

  // if (analogRead(A_2)>=505&&analogRead(A_2)<=550)
  Millis4=0;


  if (analogRead(A_1)>490&&digitalRead(D_2)==1){
    digitalWrite(D_1, 0);
    flag1_1=0;

    Serial.println("495<A_1<500");
    Serial.print("D_1: ");
    Serial.println(digitalRead(D_1));
    Serial.print("flag1_1: ");
    Serial.println(flag1_1);
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
  }

  if (digitalRead(D_3)==1&&analogRead(A_1)<510){
    digitalWrite(D_1, 0);
    flag1_2==0;
    Serial.println("500<A_1<505");
    Serial.print("D_1: ");
    Serial.println(digitalRead(D_1));
    Serial.print("flag1_2: ");
    Serial.println(flag1_2);
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
  }

  if (analogRead(A_2)>490&&digitalRead(D_2)==1){
    digitalWrite(D_1_1, 0);
    flag2_1=0;
    Serial.println("495<A_2<500");
    Serial.print("D_1_1: ");
    Serial.println(digitalRead(D_1_1));
    Serial.print("flag2_1: ");
    Serial.println(flag2_1);
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
  }

  if (digitalRead(D_3)==1&&analogRead(A_2)<510){
    digitalWrite(D_1_1, 0);
    flag2_2=0;
    Serial.println("500<A_2<505");
    Serial.print("D_1_1: ");
    Serial.println(digitalRead(D_1_1));
    Serial.print("flag2_2: ");
    Serial.println(flag2_2);
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
  }

  if ( flag1_1==0&&flag2_1==0)
  {
    digitalWrite(D_2, 0);
    Serial.println("flag1_1==0&&flag2_1==0");
    Serial.print("D_2: ");
    Serial.println(digitalRead(D_2));
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
  }


  if ( flag1_2==0&&flag2_2==0)
  {
    digitalWrite(D_3, 0);
    Serial.println("flag1_2==0&&flag2_2==0");
    Serial.print("D_3: ");
    Serial.println(digitalRead(D_3));
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
  }
Serial.println("------------------------------------------------------------");
delay(100);
}


 

italius
Offline
Зарегистрирован: 19.12.2011

 ДД

Да сейчас похоже на условие только Д_3 загорается и не гаснет

С ув

Игорь

LEVV2006
LEVV2006 аватар
Offline
Зарегистрирован: 15.04.2011

лог в студию

попробуйте этот

int D_1=11;
int D_1_1=10;
int D_2=12;
int D_3=13;
int A_1=0;
int A_2=1;
int Millis1 = 0;
int Millis2 = 0;
int Millis3 = 0;
int Millis4 = 0;
int interval = 3000;
int flag1_1=0;
int flag1_2=0;
int flag2_1=0;
int flag2_2=0;
void setup() 
{                
  pinMode(D_1, OUTPUT);
  pinMode(D_1_1, OUTPUT);  
  pinMode(D_2, OUTPUT); 
  pinMode(D_3, OUTPUT); 
  Serial.begin(9600);
}
void loop() 
{
  Serial.println("----------------------------------------------------------------------------------");
  Serial.print("A_1: ");
  Serial.println(analogRead(A_1));
  Serial.print("A_2: ");
  Serial.println(analogRead(A_2));
  Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
  
  if (analogRead(A_1)<450&&digitalRead(D_3)==0&&flag1_1==0)
  {
    //  Millis1++;
    //   delay(1);
    //    if(Millis1==interval) 
    //   {
    Millis1=0;
    digitalWrite(D_1, 1);
    digitalWrite(D_2, 1); 
    flag1_1=1; 
    
    Serial.println("IF-1 A_1<450");
    Serial.print("D_1: ");
    Serial.println(digitalRead(D_1));
    Serial.print("D_2: ");
    Serial.println(digitalRead(D_2));
    Serial.print("flag1_1: ");
    Serial.println(flag1_1);
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
    //   }
  }
  //  if (analogRead(A_1)>=450&&analogRead(A_1)<=495)
  Millis1=0;




  if (analogRead(A_1)>550&&digitalRead(D_2)==0&&flag1_2==0)
  {
    //   Millis2++;
    //   delay(1);
    //   if(Millis2==interval) 
    //  {
    Millis2=0;
    digitalWrite(D_1, 1);
    digitalWrite(D_3, 1); 
    flag1_2=1;

    Serial.println("IF-1 A_1>550");
    Serial.print("D_1: ");
    Serial.println(digitalRead(D_1));
    Serial.print("D_3: ");
    Serial.println(digitalRead(D_3));
    Serial.print("flag1_2: ");
    Serial.println(flag1_2);
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
  }
  //  }

  //  if (analogRead(A_1)>=505&&analogRead(A_1)<=550)
  Millis2=0;


  if (analogRead(A_2)<450&&digitalRead(D_3)==0&&flag2_1==0)
  {
    //   Millis3++;
    //   delay(1);
    //   if(Millis3==interval) 
    //   {
    Millis3=0;
    digitalWrite(D_1_1, 1);
    digitalWrite(D_2, 1); 
    flag2_1=1;

    Serial.println("IF-2 A_2<450");
    Serial.print("D_1_1: ");
    Serial.println(digitalRead(D_1_1));
    Serial.print("D_2: ");
    Serial.println(digitalRead(D_2));
    Serial.print("flag2_1: ");
    Serial.println(flag2_1);
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
    //   }
  }
  //  if (analogRead(A_2)>=450&&analogRead(A_2)<=495)
  Millis3=0;


  if (analogRead(A_2)>550&&digitalRead(D_2)==0&&flag2_2==0)
  {
    //    Millis4++;
    //   delay(1);
    //   if(Millis4==interval) 
    //   {
    Millis4=0;
    digitalWrite(D_1_1, 1);
    digitalWrite(D_3, 1); 
    flag2_2=1;  
    
    Serial.println("IF-2 A_2>550");
    Serial.print("D_1_1: ");
    Serial.println(digitalRead(D_1_1));
    Serial.print("D_3: ");
    Serial.println(digitalRead(D_3));
    Serial.print("flag2_2: ");
    Serial.println(flag2_2);
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
    //   }
  }

  // if (analogRead(A_2)>=505&&analogRead(A_2)<=550)
  Millis4=0;


  if (analogRead(A_1)>490&&digitalRead(D_2)==1){
    digitalWrite(D_1, 0);
    flag1_1=0;

    Serial.println("495<A_1<500");
    Serial.print("D_1: ");
    Serial.println(digitalRead(D_1));
    Serial.print("flag1_1: ");
    Serial.println(flag1_1);
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
  }

  if (digitalRead(D_3)==1&&analogRead(A_1)<510){
    digitalWrite(D_1, 0);
    flag1_2==0;
    Serial.println("500<A_1<505");
    Serial.print("D_1: ");
    Serial.println(digitalRead(D_1));
    Serial.print("flag1_2: ");
    Serial.println(flag1_2);
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
  }

  if (analogRead(A_2)>490&&digitalRead(D_2)==1){
    digitalWrite(D_1_1, 0);
    flag2_1=0;
    Serial.println("495<A_2<500");
    Serial.print("D_1_1: ");
    Serial.println(digitalRead(D_1_1));
    Serial.print("flag2_1: ");
    Serial.println(flag2_1);
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
  }

  if (digitalRead(D_3)==1&&analogRead(A_2)<510){
    digitalWrite(D_1_1, 0);
    flag2_2=0;
    Serial.println("500<A_2<505");
    Serial.print("D_1_1: ");
    Serial.println(digitalRead(D_1_1));
    Serial.print("flag2_2: ");
    Serial.println(flag2_2);
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
  }

  if ( flag1_1==0&&flag2_1==0)
  {
    digitalWrite(D_2, 0);
    
    Serial.println("flag1_1==0&&flag2_1==0");
    Serial.print("D_2: ");
    Serial.println(digitalRead(D_2));
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
  }


  if ( flag1_2==0&&flag2_2==0)
  {
    digitalWrite(D_3, 0);
    
    Serial.println("flag1_2==0&&flag2_2==0");
    Serial.print("D_3: ");
    Serial.println(digitalRead(D_3));
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
  }
Serial.println("------------------------------------------------------------");
delay(100);
}


 

italius
Offline
Зарегистрирован: 19.12.2011

Вот


ý----------------------------------------------------------------------------------
A_1: 524
A_2: 483
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 522
A_2: 481
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 524
A_2: 480
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 517
A_2: 485
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 291
A_2: 482
+++++++++++++++++++++++++++++++++++++++++++++++++++++
IF-1 A_1<450
D_1: 1
D_2: 1
flag1_1: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 271
A_2: 487
+++++++++++++++++++++++++++++++++++++++++++++++++++++
IF-1 A_1<450
D_1: 1
D_2: 1
flag1_1: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 280
A_2: 483
+++++++++++++++++++++++++++++++++++++++++++++++++++++
IF-1 A_1<450
D_1: 1
D_2: 1
flag1_1: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 430
A_2: 483
+++++++++++++++++++++++++++++++++++++++++++++++++++++
IF-1 A_1<450
D_1: 1
D_2: 1
flag1_1: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 510
A_2: 484
+++++++++++++++++++++++++++++++++++++++++++++++++++++
495<A_1<500
D_1: 0
flag1_1: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 509
A_2: 483
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 506
A_2: 456
+++++++++++++++++++++++++++++++++++++++++++++++++++++
IF-2 A_2<450
D_1_1: 1
D_2: 1
flag2_1: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
495<A_1<500
D_1: 0
flag1_1: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 507
A_2: 249
+++++++++++++++++++++++++++++++++++++++++++++++++++++
IF-2 A_2<450
D_1_1: 1
D_2: 1
flag2_1: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
495<A_1<500
D_1: 0
flag1_1: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 506
A_2: 375
+++++++++++++++++++++++++++++++++++++++++++++++++++++
IF-2 A_2<450
D_1_1: 1
D_2: 1
flag2_1: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
495<A_1<500
D_1: 0
flag1_1: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 505
A_2: 490
+++++++++++++++++++++++++++++++++++++++++++++++++++++
495<A_1<500
D_1: 0
flag1_1: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
495<A_2<500
D_1_1: 0
flag2_1: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 507
A_2: 263
+++++++++++++++++++++++++++++++++++++++++++++++++++++
IF-2 A_2<450
D_1_1: 1
D_2: 1
flag2_1: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
495<A_1<500
D_1: 0
flag1_1: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 505
A_2: 191
+++++++++++++++++++++++++++++++++++++++++++++++++++++
IF-2 A_2<450
D_1_1: 1
D_2: 1
flag2_1: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
495<A_1<500
D_1: 0
flag1_1: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 251
A_2: 193
+++++++++++++++++++++++++++++++++++++++++++++++++++++
IF-1 A_1<450
D_1: 1
D_2: 1
flag1_1: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
IF-2 A_2<450
D_1_1: 1
D_2: 1
flag2_1: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 235
A_2: 192
+++++++++++++++++++++++++++++++++++++++++++++++++++++
IF-1 A_1<450
D_1: 1
D_2: 1
flag1_1: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
IF-2 A_2<450
D_1_1: 1
D_2: 1
flag2_1: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 238
A_2: 406
+++++++++++++++++++++++++++++++++++++++++++++++++++++
IF-1 A_1<450
D_1: 1
D_2: 1
flag1_1: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
IF-2 A_2<450
D_1_1: 1
D_2: 1
flag2_1: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 240
A_2: 500
+++++++++++++++++++++++++++++++++++++++++++++++++++++
IF-1 A_1<450
D_1: 1
D_2: 1
flag1_1: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
495<A_2<500
D_1_1: 0
flag2_1: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 236
A_2: 527
+++++++++++++++++++++++++++++++++++++++++++++++++++++
IF-1 A_1<450
D_1: 1
D_2: 1
flag1_1: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
495<A_2<500
D_1_1: 0
flag2_1: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 238
A_2: 518
+++++++++++++++++++++++++++++++++++++++++++++++++++++
IF-1 A_1<450
D_1: 1
D_2: 1
flag1_1: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
495<A_2<500
D_1_1: 0
flag2_1: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 460
A_2: 515
+++++++++++++++++++++++++++++++++++++++++++++++++++++
495<A_2<500
D_1_1: 0
flag2_1: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 527
A_2: 511
+++++++++++++++++++++++++++++++++++++++++++++++++++++
495<A_1<500
D_1: 0
flag1_1: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
495<A_2<500
D_1_1: 0
flag2_1: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 509
A_2: 537
+++++++++++++++++++++++++++++++++++++++++++++++++++++
IF-2 A_2>550
D_1_1: 1
D_3: 1
flag2_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 510
A_2: 760
+++++++++++++++++++++++++++++++++++++++++++++++++++++
IF-2 A_2>550
D_1_1: 1
D_3: 1
flag2_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
500<A_1<505
D_1: 0
flag1_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 510
A_2: 718
+++++++++++++++++++++++++++++++++++++++++++++++++++++
IF-2 A_2>550
D_1_1: 1
D_3: 1
flag2_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
500<A_1<505
D_1: 0
flag1_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 509
A_2: 529
+++++++++++++++++++++++++++++++++++++++++++++++++++++
500<A_1<505
D_1: 0
flag1_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 509
A_2: 492
+++++++++++++++++++++++++++++++++++++++++++++++++++++
500<A_1<505
D_1: 0
flag1_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
500<A_2<505
D_1_1: 0
flag2_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 509
A_2: 482
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 633
A_2: 496
+++++++++++++++++++++++++++++++++++++++++++++++++++++
IF-1 A_1>550
D_1: 1
D_3: 1
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
500<A_2<505
D_1_1: 0
flag2_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 798
A_2: 496
+++++++++++++++++++++++++++++++++++++++++++++++++++++
IF-1 A_1>550
D_1: 1
D_3: 1
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
500<A_2<505
D_1_1: 0
flag2_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 635
A_2: 496
+++++++++++++++++++++++++++++++++++++++++++++++++++++
IF-1 A_1>550
D_1: 1
D_3: 1
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
500<A_2<505
D_1_1: 0
flag2_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 496
A_2: 496
+++++++++++++++++++++++++++++++++++++++++++++++++++++
500<A_1<505
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
500<A_2<505
D_1_1: 0
flag2_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 476
A_2: 496
+++++++++++++++++++++++++++++++++++++++++++++++++++++
500<A_1<505
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
500<A_2<505
D_1_1: 0
flag2_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 474
A_2: 496
+++++++++++++++++++++++++++++++++++++++++++++++++++++
500<A_1<505
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
500<A_2<505
D_1_1: 0
flag2_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 476
A_2: 496
+++++++++++++++++++++++++++++++++++++++++++++++++++++
500<A_1<505
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
500<A_2<505
D_1_1: 0
flag2_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 475
A_2: 499
+++++++++++++++++++++++++++++++++++++++++++++++++++++
500<A_1<505
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
500<A_2<505
D_1_1: 0
flag2_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 475
A_2: 496
+++++++++++++++++++++++++++++++++++++++++++++++++++++
500<A_1<505
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
500<A_2<505
D_1_1: 0
flag2_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 476
A_2: 496
+++++++++++++++++++++++++++++++++++++++++++++++++++++
500<A_1<505
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
500<A_2<505
 
LEVV2006
LEVV2006 аватар
Offline
Зарегистрирован: 15.04.2011

Либо я что то не понимаю либо…… попробуй этот код. Напиши лог (В КОД И СВЕРНИ)
И также напиши что происходит со светодиодами. Я попробую подумать об альтернативной версии кода.
 

int D_1=11;
int D_1_1=10;
int D_2=12;
int D_3=13;
int A_1=0;
int A_2=1;
int Millis1 = 0;
int Millis2 = 0;
int Millis3 = 0;
int Millis4 = 0;
int interval = 3000;
int flag1_1=0;
int flag1_2=0;
int flag2_1=0;
int flag2_2=0;

int analodA_1;
int analodA_2;
void setup() 
{                
  pinMode(D_1, OUTPUT);
  pinMode(D_1_1, OUTPUT);  
  pinMode(D_2, OUTPUT); 
  pinMode(D_3, OUTPUT); 
  Serial.begin(9600);
}
void loop() 
{
  analodA_1=analogRead(A_1);
  analodA_2=analogRead(A_2);
  Serial.println("----------------------------------------------------------------------------------");
  Serial.print("A_1: ");
  Serial.println(analodA_1);
  Serial.print("A_2: ");
  Serial.println(analodA_2);
  Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
  
  if (analodA_1<450&&digitalRead(D_3)==0&&flag1_1==0)
  {
    //  Millis1++;
    //   delay(1);
    //    if(Millis1==interval) 
    //   {
    Millis1=0;
    digitalWrite(D_1, 1);
    digitalWrite(D_2, 1); 
    flag1_1=1; 
    
    Serial.println("IF-1 A_1<450");
    Serial.print("D_1: ");
    Serial.println(digitalRead(D_1));
    Serial.print("D_2: ");
    Serial.println(digitalRead(D_2));
    Serial.print("flag1_1: ");
    Serial.println(flag1_1);
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
    //   }
  }
  //  if (analogRead(A_1)>=450&&analogRead(A_1)<=495)
  Millis1=0;




  if (analodA_1>550&&digitalRead(D_2)==0&&flag1_2==0)
  {
    //   Millis2++;
    //   delay(1);
    //   if(Millis2==interval) 
    //  {
    Millis2=0;
    digitalWrite(D_1, 1);
    digitalWrite(D_3, 1); 
    flag1_2=1;

    Serial.println("IF-1 A_1>550");
    Serial.print("D_1: ");
    Serial.println(digitalRead(D_1));
    Serial.print("D_3: ");
    Serial.println(digitalRead(D_3));
    Serial.print("flag1_2: ");
    Serial.println(flag1_2);
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
  }
  //  }

  //  if (analogRead(A_1)>=505&&analogRead(A_1)<=550)
  Millis2=0;


  if (analodA_2<450&&digitalRead(D_3)==0&&flag2_1==0)
  {
    //   Millis3++;
    //   delay(1);
    //   if(Millis3==interval) 
    //   {
    Millis3=0;
    digitalWrite(D_1_1, 1);
    digitalWrite(D_2, 1); 
    flag2_1=1;

    Serial.println("IF-2 A_2<450");
    Serial.print("D_1_1: ");
    Serial.println(digitalRead(D_1_1));
    Serial.print("D_2: ");
    Serial.println(digitalRead(D_2));
    Serial.print("flag2_1: ");
    Serial.println(flag2_1);
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
    //   }
  }
  //  if (analogRead(A_2)>=450&&analogRead(A_2)<=495)
  Millis3=0;


  if (analodA_2>550&&digitalRead(D_2)==0&&flag2_2==0)
  {
    //    Millis4++;
    //   delay(1);
    //   if(Millis4==interval) 
    //   {
    Millis4=0;
    digitalWrite(D_1_1, 1);
    digitalWrite(D_3, 1); 
    flag2_2=1;  
    
    Serial.println("IF-2 A_2>550");
    Serial.print("D_1_1: ");
    Serial.println(digitalRead(D_1_1));
    Serial.print("D_3: ");
    Serial.println(digitalRead(D_3));
    Serial.print("flag2_2: ");
    Serial.println(flag2_2);
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
    //   }
  }

  // if (analogRead(A_2)>=505&&analogRead(A_2)<=550)
  Millis4=0;


  if (analodA_1>490&&digitalRead(D_2)==1){
    digitalWrite(D_1, 0);
    flag1_1=0;

    Serial.println("analodA_1>490&&digitalRead(D_2)==1");
    Serial.print("D_1: ");
    Serial.println(digitalRead(D_1));
    Serial.print("flag1_1: ");
    Serial.println(flag1_1);
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
  }

  if (digitalRead(D_3)==1&&analodA_1<510){
    digitalWrite(D_1, 0);
    flag1_2==0;
    Serial.println("digitalRead(D_3)==1&&analodA_1<510");
    Serial.print("D_1: ");
    Serial.println(digitalRead(D_1));
    Serial.print("flag1_2: ");
    Serial.println(flag1_2);
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
  }

  if (analodA_2>490&&digitalRead(D_2)==1){
    digitalWrite(D_1_1, 0);
    flag2_1=0;
    Serial.println("analodA_2>490&&digitalRead(D_2)==1");
    Serial.print("D_1_1: ");
    Serial.println(digitalRead(D_1_1));
    Serial.print("flag2_1: ");
    Serial.println(flag2_1);
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
  }

  if (digitalRead(D_3)==1&&analodA_2<510){
    digitalWrite(D_1_1, 0);
    flag2_2=0;
    Serial.println("digitalRead(D_3)==1&&analodA_2<510");
    Serial.print("D_1_1: ");
    Serial.println(digitalRead(D_1_1));
    Serial.print("flag2_2: ");
    Serial.println(flag2_2);
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
  }

  if ( flag1_1==0&&flag2_1==0)
  {
    digitalWrite(D_2, 0);
    
    Serial.println("flag1_1==0&&flag2_1==0");
    Serial.print("D_2: ");
    Serial.println(digitalRead(D_2));
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
  }


  if ( flag1_2==0&&flag2_2==0)
  {
    digitalWrite(D_3, 0);
    
    Serial.println("flag1_2==0&&flag2_2==0");
    Serial.print("D_3: ");
    Serial.println(digitalRead(D_3));
    Serial.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");
  }
Serial.println("------------------------------------------------------------");
delay(100);
}


 

italius
Offline
Зарегистрирован: 19.12.2011

 Вот

 
---------------------------------------------------------------------------------
A_1: 467
A_2: 472
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 466
A_2: 469
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 466
A_2: 471
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 466
A_2: 471
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 465
A_2: 471
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 466
A_2: 470
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 466
A_2: 471
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 465
A_2: 492
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 464
A_2: 590
+++++++++++++++++++++++++++++++++++++++++++++++++++++
IF-2 A_2>550
D_1_1: 1
D_3: 1
flag2_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 467
A_2: 697
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 467
A_2: 688
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 467
A_2: 686
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 467
A_2: 686
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 467
A_2: 621
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 467
A_2: 529
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 466
A_2: 470
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_2<510
D_1_1: 0
flag2_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 466
A_2: 424
+++++++++++++++++++++++++++++++++++++++++++++++++++++
IF-2 A_2<450
D_1_1: 1
D_2: 1
flag2_1: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 466
A_2: 361
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 467
A_2: 322
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 466
A_2: 289
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 466
A_2: 263
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 467
A_2: 273
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 465
A_2: 349
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 466
A_2: 411
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 466
A_2: 455
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 467
A_2: 485
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 465
A_2: 508
+++++++++++++++++++++++++++++++++++++++++++++++++++++
analodA_2>490&&digitalRead(D_2)==1
D_1_1: 0
flag2_1: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 466
A_2: 529
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 465
A_2: 531
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 465
A_2: 636
+++++++++++++++++++++++++++++++++++++++++++++++++++++
IF-2 A_2>550
D_1_1: 1
D_3: 1
flag2_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 467
A_2: 780
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 466
A_2: 837
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 466
A_2: 830
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 466
A_2: 723
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 466
A_2: 602
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 465
A_2: 526
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 466
A_2: 461
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_2<510
D_1_1: 0
flag2_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 466
A_2: 399
+++++++++++++++++++++++++++++++++++++++++++++++++++++
IF-2 A_2<450
D_1_1: 1
D_2: 1
flag2_1: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 466
A_2: 351
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 466
A_2: 320
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 465
A_2: 259
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 466
A_2: 237
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 467
A_2: 318
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 464
A_2: 414
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 466
A_2: 460
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 467
A_2: 502
+++++++++++++++++++++++++++++++++++++++++++++++++++++
analodA_2>490&&digitalRead(D_2)==1
D_1_1: 0
flag2_1: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 466
A_2: 533
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 466
A_2: 522
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 466
A_2: 523
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 441
A_2: 521
+++++++++++++++++++++++++++++++++++++++++++++++++++++
IF-1 A_1<450
D_1: 1
D_2: 1
flag1_1: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
analodA_2>490&&digitalRead(D_2)==1
D_1_1: 0
flag2_1: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 369
A_2: 520
+++++++++++++++++++++++++++++++++++++++++++++++++++++
analodA_2>490&&digitalRead(D_2)==1
D_1_1: 0
flag2_1: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 270
A_2: 518
+++++++++++++++++++++++++++++++++++++++++++++++++++++
analodA_2>490&&digitalRead(D_2)==1
D_1_1: 0
flag2_1: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 334
A_2: 521
+++++++++++++++++++++++++++++++++++++++++++++++++++++
analodA_2>490&&digitalRead(D_2)==1
D_1_1: 0
flag2_1: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 486
A_2: 518
+++++++++++++++++++++++++++++++++++++++++++++++++++++
analodA_2>490&&digitalRead(D_2)==1
D_1_1: 0
flag2_1: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 527
A_2: 521
+++++++++++++++++++++++++++++++++++++++++++++++++++++
analodA_1>490&&digitalRead(D_2)==1
D_1: 0
flag1_1: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
analodA_2>490&&digitalRead(D_2)==1
D_1_1: 0
flag2_1: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_2==0&&flag2_2==0
D_3: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 557
A_2: 520
+++++++++++++++++++++++++++++++++++++++++++++++++++++
IF-1 A_1>550
D_1: 1
D_3: 1
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 544
A_2: 518
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 544
A_2: 520
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 669
A_2: 520
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 651
A_2: 520
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 594
A_2: 519
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 537
A_2: 520
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 505
A_2: 520
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 480
A_2: 521
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 478
A_2: 520
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 486
A_2: 520
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 489
A_2: 521
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 488
A_2: 521
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 488
A_2: 520
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 489
A_2: 521
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 489
A_2: 518
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 488
A_2: 521
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 488
A_2: 520
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 491
A_2: 520
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 488
A_2: 520
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 488
A_2: 520
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 489
A_2: 521
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 489
A_2: 520
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 489
A_2: 520
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 489
A_2: 521
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 489
A_2: 521
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 488
A_2: 519
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 489
A_2: 519
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 489
A_2: 519
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 489
A_2: 519
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 489
A_2: 520
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 489
A_2: 520
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 490
A_2: 520
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 488
A_2: 520
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
----------------------------------------------------------------------------------
A_1: 488
A_2: 520
+++++++++++++++++++++++++++++++++++++++++++++++++++++
digitalRead(D_3)==1&&analodA_1<510
D_1: 0
flag1_2: 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++
flag1_1==0&&flag2_1==0
D_2: 0
+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------------------------------------------------
-----------------------------------------

Все хорошо кроме мелочей (потом опишу) и как только с датчика А_1 идет сигнал в группе с Д_3 и он загорается и больше не гаснет и естественно все так и остается.

LEVV2006
LEVV2006 аватар
Offline
Зарегистрирован: 15.04.2011

Я тут кое чего намутил))) глянь. Интервал времени включён!!

int D_1=11;
int D_1_1=10;
int D_2=12;
int D_3=13;
int A_1=0;
int A_2=1;
int Millis1 = 0;
int Millis2 = 0;
int Millis3 = 0;
int Millis4 = 0;
int interval = 3000;
int flag1_1=0;
int flag1_2=0;
int flag2_1=0;
int flag2_2=0;
int sostA1=0;
int sostA2=0;
int analodA_1;
int analodA_2;
void setup() 
{                
  pinMode(D_1, OUTPUT);
  pinMode(D_1_1, OUTPUT);  
  pinMode(D_2, OUTPUT); 
  pinMode(D_3, OUTPUT); 
  Serial.begin(9600);
}
void loop() 
{
  analodA_1=analogRead(A_1);
  analodA_2=analogRead(A_2);

  if (analodA_1<450)
  {
    Millis1++;
    delay(1);
    if(Millis1==interval) 
    {
      Millis1=0;
      sostA1=-1; 
    }
  }
  if (analodA_1>=450&&analodA_1<=495)
    Millis1=0;




  if (analodA_1>550)
  {
    Millis2++;
    delay(1);
    if(Millis2==interval) 
    {
      Millis2=0;
      sostA1=1;
    }
  }

  if (analodA_1>=505&&analodA_1<=550)
    Millis2=0;


  if (analodA_2<450)
  {
    Millis3++;
    delay(1);
    if(Millis3==interval) 
    {
      Millis3=0;
      sostA2=-1;
    }
  }
  if (analodA_2>=450&&analodA_2<=495)
    Millis3=0;


  if (analodA_2>550)
  {
    Millis4++;
    delay(1);
    if(Millis4==interval) 
    {
      Millis4=0;
      sostA2=1;
    }
  }

  if (analodA_2>=505&&analodA_2<=550)
    Millis4=0;


  if ((analodA_1>490&&analodA_1<540&&digitalRead(D_2)==1)||(analodA_1>460&&analodA_1<510&&digitalRead(D_3)==1))
    sostA1=0;



  if ((analodA_2>490&&analodA_2<540&&digitalRead(D_2)==1)||(analodA_2>460&&analodA_2<510&&digitalRead(D_3)==1))
    sostA2=0;


  if (sostA1==-1&&digitalRead(D_3)==0)
  {
    digitalWrite(D_1, 1);
    digitalWrite(D_2, 1);
    flag1_1=1;
  }
  if (sostA1==1&&digitalRead(D_2)==0)
  {
    digitalWrite(D_1, 1);
    digitalWrite(D_3, 1);
    flag1_2=1;
  }
  if (sostA2==-1&&digitalRead(D_3)==0)
  {
    digitalWrite(D_1_1, 1);
    digitalWrite(D_2, 1);
    flag2_1=1;
  }
  if (sostA2==1&&digitalRead(D_2)==0)
  {
    digitalWrite(D_1_1, 1);
    digitalWrite(D_3, 1);
    flag2_2=1;
  }

  if (sostA1==0)
  {
    digitalWrite(D_1, 0);
    flag1_1=0;
    flag1_2=0;
  }
  if (sostA2==0)
  {
    digitalWrite(D_1_1, 0);
    flag2_1=0;
    flag2_2=0;
  }

  if (flag1_1==0&&flag2_1==0)
    digitalWrite(D_2, 0);
  if (flag1_2==0&&flag2_2==0)
    digitalWrite(D_3, 0);
}







 

 

italius
Offline
Зарегистрирован: 19.12.2011

ДД

ООООООО! 

С первого вззгляда - практически все ОК!

Сейчас нужно отлучится с работы на пол-час и приду все проверю досконально в вариантах.

Ты талант!

С ув

Игорь

italius
Offline
Зарегистрирован: 19.12.2011

 ДД

Это вроде работает, пару раз подключал - без ошибок!

Ты мастер

С ув

Игорь

Сейчас поищу мелочи. Вроде все ОК!

italius
Offline
Зарегистрирован: 19.12.2011

 ДД LEVV2006

Вроде все проверил и сегодня, практически все работает как хотелось бы в этой части.

Огромное спасибо.

Скажите пжлст, есть ли желание попробовать написать следующую часть? Она идеентична этой же.

С ув

Игорь

Только в условии добавились доп компоненты (о разрешениях и запретах опишу позже)

int D_1=11;
int D_1_1=10;
int D_2=12;
int D_3=13;
//int D_4=9;
//int D_4_1=8;
int A_1=0;
int A_2=1;
int Millis1 = 0;
int Millis2 = 0;
int Millis3 = 0;
int Millis4 = 0;
int interval = 3000;
int flag1_1=0;
int flag1_2=0;
int flag2_1=0;
int flag2_2=0;
int sostA1=0;
int sostA2=0;
int analodA_1;
int analodA_2;
//int analodA_3;
//int analodA_4;
void setup() 
{                
  pinMode(D_1, OUTPUT);
  pinMode(D_1_1, OUTPUT);  
  pinMode(D_2, OUTPUT); 
  pinMode(D_3, OUTPUT);
  //pinMode(D_4, OUTPUT);
  //pinMode(D_4_1, OUTPUT); 
  Serial.begin(9600);
}
void loop() 
{
  analodA_1=analogRead(A_1);
  analodA_2=analogRead(A_2);

  if (analodA_1<450)
  {
    Millis1++;
    delay(1);
    if(Millis1==interval) 
    {
      Millis1=0;
      sostA1=-1; 
    }
  }
  if (analodA_1>=450&&analodA_1<=495)
    Millis1=0;




  if (analodA_1>550)
  {
    Millis2++;
    delay(1);
    if(Millis2==interval) 
    {
      Millis2=0;
      sostA1=1;
    }
  }

  if (analodA_1>=505&&analodA_1<=550)
    Millis2=0;


  if (analodA_2<450)
  {
    Millis3++;
    delay(1);
    if(Millis3==interval) 
    {
      Millis3=0;
      sostA2=-1;
    }
  }
  if (analodA_2>=450&&analodA_2<=495)
    Millis3=0;


  if (analodA_2>550)
  {
    Millis4++;
    delay(1);
    if(Millis4==interval) 
    {
      Millis4=0;
      sostA2=1;
    }
  }

  if (analodA_2>=505&&analodA_2<=550)
    Millis4=0;


  if ((analodA_1>490&&analodA_1<540&&digitalRead(D_2)==1)||(analodA_1>460&&analodA_1<510&&digitalRead(D_3)==1))
    sostA1=0;



  if ((analodA_2>490&&analodA_2<540&&digitalRead(D_2)==1)||(analodA_2>460&&analodA_2<510&&digitalRead(D_3)==1))
    sostA2=0;


  if (sostA1==-1&&digitalRead(D_3)==0)
  {
    digitalWrite(D_1, 1);
    digitalWrite(D_2, 1);
    flag1_1=1;
  }
  if (sostA1==1&&digitalRead(D_2)==0)
  {
    digitalWrite(D_1, 1);
    digitalWrite(D_3, 1);
    flag1_2=1;
  }
  if (sostA2==-1&&digitalRead(D_3)==0)
  {
    digitalWrite(D_1_1, 1);
    digitalWrite(D_2, 1);
    flag2_1=1;
  }
  if (sostA2==1&&digitalRead(D_2)==0)
  {
    digitalWrite(D_1_1, 1);
    digitalWrite(D_3, 1);
    flag2_2=1;
  }

  if (sostA1==0)
  {
    digitalWrite(D_1, 0);
    flag1_1=0;
    flag1_2=0;
  }
  if (sostA2==0)
  {
    digitalWrite(D_1_1, 0);
    flag2_1=0;
    flag2_2=0;
  }

  if (flag1_1==0&&flag2_1==0)
    digitalWrite(D_2, 0);
  if (flag1_2==0&&flag2_2==0)
    digitalWrite(D_3, 0);
}






 

 

LEVV2006
LEVV2006 аватар
Offline
Зарегистрирован: 15.04.2011

Я помогаю чем могу. Пока мой проект движется не очень быстро то есть время поковыряться и в вашем. Просто когда мой проект наберёт темп и я дойду до программной части то боюсь что я просто не смогу думать о двух проектах одновременно))) 

italius
Offline
Зарегистрирован: 19.12.2011

 ДД

Понимаю!

Огромное спасибо за помощь, может и я в дальнейшем смогу чем-то помочь.

Может скинете адрес почты (или мой betonotex2004@mail.ru), опишу более подробнее алгоритм с 4 датчиками и 6 исп устройствами.

Признателен за помощь

С ув

Игорь

LEVV2006
LEVV2006 аватар
Offline
Зарегистрирован: 15.04.2011

Моя почта. LEVVARRR@yandex.ru. Пишите. Я с радостью помогу чем смогу.